Зараз обговорюють

"Тобто є ряд завдань, які взагалі без рекурсії не наважуються."  - це як розуміти? Перефразуй, будь ласка. 

виправив, йшлося про те що деякі завдання можна вирішити лише при використанні рекурсії

Спасибі дуже корисна стаття

А ще щось планується подібного найближчим часом?


Дякую за підтримку, радий що Вам сподобалось!

Так маю вже майже дороблений проект по управлінні Audio файлом, на заміну стандартним клавішам управління HTML5, але ще не встиг відтестувати програвання файлів з інтернету, поки лише локально працює

Надіюсь найближчим часом дороблю й закину

Рахунки

webmoneyeur - E385818210641
usd - Z304643423050
uah - U354026817492
rub - R301704373231easypay80002677bitcoin1F5HRGroUtEQW9HBNbeew8iKh5KQ8vJxzw

Зворотній зв'язок

Для покращення роботи сайту надсилайте свої зауваження:
mailЗауваження
mailПропозиція

Статистика

UkrNET - поисково-информационный ресурс

VBA : Функції для роботи із стрічковими даними

ASC()

ця функція дозволяє повернути числовий код для переданого символу (формату ASCII). Наприклад, x = ASC("Z") поверне x = 90. Цю функцію зручно використовувати для того, щоб визначити наступну або попередню букву. Зазвичай вона використовується разом з функцією Chr(), яка виробляє зворотну операцію (функцію наведено нижче). Наприклад, такий код в Excel дозволяє написати в діапазон з A1 по A32 послідовно літери українського алфавіту від А до Я і вивести їх числові представлення в такий же діапазон колонки B:

Sub test()
Dim i As Integer, myCharCode As Integer
    myCharCode = Asc("А")
    For i = 1 To 32
        ActiveWorkbook.ActiveSheet.Range("A" & i) = Chr(myCharCode + i - 1)
        ActiveWorkbook.ActiveSheet.Range("B" & i) = myCharCode + i - 1
    Next
End Sub

Також є ще 2 варіанти цієї функції:

AscB() - повертає тільки перший байт числового коду для символу

AscW() - повертає код для символу в кодуванні Unicode.


Chr()

дуже важлива функція. Повертає символ по його числовому коду. Крім того, що використовується в парі з функцією Asc(), без неї не обійтися ще в ситуації коли потрібно вивести службовий символ. Наприклад, нам потрібно ввести/вивести значення "Hello World" (в лапках). Лапки - це службовий символ, і спроба використовувати рядок виду

MsgBox (""Hello World"")

відразу призведе до синтаксичної помилки. Правильний синтаксичний запис буде записуватись наступним чином:

MsgBox (Chr(34) & "Hello World" & Chr(34))

Так як із функцією ASC є доступними ще 2 варіанти цієї функції ChrB() та ChrW() які працюють аналогічно таким же варіантам для функції ASC().


InStr() і InStrRev()

одна з найпопулярніших функцій. Дозволяє виявити в тілі строкової змінної послідовність символів і повернути її позицію. Якщо послідовність не розпізнається, то повертається 0.

InStr([Start], [String1], [String2], [Compare])

[Start] - Не обов'язкове. Числовий вираз, що задає початкову позицію для кожного пошуку. Якщо вираз опущено, пошук починається з позиції першого символу. Початковий індекс починається з 1

[String1] - Обов'язкове. Вираз String в якому проводиться пошук

[String2] - Обов'язкове. Вираз String який потрібно знайти

[Compare] - Не обов'язкове. Вказує тип порівняння рядків. Якщо Compare не заданий, параметр Option Compare визначає тип порівняння.

Compare набуває таких значень:

КонстантаЗначенняОписПримітка
vbBinaryCompare0Виконує двійкове порівнянняВ бінарному порівнянні бука "A" та "a" будуть мати різні кодові значення і функція буде шукати виключно велику - A
vbTextCompare1Виконує порівняння текстуВ текстовому порівнянні бука "A" та "a" будуть дорівнювати одна одній і функція поверне 1-шу знайдену

Наприклад нам потрібно знайти першу букву "o" в слові "Hello World":

x = InStr(1, "Hello World", "o", vbTextCompare)

Результатом буде: x = 5

Функція InStrRev записується наступним чином:

InStrRev([String1], [String2], [Start], [Compare])

[Start] - Не обов'язкове. Числовий вираз, що задає початкову позицію для кожного пошуку, починаючи з лівого краю рядка. Якщо вираз опущено, пошук починається з позиції -1, що означає початок пошуку з останньої позиції символу. Після цього рядок проглядається справа наліво.

Решта параментрів ідентичні як і у функції InStr

Наприклад нам потрібно знайти першу букву "o" в слові "Hello World", але починаючи перегляд стрічки зправа на ліво:

x = InStrRev("Hello World", "o", -1, vbTextCompare)

Результатом буде: x = 8, так як 8-та літера слова "Hello World" є першою буквою "а" відносно правого краю


Left(), Right(), Mid()

можливість взяти вказане вами кількість символів з існуючої строкової змінної зліва, справа або з середини відповідно.

Left

Наприклад нам потрібно лише 3 перших символи із рядка "Hello World"

x = Left("Hello World", 3)

Результатом буде: x = "Hel"

Right

або 3 останніх символи даного рядка

x = Right("Hello World", 3)

Результатом буде: x = "rld"

Mid

або 3 символи починаючи із 5-го

x = Mid("Hello World", 5, 3)

Результатом буде: x = "o W"


Len()

можливість отримати число символів в рядку. Часто використовується з циклами, операціями заміни і т.п.

Наприклад нам потрібно знайти кількість символів в рядку "Hello World"

x = Len("Hello World")

Результатом буде: x = 11


LCase() і UCase()

перевести рядок в нижній і верхній регістри відповідно. Часто використовується для підготовки значення до порівняння, коли при порівнянні регістр не важливий (прізвища, назви фірм, міст і т.п.).

Проведемо маніпуляції із рядком "Hello World"

LCase

x = LCase("Hello World")

Результатом буде: x = "hello world"

UCase

x = UCase("Hello World")

Результатом буде: x = "HELLO WORLD"


LTrim(), RTrim(), Trim()

можливість прибрати пробіли відповідно зліва, справа або і зліва, і справа.

LTrim

x = LTrim("   Hello World   ")

Результатом буде: x = "Hello World "

RTrim

x = RTrim("   Hello World   ")

Результатом буде: x = " Hello World"

Trim

x = Trim("   Hello World   ")

Результатом буде: x = "Hello World"


Replace()

можливість замінити в рядку одну послідовність символів на іншу.

Наприклад нам потрібно замінити слово "World" на "Country" в рядку "Hello World"

x = Replace("Hello World", "world", "Country", 1, -1, vbTextCompare)

Результатом буде: x = "Hello Country"


Space()

отримати рядок із зазначеного вами кількості прогалин

Додамо 3 пробіли перед рядком "Hello World"

x = Space(3) & "Hello World"

Результатом буде: x = " Hello World"


String()

отримати рядок із зазначеного вами кількості символів (які знову-таки вказуються вами). Зазвичай використовуються для форматування виводу спільно з функцією Len ().

x = String(3, "H")

Результатом буде: x = " HHH"


StrComp()

можливість порівняти два рядки.

StrComp([string1], [string2] [, compare ] )
[string1] і [string2] - рядки для порівняння один з одним. [compare] - Необов'язково. Це тип порівняння для виконання vbBinaryCompare (0) або vbTextCompare (1)
УмоваРезультат
[string1] = [string2]0
[string1] < [string2]-1
[string1] > [string2]1
[string1] = NULL або [string2] = NULLNULL

Наприклад порівняємо рядки рядки "Hello World" та "Hello"

x = StrComp("Hello World", "Hello")

Результатом буде: x = 1


StrConv()

можливість перетворити рядок (в Unicode і назад, в верхній і нижній регістр, зробити першу букву слів великою тощо).

StrConv([String], [Conversion], [LocaleID])

[String] Обов'язковий аргумент - рядковий вираз, яке слід перетворити

[Conversion] Обов'язковий аргумент - значення типу Integer, яка дорівнює загальній кількості констант, що вказують тип перетворення, яке слід виконати. Дивись нижче

[LocaleID] Необов'язковий аргумент - локальний ідентифікатор, якщо відрізняється відрізняється від системного ідентифікатора. За замовчуванням - локальний ідентифікатор

Константи, що задають коди допустимих перетворень рядки:

КонстантаЗначенняОпис
vbUpperCase1Перетворення рядка до верхнього регістру
vbLowerCase2Перетворення рядка до нижнього регістру
vbProperCase3Перетворення першої літери кожного слова в рядку в прописну
vbWide4Перетворення однобайтових символів в двобайтові. Стосується лише далекосхідним національним налаштувань
vbNarrow8Перетворення двобайтових символів в однобайтові. Стосується лише далекосхідним національним налаштувань
vbHiragana32Перетворення символів катакани в символи хіраґани. Стосується тільки до японської мови
vbUnicode64Перетворення рядка в Unicode за допомогою використовуваної за замовчуванням системної кодової сторінки
vbFromUnicode128Перетворення рядка з Unicode за допомогою використовуваної за замовчуванням системної кодової сторінки

StrReverse()

"перевернути" рядок, розмістивши її символи в зворотному порядку.

x = StrReverse("Hello World")

Результатом буде: x = "dlroW olleH"


view520like0dislike0 avatard_l4w clock 2016-06-08 03:35

Коментарі:



Для даної статті відсутні коментарі

Про нас

"Programmers World" розроблено з метою полегшення в освоєнні навичок програмування, та поширення матеріалів з сфери ІТ Українською мовою.

Кожен бажаючий може безкоштовно користуватися ресурсами сайту, щоб:

- Вивчати теоретичні аспекти мов програмування

- Переглядати практичне застосування теорії при виконанні різних міні проектів з відкритим кодом

- Розміщати свої завдання на форумі для допомоги в їх реалізації, або готового коду який може бути корисний іншим користувачам

- Спілкуватись з іншими користувачами та обмінюватись досвідом

Сайт функціонує на безопланій основі та ентузіазмі розробника, якщо Ви бажаєте долучитись до розвитку даного проекту то можете пожертвувати кошти на рахунки розміщені в блоці "Допомога сайту".

Сайт

Зареєстровані користувачі можуть скористатися системою діалогів, в профілі користувача, для отримання потрібної інформації. Написати!

Також Ви можете використати форми відправки Зауважень та Пропозицій.


Електронна пошта

Ви можете звертатись на нашу поштову скриньку site.programmersworld@gmail.com

www.000webhost.com