Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

В выпуске разобранны функции Split и Join. Так же начиная с этого выпуска в каждом выпуске - полезный совет по VB.


Информационный Канал Subscribe.Ru

"Подробный обзор функций, операторов и объектов Visual Basic6"
Выпуск 5

Привет всем кто подписался на эту рассылку! Ведущий рассылки - SBJoker

Сайт рассылки -  "Колизей"

Несколько слов от автора: 
1. Поздравляю всех Татьян и студентов с Татьяниным Днём!
2. Многие из Вас спрашивают почему в рассылке нет полосы "Вопросы и ответы". О необходимости создания этой полосы можно проголосовать здесь.
3. Голосование по поводу создания полосы "Советы по программированию на VB" закончилось. Большинством, единогласно было решено организовать эту полосу. В этом выпуске она уже есть.

Сегодня, в рассылке:

1. Функция Split
2. Функция Join
3. Совет выпуска


Функция Split 

Синтаксис: Split Expression, Delimeter, Limit, Compare
Параметры:
Expression
- строка или строковая переменная подлежащая разделению на строки.
Delimeter - одно- или много символьная строка-разделитель, по умолчанию равна символу "пробел".*
Limit - максимальный предел количества получаемых строк. По умолчанию равен -1, т.е. неограничен. *
Compare - метод сравнения строк при поиске в строке разделителей, может принимать 3 значения: vbBinaryCompare, vbTextCompare, vbDatabaseCompare (они включают соответственно: побайтовое сравнение, побуквенное (т.е. "А"="а") и на основе настроек базы данных). Побайтовое сравнение ищет полное совпадение слов, т.е. с различием регистра символов; побуквенное - ищет совпадения именно слов, т.е. без различия в регистре символов.
Возвращаемое значение:
массив строк, типа Variant, представляющий из себя набор строк полученных из строки Expression, путём "разрезания" её на части в местах нахождения строки Delimeter.
Пример:

Dim i as integer
Dim varLines as Variant
Dim strData as String


strData
= "Это довольно длинная строка для примера"
varLines = Split(strData, " ")
strData=""
For i=0 to UBound(varLines)
    strData=strData & vbCrLf & varLines(i)
Next i

MsgBox "Список слов полученных из строки strData: " & strData

Применение: у этой функции очень большой простор использования: работа с текстом, перенос предложений по словам и по слогам, чтение переменных из файла содержащего набор значений разделённых каким-либо разделителем, и.т.д.

Примечание: основным условием использования этой функции является сохранение результата её работы в переменной типа Variant, с последующим преобразованием её с массив. Тип Variant, может хранить в себе информацию любого типа, но расплатой за это является намного больший расход памяти, например переменная типа String использует 1 байт памяти для хранения 1 символа, а переменная типа Variant будет расходовать 16 + ( 1 байт на каждый символ.).

* Все параметры выделенные курсивом являются необязательными и их можно опускать, в этом случае им будет присвоено значение по умолчанию.


Функция Join

Синтаксис: Join( SourceArray, Delimeter )
Параметры:
SourceArray
- массив строк типа Variant или String.
Delimeter - разделитель который будет разграничивать отдельные строки из массива SourceArray, по умолчанию равен "пробелу".
Возвращаемое значение:
строка, полученная путём "склеивания" строк из массива SourceArray начиная с его начала до конца, вставляя в местах склейки строку Delimeter .
Пример:

Dim arLines(5) as String
Dim strData as String

arLines(0)="Это"
arLines(1)="довольно"
arLines(2)="длинная"
arLines(3)="строка"
arLines(4)="для"
arLines(5)="примера."

strData = Join(arLines, " ")
MsgBox "Предложение полученное из массива строк: " & strData

Применение: операции обратного преобразования массива строк в предложение, например для вывода массива в файл.


Совет выпуска:

Чтобы поменять значение переменной типа Boolean на противоположное, вместо:

If bSwitch=True Then bSwitch=False Else bSwitch=True

можно написать так:

bSwitch=Not bSwitch



Если есть какие-либо пожелания, предложения или неточности в рассылке пишите: sbjocker@orel.ru
Ведущий рассылки - SBJoker.

 


http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу

В избранное