Скачать 4.38 Mb.
|
© 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 реагирует на возможные ситуации.
Пример. Значение 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 |
В excel имеются средства для обработки данных, организованных по принципу баз данных – функции списка, основные операции которых... | Республике Саха (Якутия)» (далее – гау «мфц рс(Я)» или Оператор) считает важнейшими своими задачами соблюдение принципов законности,... | ||
Положения об особенностях обработки персональных данных, осуществляемой без использования средств автоматизации и устанавливает порядок... | Рриториальных органов, а также порядок взаимодействия Роскомнадзора и его территориальных органов с операторами, осуществляющими... | ||
Правительства Российской Федерации от 15. 09. 2008 №687 «Об утверждении Положения об особенностях обработки персональных данных,... | Категории обрабатываемых персональных данных, источники их получения, сроки обработки и хранения. 3 | ||
Постановлением Правительства Российской Федерации от 15. 09. 2008 №687 «Об утверждении Положения об особенностях обработки персональных... | Постановлением Правительства Российской Федерации от 15. 09. 2008 №687 «Об утверждении Положения об особенностях обработки персональных... | ||
Постановлением Правительства Российской Федерации от 15. 09. 2008 №687 «Об утверждении Положения об особенностях обработки персональных... | Ии администрации сельского поселения (Н. П. Свистуновой) довести под роспись до сотрудников администрации сельского поселения, обязанности... |
Поиск Главная страница   Заполнение бланков   Бланки   Договоры   Документы    |