2 Операторы и функции обработки строковых данных Оператор Bin Bin [$]


Название2 Операторы и функции обработки строковых данных Оператор Bin Bin [$]
страница3/24
ТипДокументы
1   2   3   4   5   6   7   8   9   ...   24

© InterTrust Co, Тел. (095) 9567928

Lotus Domino R. 5: @-формулы, LotusScript, встроенные классы LotusScript и Java 245

Функция LenB

LenB ( { stringExpr | variantExpr | numericExpr | typeNarne } )

Аналогична функции Len, но всегда возвращает длину строки в байтах.

Пример. Длина строки из 8 символов в байтах.

Dim theString As String

theString$ = "alphabet"

Print LenB(theString$) ' Выводит 16

' Число байт, необходимых для хранения значения типа Single

Dim singleVar As Single

Print LenB (singleVar!) ' Выводит 4

Следует иметь в виду, что число байт в строке вычисляется по кодировке, используемой LotuScript для внутренней кодировки строк. Этой кодировкой является Unicode.

Функция LenBP

LenBP ( { stringExpr variantExpr numericExpr | typeName } )

Аналогична функции Len, но возвращает длину строки в байтах. При этом подсчет байт ведется по кодировке текущей платформы.

© Функция LenC

LenC ( stringExpr)

Только для систем письма в колонку (например, тайской)!

Возвращает длину строки, измеренную в колонках.

stringExpr - строковое выражение, содержащее колонки символов.

Результат имеет тип Integer.

LenC(Null) выдает ошибку. LenC(v), где v есть Empty, возвращает 0.

Оператор Mid

Mid[$] ( stringVar, start [, length ]) = stringExpr

Замещает часть строки или всю строку символами другой строки.

stringVar - переменная типа String или Variant, содержащая строковое значение, не может быть строковым литералом.

start - позиция первого символа в stringVar, с которого начинается замена.

length - число символов, извлекаемых из stringExpr для вставки.

stringExpr - строковое выражение. Символы из stringExpr замещают символы в stringVar.

Оператор Mid может изменить размер stringVar в байтах, если, например, stringExpr -строка символов в многобайтовой кодировке (LMBCS), а заменяемые символы строки в stringVar - в однобайтовой. Но длина строки в stringVar, измеренная в символах, всегда остается неизменной.

© InterTrust Со. Тел. (095) 9567928

246 Язык LotusScript

Оператор Mid использует из строки stringExpr столько символов, сколько указано
параметром length. Если необходимо использовать всю строку stringExpr целиком, то можно
указать значение length заведомо превышающее длину stringExpr, Того же результата можно
добится просто не указывая аргумента length. Если оказывается, что start + length превышает
длину stringVar, то используются не все символы stringExpr, а только необходимые для
заполнения в stringVar позиций с start до (start + length - 1).

Если номер позиции start превосходит длину строки stringVar, то выдается ошибка с кодом 5 - «Illegal function call».

Пример.

Dim string1 As.String, string2 As String

stringl$ = "ABCDEF"

string2$ = "12345" .

Mid$(stringl$, 2, 3) = string2$

Print. stringl$ ' Выводит A123EF

stringl$ = "ABCDEF"

Mid$(stringl$, 2, 10) = string2$

Print stringl$ ' Выводит А12345

stringl$ = "ABCDEF"

Mid$(stringl$, 2} = string2$

Print stringl$ ' Выводит А12345

stringl$ = "ABCDEF" . - '

Mid$(stringl$, 7} = string2$

' Ошибка «Illegal function call»

Функция Mid

Mid[$] ( expr , start [, length ] )

Возвращает подстроку указанной длины (в символах) из строки с определенной позиции (номер символа). Параметр expr - числовое или строковое выражение. LotusScript преобразует числовое выражение в строковое перед извлечением подстроки. Параметр start -позиция первого символа извлекаемой подстроки, отсчитываемая от первого левого символа исходной строки. Параметр length - число извлекаемых из исходной строки символов. Если аргумент length не указан, то возвращается подстрока строки expr с позиции start до конца строки.

Функция Mid возвращает значение типа Variant: DataType 8 (String), а функция Mid$ -типа String.

Пример.

Print Mid$("ABCDEF", 2, 3) ' Выводит BCD

Print Mid$("ABCDEF", 2) ' Выводит BCDEF

Оператор и функция MidB

Оператор и функция MidB выполняют те же операции что и функция Mid. Отличием является то, что MidB измеряет стартовую позицию и длину подстроки не в символах, а в байтах. Во внутреннем представлении LotusScript строки кодированы Unicode. В Unicode символы кодируются двумя байтами.Таким образом, использование оператора и функции MidB может приводить к непредсказуемым результатам.

Вместо MidB следует использовать либо Mid, либо MidBP.

© InterTrust Со. Тел. (095) 9567928

Lotus Domino R. 5: @-формулы, LotusScript, встроенные классы LotusScript и Java 247

Функция MidBP

MidBP[$] ( expr, start [, length ])

Возвращает подстроку указанной длины в байтах из строки, начиная с указанного байта. Подсчет байт ведется в кодировке текущей платформы.

expr - числовое или строковое выражение. LotusScript преобразует числовое выражение в строковое перед извлечением подстроки.

start - порядковый номер первого байта извлекаемой подстроки, отсчитываемый от начала исходной строки.

length - число извлекаемых из исходной строки байт.

Если параметр length не указан, то возвращается подстрока строки expr с позиции start до конца строки. Если позиция start превышает длину строки expr, то результатом будет пустая строка.

Функция МidBР возвращает значение типа Variant DataType 8 (String), а функция MidBP$ - типа String.

Функция производит посимвольное выравнивание результата. Это означает, что, если кодировка строки многобайтная и в результат попадает не целый код символа, а, например, один байт, то такой символ не включается в результат функции.

Пример.




Выводит БВГ Выводит БВГДЕ Выводит ><

© Функция MidC

MidC ( expr, off [, n ] )

Только для систем письма в колонку (например, тайской)!

Из указанной строки извлекает указанное количество колонок, начиная с колонки указанной по счету слева направо.

expr - строковое выражение, содержащее колонки символов.

off - позиция первой колонки извлекаемой подстроки, отсчитываемая от в исходной строке слева направо.

n - число извлекаемых из исходной строки колонок символов.

Если указанное смещение off превышает длину строки expr, то результатом функции будет пустая строка. Если n превышает длину остатка строки ехrр с позиции off, либо аргумент n не указан, возвращается весь остаток строки expr с позиции off целиком.

Функция InStr

InStr ( [ begin , ] string1 , string2 [, compMethod ] )

Возвращает номер позиции первого символа строки, заключенной внутри другой строки.

begin - опция, положительное целое числовое выражение. Эта опция определяет позицию внутри строки stringl, начиная с которой функция InStr ищет начало строки string2. Если

© InterTrust Co. Тел. (095) 9567928

248

Язык LotusScript

опция begin пропущена, ее значение по умолчанию равно 1 (первый символ — начало строки). Если указан аргумент compMethod, то должна быть указана и опция begin.

string 1 - строка, в которой функция InStr ищет строку string2.

string2 - строка, которую функция InStr ищет в строке string1.

compMethod - числовое выражение, задающее правило сравнения строк. Флаг может иметь следующие значения:

compMethod

Способ сравнения


О

С учетом регистра. С учетом «Pitch»


1

Без учета регистра. С учетом «Pitch»


4

С учетом регистра. Без учета «Pitch»


5

Без учета регистра. Без учета «Pitch»

Если аргумент compMethod не указан, то действуют установки оператора Option Compare, если таковой присутствует в текущем модуле. Подробнее о способах сравнения строк см. в описании оператора Option Compare на стр. 163.

Следующая таблица демонстрирует, каким образом функция InStr реагирует на возможные ситуации.

Условие

Возвращаемое значение

stringl - пустая строка ("")

0

string2 не найдена после начала stringl

0

начало string2 выходит за пределы stringl

0

string2 - пустая строка ("")

Значение begin. Если пропущен begin, InStr возвращает значение 1 .

Stringl -Null

Null

string2 -Null

Null

begin или compMethod - Null

Ошибка с кодом 94 «Invalid use of null»

Пример. Значение 5 (позиция первого символа строки LittleString от начала BigString), назначаемое переменной positionOfChar.

Dim big As String, little As String

Dim positionOfChar As Long

big$ = "abcdefghi"

little$ = "efg" positionOfChars = InStr(I, big$, little$)

Print positionOfChar& ' Выводит 5

© InterTrust Co. Тел. (095) 9567928

Lotus Domino R. 5: @,-формулы, LotusScript, встроенные классы LotusScript и Java 249

В случае, если позицию подстроки необходимо получить в байтах, следует воспользоваться функцией InStrB.

Функция InStrB

InStrB ([ begin , ] stringl , string2 )

Аналогична функции InStr, но в отличие от оной возвращает не позицию символа, а номер байта. При этом используется внутренняя кодировка строки в LotusScript (LotusScript для внутреннего кодирования строк использует Unicode).

Функция InStrB не учитывает кодировку текущей платформы. Для этой цели следует использовать функцию InStrBP.

Пример. Значение 9 - позиция, которую занимает первый байт littleStr от начала 'bigStr.

Dim bigStr As String, littleStr As String

Dim positionOfByte As Long

bigStr$ - "abcdefghi"

littleStr$ = "efg"

positionOfByte& = InStrB (1, bigStr$, LittleStr$)

Print positionOfByte& ' Выводит 9

Функция InStrBP

InStrB ([ begin , ] stringl , string2 )

Аналогична функциям InStr и InStrB, но в отличие от оных возвращает не позицию символа и не номер байта во внутренней кодировке LotusScript, а номер байта в кодировке текущей платформы.

Пример. Значение 9 - позиция, которую занимает первый байт littleStr от начала 'bigStr.

Dim bigStr As String, littleStr As String Dim positionOfByte As Long . . ,

bigStr$ = "abcdefghi"

littleStr$ = "efg" - • '

positionOfByte& = InStrB (1, bigStr$, littleStr$) " '" ' '

Print positionOfByte& ' Выводит 5 ' "

© Функция InStrC

InStrC ( off, stringl , string2 )

Только для систем письма в колонку (например, тайской)!

Для указанной строки возвращает позицию колонки, с которой начинается первое вхождение указанной подстроки.

off - положительное целое числовое выражение. Задает номер колонки, с которой начинается поиск.

stringl - строковое выражение, содержащее колонки символов; строка, в которой производится поиск.

stringl - строковое выражение, содержащее колонки символов; строка, вхождение которой отыскивается.

© InterTrust Co. Тел. (095) 9567928

г

250 Язык LotusScript

Функция Space

Space[$] ( numExpr)

Возвращает, строку, содержащую указанное количество пробелов. Параметр numExpr -числовое выражение, задающее необходимое число пробелов. Если оно содержит дробную часть, LotusScript округляет значение выражения до ближайшего целого. Функция Space возвращает значение типа Variant DataType 8 (String), а функция Space$ возвращает значение типа String.

Пример. Определяет строку из 4-х пробелов значением переменной smallTab.




Выводит Выводит

Функция Spc

Spc (numExpr)

Вставляет указанное количество пробелов в данные, выводимые операторами Print или Print #, начиная с текущей позиции. Параметр numExpr - числовое выражение, значение которого лежит в интервале от 0 до 32000 включительно.

Если для файла определена ширина (длина) выводимой строки (см. оператор Width на стр. 306), действие numExpr определяются следующими условиями:

• если значение numExpr меньше ширины, LotusScript выводит numExpr пробелов.

* если значение numExpr больше ширины, LotusScript выводит допустимое количество
пробелов, перенося "остаток" на следующие строки.

Если для файла длина выводимой строки не определена, функция Spc выводит все пробелы в одну строку.

Пример. Оператор Print # выводит в файл числа. При этом после каждого числа добавляется пробел. Также пробел вставляется перед числом, если оно неотрицательно. Мы намеренно добавляем в конец вывода еще один пробел - Spc(l). Вторая и четвертая строки начинаются с двух пробелов: первый пробел добавлен Spc(I), а второй является лидирующим пробелом перед выводимым числом (3 или 8). Во второй строке число 4 следует за тремя пробелами: первый пробел является концевым для «3», второй вставлен Spc(l), а третий является лидирующим для «4».

Open "SPC.TST" For Output As #1 Width #1, 10 For i=0 To 9

Print #1, i; Spc(1); Next i Close #1

' Содержимое полученного файла. Конец каждой строки намеренно ' обозначен символом «|» (в файле такого нет) '012|

3 4 | '567|

8 9 |

InterTrust Co. Тел. (095) 9567928

Lotus Domino R. 5: @-формулы, LotusScript, встроенные классы LotusScript и Java Функция Str

251

Str[$] (numExpr)

Возвращает строковое представление числа. Параметр numExpr - числовое выражение.

Функция Str возвращает значение типа Variant DataType 8 (String), а функция Str$ - типа String.

Когда LotusScript представляет в виде значения типа String неотрицательное число, впереди добавляется пробел.

Пример. Присваивает строковые значения 123 и -123 переменным string1 и string2, соответственно. Для положительного значения добавляется лидирующий пробел.

Dim stringl As String, string2 As String, string3$
stringl$ = Str$(123) ' Присваивает " 123"

string2$ = Str$(-123) ' Присваивает "-123"

string3$ = Str$(0) ' Присваивает " О"

Print string2$; stringl$; string3$ ' Выводит: -123 123 0
1   2   3   4   5   6   7   8   9   ...   24

Похожие:

2 Операторы и функции обработки строковых данных Оператор Bin Bin [$] iconПрактическая работа №11
В excel имеются средства для обработки данных, организованных по принципу баз данных – функции списка, основные операции которых...

2 Операторы и функции обработки строковых данных Оператор Bin Bin [$] iconГау «мфц рс(Я)» от 22. 01. 2014 г. №12/1 политика в области обработки...
Республике Саха (Якутия)» (далее – гау «мфц рс(Я)» или Оператор) считает важнейшими своими задачами соблюдение принципов законности,...

2 Операторы и функции обработки строковых данных Оператор Bin Bin [$] iconИнструкция по обработке персональных данных без использования средств...
Положения об особенностях обработки персональных данных, осуществляемой без использования средств автоматизации и устанавливает порядок...

2 Операторы и функции обработки строковых данных Оператор Bin Bin [$] iconРегламент исполнения государственной функции «Ведение реестра операторов,...
Рриториальных органов, а также порядок взаимодействия Роскомнадзора и его территориальных органов с операторами, осуществляющими...

2 Операторы и функции обработки строковых данных Оператор Bin Bin [$] iconСогласовано
Правительства Российской Федерации от 15. 09. 2008 №687 «Об утверждении Положения об особенностях обработки персональных данных,...

2 Операторы и функции обработки строковых данных Оператор Bin Bin [$] iconПолитика в области обработки и защиты персональных данных в Сельской...
Категории обрабатываемых персональных данных, источники их получения, сроки обработки и хранения. 3

2 Операторы и функции обработки строковых данных Оператор Bin Bin [$] iconУтверждено распоряжением Администрации Комсомольского района
Постановлением Правительства Российской Федерации от 15. 09. 2008 №687 «Об утверждении Положения об особенностях обработки персональных...

2 Операторы и функции обработки строковых данных Оператор Bin Bin [$] iconМбоу «Конарская сош» общие положения
Постановлением Правительства Российской Федерации от 15. 09. 2008 №687 «Об утверждении Положения об особенностях обработки персональных...

2 Операторы и функции обработки строковых данных Оператор Bin Bin [$] iconАо до «дюсш «Асамат» Цивильского района чр общие положения
Постановлением Правительства Российской Федерации от 15. 09. 2008 №687 «Об утверждении Положения об особенностях обработки персональных...

2 Операторы и функции обработки строковых данных Оператор Bin Bin [$] iconПоложение о порядке обработки и защиты персональных данных в администрации...
Ии администрации сельского поселения (Н. П. Свистуновой) довести под роспись до сотрудников администрации сельского поселения, обязанности...

Вы можете разместить ссылку на наш сайт:


Все бланки и формы на filling-form.ru




При копировании материала укажите ссылку © 2019
контакты
filling-form.ru

Поиск