7. Работа со строками



Автор: WildCat

Строка - это такая переменная, которая хранит в себе последовательность символов. Она используется для ввода/вывода текста или длинных чисел. Строка объявляется так:

Dim Message As String * 10

Переменная Message может хранить до 10 символов. Каждый символ занимает один байт. BASCOM добавляет дополнительный байт, обозначающий конец строки. Максимальная длина строки таким образом составляет 254 символа.

В BASCOM есть большой арсенал функций для работы со строками:

Bin Переводит число в его двоичное представление.

Dim Portstate As String * 8
PortD = 152
Portstate = Bin(PortD)
'Portstate = "10011000"

Format Форматирует входную строку согласно некоторому формату.

Dim Vxod As String * 6
Dim Vyxod As String * 8
Vxod = "38.869"
Vyxod = Format(Vxod, "+000.00")
'Vyxod = "+038.86"


Fusing Форматирует переменную типа Single согласно формату строки, при необходимости выполняет округление.

Dim Xval as Single
Dim Pstring as String*4
Xval = 16.379
Pstring = Fusing(Xval, "format")
Pstring = "16.4"

Hex Переводит число в его шестнадцатеричное представление.

Dim Hval as Integer
Hval = 12345
Pstring = Hex(Hval)
'Pstring = "3039"

Hexval Переводит строку с шестнадцатеричным числом в десятичное число.

Dim Dval as Integer
Dim Instring as String*2
Instring = "10"
Dval = Hexval(Instring)
'Dval = 16

Instr Возвращает положение подстроки в строке.

Dim Complstring as String*13
Dim Substring as String*6
Dim Pval as Integer
Complstring = "bascom course"
Substring = "course"
Pval = Instr(Complstring, Substring)
'Pval = 8

Lcase Обращает все символы строки в нижний регистр.

Dim Instring as String*13
Dim Lowstring as String*13
Instring = "Bascom Course"
Lowstring = Lcase(Instring)
'Lowstring = "bascom course"


Left Возвращает несколько символов с начала строки.

Dim Instring as String*13
Dim Leftstring as String*3
Dim Pval as Integer
Instring = "Bascom Cursus"
Pval = 3
Leftstring = Left(Instring, Pval)
'Leftstring = "Bas"

Len Возвращает длину строки.

Dim Instring as String*20
Dim Lval as Integer
Instring = "Bascom tasks"
Lval = Len(Instring)
'Lval = 12

Ltrim Удаляет пробелы в начале строки.

Dim Instring as String*10
Dim Pstring as String*10
Instring = " course"
Pstring = Ltrim(Instring)
Pstring = "course"

Mid Возвращает часть из середины строки.

Dim Instring as String*13
Dim Pstring as String*3
Dim Sval as Integer
Dim Nval as Integer
Instring = "Bascom Course"
Sval = 4
Nval = 3
Pstring = Mid(Instring, Sval, Nval)
'Pstring = "com"

Mid также можно использовать для замещения части строки другой строкой.

Dim Instring as String*13
Dim Pstring as String*3
Instring = "Bascom is not easy"
Pstring = "very"
Sval = 10
Pval = 4
Mid(Pstring, Sval, Nval) = Instring
'Instring = "Bascom is very easy"

Right Возвращает несколько символов с конца строки.

Dim Instring as String*13
Dim Rightstring as String*3
Dim Pval as Integer
Instring = "Bascom Course"
Pval = 3
Rightstring = Right(Instring, Nval)
'Rightstring = "rse"

Rtrim Удаляет пробелы в конце строки.

Dim Instring as String*10
Dim Pstring as String*10
Instring = " course "
Pstring = Rtrim(Instring)
'Pstring = " course

Space Создаёт строку, состоящую из пробелов. Удобно при форматировании текста и организации бегущей строки на ЖК дисплее.

Dim Pstring as String*10
Dim Nval as Integer
Nval = 4
Pstring = Space(Nval)
'Pstring = " "

Str Преобразует число в строковое значение.

Dim Pstring as String*10
Dim Varval as Integer
Varval = 15436
Pstring = Str(Varval)
'Pstring = "15436"

String Возвращает строку из нескольких символов указанного ASCII кода.

Dim Pstring as String*10
Dim Nchar as Integer
Dim Charcode as Byte
Nchar = 6
Charcode = 88
Pstring = String(Nchar, Charcode)
'Pstring = "XXXXX"

Trim Удаляет пробелы в начале и в конце строки.

Dim Instring as String*10
Dim Pstring as String*10
Instring = " course "
Pstring = Trim(Instring)
'Pstring = "course"

Ucase Обращает все символы строки в верхний регистр.

Dim Instring as String*13
Dim Upstring as String*13
Instring = "Bascom Course"
Upstring = Ucase(Instring)
'Upstring = "BASCOM COURSE"

Val Превращает строку в число.

Dim Instring as String*10
Dim Varval as Integer
Instring = " 781"
Varval = Val(Instring)
'Varval = 781



DECADALAB ALFA