Строковые функции


VAL(текст$)
Пояснение
Преобразует строковую переменную в числовую.
Примеры
** Преобразование строковой переменной mystring$ в числовую.
mystring$='1.222'
RetVal=VAL(mystring$)


** Преобразование строковых переменных и сложение результата.
mystring_A$='20'
mystring_B$='10'
RetVal=VAL(mystring_A$)+VAL(mystring_B$)
Дополнительная информация
Для дополнительной информации о VAL смотрите раздел функций, связанных с переменными.



CHAR(число)
Пояснение
Преобразует числовую переменную в строковую.

Этот тип преобразования применяется наиболее часто. Вот пример использования строки с данными, полученными из числовой переменной:
Пример
NumOfYears=36
UserAge$=CHAR(NumOfYears)+' лет'
Message("Нашему пользователю ", "UserAge$")

Результат появится в окне сообщения:

Нашему пользователю 36 лет
Дополнительная информация
Для дополнительной информации о CHAR смотрите раздел функций, связанных с переменными.



CHR(число)
Пояснение
Возвращает из таблицы ASCII символ с указанным порядковым номером.

Полная таблица ASCII представлена здесь.
Примеры
string$=CHR(169)+' Mediachance 2006'
LoadText("Text","string$")

Результат отобразится в текстовом объекте:

© Mediachance 2006

string$='Первая строка'+CHR(13)+CHR(10)+'Вторая строка'
LoadText("Text","string$")


Результат отобразится в текстовом объекте в две строчки:

Первая строка
Вторая строка



ORD(символ$)
Пояснение
Возвращает порядковый номер указанного символа из таблицы ASCII.

Полная таблица ASCII представлена здесь.
Пример
character$='#'
RetVal=ORD(character$)

Результатом этого кода будет число 35.



LEN(строка$)
Пояснение
Возвращает длину указанной строки.
Пример
LoadText("string$","C:\Test.txt")
RetVal=LEN(string$)


Результатом этого кода будет длина загруженного файла.



LOW(строка$) / UPP(строка$)
Пояснение
Возвращает строку, содержащую тот же текст, что и переменная строка$, но все символы строки преобразуются в нижний (LOW) или верхний (UPP) регистр.
Примеры
string$='ДаНный ТеКСт бУдеТ наПечАТаН в НижНеМ реГисТРе'
RetString$=LOW(string$)


Результатом этого кода будет текст в нижнем регистре:

данный текст будет напечатан в нижнем регистре

string$='ДаНный ТеКСт бУдеТ наПечАТаН в ВеРХнеМ реГисТРе'
RetString$=UPP(string$)


Результатом этого кода будет текст в верхнем регистре:

ДАННЫЙ ТЕКСТ БУДЕТ НАПЕЧАТАН В ВЕРХНЕМ РЕГИСТРЕ



POS(подстрока$,строка$)
Пояснение
Ищет в строке определенную подстроку и возвращает целое значение (начиная с 1), которое является номером первого символа подстроки в заданной строке.
Если подстрока не найдена, то функция POS возвращает нулевое значение.
Пример
string$='Удачного дня!'
substring$='дня'
RetVal=POS(substring$, string$)

Результатом этого кода будет число 10.
Дополнительная информация
Поскольку функция POS чувствительна к регистру (как, впрочем, и другие строковые функции), мы рекомендуем преобразовать исходную строку в верхний или нижний регистр перед тем, как применять функцию POS.

string$='Удачного дня!'
substring$='удачного'
string$=LOW(string$)
RetVal=POS(substring$, string$)

Если вы не преобразуете исходную строку string$ в нижний регистр, то функция POS вернет 0, потому что выражение 'Удачного' не равно выражению 'удачного'. После преобразования строки в нижний регистр, функция вернет значение 1.



NOL(ИмяФайла$)
Пояснение
Эта функция возвращает число строк указанного файла. Если файл не существует, функция NOL возвращает нулевое значение.
Пример
OpenFile("Text Files (*.txt)|*.txt|All Files|*.*|","*.txt")
If (OpenFile$<>'') Then
  RetVal=NOL(OpenFile$)
End

Результатом этого кода будет число строк выбранного файла. Если никакой файл не будет выбран, то функция NOL использоваться не будет.



StrCopy(Строка$,Номер,Количество)
Пояснение
Копирует часть строки длиной, равной параметру Количество, начиная с символа, определяемого параметром Номер.
Если параметр Номер больше, чем длина строки, то функция вернет пустую строку.
Если параметр Количество превышает максимально возможное число символов (Количество>ДлинаСтроки-Номер), то функция скопирует часть строки, начиная с символа, определяемого параметром Номер и заканчивая последним символом.
Примеры
string$='Удачного дня!'
RetString$=StrCopy(string$,1,8)


Результатом этого кода будет следующий текст:

Удачного

Следующий пример покажет вам, как с помощью функции StrCopy сделать простую анимацию текста. Просто поместите этот код в скрипт кнопки и добавьте в проект текстовый объект.

string$='Удачного дня!'
** Определение числа символов
count=LEN(string$)
** Создание цикла от 1 до числа символов
For i=1 To count
  ** Копирование одного символа
  RetString$=StrCopy(string$,i,1)
  ** Пауза
  Pause("100")
  ** Присоединение букв (анимационный эффект)
  newstring$=newstring$+RetString$
  ** Загрузка полученной строки в текстовый объект
  LoadText("Text","newstring$")
  Refresh("")
Next i



StrDel(Строка$,Номер,Количество)
Пояснение
Удаляет часть строки длиной, равной параметру Количество, начиная с символа, определяемого параметром Номер.
Если параметр Номер больше, чем длина строки, то ни один символ не будет удален.
Если параметр Количество превышает максимально возможное число символов (Количество>ДлинаСтроки-Номер), то функция удалит часть строки, начиная с символа, определяемого параметром Номер и заканчивая последним символом.
Примеры
string$='Удачного дня!'
RetString$=StrDel(string$,1,9)


Результатом этого кода будет следующий текст:

дня!

Следующий пример покажет вам, как с помощью функции StrDel разделить значения полного объема памяти и объема свободной памяти, полученные с помощью функции GetMemory в виде одной строки.

RetMem$=GetMemory()
separator$='/'
** Выделение полного объема памяти
n=POS(separator$,RetMem$)-1
TotalMemory$=StrCopy(RetMem$,1,n)
n=n+1
** Выделение свободной памяти
FreeMemory$=StrDel(RetMem$,1,n)



StrIns(ИсходнаяСтрока$,ДопСтрока$,Номер)
Пояснение
Вставляет содержимое переменной ДопСтрока$ в переменную ИсходнаяСтрока$ перед символом, порядковый номер которого определяется параметром Номер.
Пример
SourceString$='Удачного дня!'
DestString$=', Чак'
count=LEN(SourceString$)
RetString$=StrIns(SourceString$,DestString$,count)


Результатом этого кода будет следующий текст:

Удачного дня, Чак!



StrGet(Строка$,Номер)
Пояснение
Возвращает i-ый символ указанной строки.
Пример
string$='Удачного дня!'
count=LEN(string$)
RetString$=StrGet(string$,count)

Результатом этого кода будет один символ:

!



StrSet(Строка$,Номер,C$)
Пояснение
Заменяет i-ый символ указанной строки на значение переменной C$.
Пример
string$='Удачного дня!'
count=LEN(string$)
c$='!!!'
RetString$=StrSet(string$,count,c$)

Результатом этого кода будет следующий текст:

Удачного дня!!!



StrOfChar(C$,i)
Пояснение
Возвращает строку из символов C$, скопированных i раз подряд.
Примеры
c$='#'
RetString$=StrOfChar(c$,5)

Результатом этого кода будет строка:

#####

Для получения дополнительных символов из таблицы ASCII используйте функцию CHR.

c$=CHR(177)
RetString$=StrOfChar(c$,5)

Результатом этого кода будет строка:

±±±±±



StrChange(Строка$,Найти$,Заменить$)
Пояснение
Ищет в указанной строке подстроку Найти$, и заменяет ее подстрокой Заменить$. Возвращает измененную строку.
Пример
string$='Властелин Колец'
FromString$='Колец'
ToString$='Пива'
RetString$=StrChange(string$,FromString$,ToString$)

Результатом этого кода будет следующий текст:

Властелин Пива



StrToFile(ИмяФайла$,Строка$,Дополнить,НоваяСтрока)
Пояснение
Сохраняет содержимое переменной Строка$ в указанный файл. В случае успешного сохранения возвращает 1, иначе возвращает 0.
Если параметр Дополнить равен TRUE (или 1), и указанный файл не существует, то будет создан новый файл.
Если параметр Дополнить равен TRUE (или 1), и указанный файл существует, то содержимое переменной Строка$ будет добавлено после последнего символа в файле.
Если параметры НоваяСтрока и Дополнить равны TRUE (или 1), то указанная строка будет добавлена в файл.
Если параметры НоваяСтрока и Дополнить равны FALSE (или 0), то указанная строка будет сохранена в новом файле или будет перезаписан существующий файл.
Примеры
file$='C:\test.txt'
string$='Этот текст будет добавлен в текстовый файл.'
RetVal=StrToFile(file$,string$,TRUE,FALSE)

Содержимое переменной string$ будет сохранено в файле test.txt

file$='C:\test.txt'
For i=1 To 10
  string$='Строка '+CHAR(i)
  RetVal=StrToFile(file$,string$,TRUE,TRUE)
Next i

Десять строк (Строка 1...Строка 10) будут сохранены в файле test.txt



StrToLine(ИмяФайла$,Строка$,Номер,ПоверхСтроки)
Пояснение
Добавляет строку в определенное место текстового файла. В случае успеха возвращает 1, иначе возвращает 0.

ИмяФайла$ - определяет путь к текстовому (не двоичному!) файлу.
Строка$ - строка, добавляемая в файл.
Номер - порядковый номер строки, в которую будет добавлен текст.
ПоверхСтроки - если этот параметр равен TRUE, то исходная строка в файле будет удалена и на ее место вставлена Строка$, если FALSE, то замена будет осуществлена со сдвигом исходной и последующих строк на одну позицию вниз.

Примеры
file$='C:\test.txt'
string$='Этот текст будет добавлен в текстовый файл.'
/* Добавляет содержимое переменной string$ в пятую строку текстового файла test.txt и сдвигает остальные строки вниз */
RetVal=StrToLine(file$,string$,5,FALSE)

/* Заменяет пятую строку текстового файла text$ на содержимое переменной string$ */
RetVal=StrToLine(file$,string$,5,TRUE)




StrFromFile(ИмяФайла$,НомерСтроки,ЧислоСтрок)
Пояснение
Загружает содержимое указанного файла (или строку из файла) в строковую переменную. НомерСтроки показывает, с какой строки начнет загружаться файл, ЧислоСтрок определяет количество загружаемых строк. Если НомерСтроки равен -1, то загружается весь файл. Если при этом ЧислоСтрок>0, то загрузка файла начинается со строки, номер которой равен значению этого параметра.
Пример
file$='C:\test.txt'
FromLine=1
NumOfLines=10
RetString$=StrFromFile(file$,FromLine,NumOfLines)

Первые десять строк файла test.txt будут присвоены переменной RetString$.



ExtractExt(Путь$)
ExtractName(Путь$)
ExtractDir(Путь$)
ExtractDrive(Путь$)
Пояснение
ExtractExt(Путь$)
Определяет расширение имени файла, содержащееся в указанном пути к файлу.

ExtractDir(Путь$)
Определяет последовательность имен директорий, содержащуюся в указанном пути к файлу.

ExtractName(Путь$)
Определяет имя файла, содержащееся в указанном пути к файлу.

ExtractDrive(Путь$)
Определяет букву диска, содержащуюся в указанном пути к файлу.
Примеры
Path$='C:\TestDir\test.txt'
RetExt$=ExtractExt(Path$)

Полученное значение будет равно: .txt

RetDir$=ExtractDir(Path$)

Полученное значение будет равно: \TestDir\

RetName$=ExtractName(Path$)

Полученное значение будет равно: test

RetDrive$=ExtractDrive(Path$)

Полученное значение будет равно: C:


MMB Программирование без границ :: dgilmour, перевод на русский язык, 2006 :: Все права защищены :: www.mmbscript.ru