Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
_Delphi_1курс лекции / Пр 4 Функции обработки строк .doc
Скачиваний:
47
Добавлен:
23.03.2015
Размер:
80.38 Кб
Скачать

Функции обработки строк 7

Функции обработки строк Функции обработки строк с нулевым символом в конце

AnsiStrIComp(Strl, Str2:PChar): Integer

Сравнивает две строки Strl и Str2 без учета регистра.

Возвращает значение < 0, если Strl < Str2, 0, еслиStrl = Str2, и > 0, еслиStrl > Str2. Применима к символам кириллицы.

AnsiStrLIComp(Strl, Str2: PChar; MaxLen: Cardinal): Integer

Сравнивает до MaxLen символов двух строкStrl и Str2 без учета регистра.

Возвращает значение < 0, если Strl < Str2, 0, еслиStrl = Str2, и> 0, если

Strl > Str2. Применима к символам кириллицы.

AnsiStrLower(Str: PChar): PChar

Приводит символы строки Str к нижнему регистру и возвращает указатель на Str.

Может работать с символами кириллицы.

AnsiStrUpper(Str: PChar): PChar

Приводит символы строки Str к верхнему регистру и возвращает указатель на Str.

Может работать с символами кириллицы.

StrAlloc(Size: Cardinal): РСЬаг

Размещает буфер символов заданного размера Size (число символов — Size - 1)

в динамически распределяемой памяти.

StrBufSize(Str: PChar): Cardinal

Возвращает размер буфера символов (включая нулевой в конце), размещенного

функциями StrAlloc или StrNew.

StrCat(Dcst, Source: PChar): PChar

Склеивает две строки, добавляя строку Source в конецDest. Возвращает указатель на результирующую строку. Проверка длины не проводится.

StrComp(Strl, Str2: PChar): Integer

Сравнивает две строки Strl и Str2 с учетом регистра. Возвращает значение

< 0, если Strl < Str2, 0, еслиStrl = Str2, и > 0, еслиStrl > Str2.

StrCopy(Dest, Source: PChar): PChar

Копирует строку Source в Dest и возвращаетDest.

StrDispose(Str: PChar)

Освобождает память от буфера символов Str, динамически размещенного процедурами StrAlloc илиStrNew. Процедура сохраняется только для обратной совместимости.

StrECopy(Dest, Source: PChar): PChar

Копирует строку Source в Dest и возвращает указатель на конец строкиDest, т.е. на нулевой символ в ее конце.

StrEnd(Str: PChar): PChar

Возвращает указатель на конец строки Str, т.е. на нулевой символ в ее конце.

StrFmt(Buffer, Format: PChar; const Args: array of const): PChar

Форматирует одно или более значений, заданных параметром Args, с помощью строки форматированияFormat в строкуBuffer и возвращает указатель наBuffer. Превышение размера буфераBuffer не контролируется.

StrIComp(Strl, Str2:PChar): Integer

Сравнивает две строки Strl и Str2 без учета регистра. Возвращает значение< О,

если Strl < Str2, 0, если Strl = Str2, и> 0, еслиStrl > Str2. He применима

к символам кириллицы в отношении игнорирования регистра (см. AnsiStrlComp).

StringToWideChar(const Source: string; Dest: PWideChar; DestSize: Integer):

PWideChar

Преобразует до DestSize -1 символов строкиANSISource в строкуUnicodeDest размеромDestSize с нулевым конечным символом. Возвращает указатель на Dest.

StrLCat(Dest, Source: PChar; MaxLen: Cardinal): PChar

Склеивает две строки, добавляя не более MaxLen — StrLen(Dest) символовиз Source в конецDest и возвращаяDest. Для определения значенияMaxLen можно использовать функциюSizeOf.

StrLComp(Strl, Stt2: PChar; MaxLen: Cardinal): Integer

Сравнивает до MaxLen символов двух строкStrl и Str2 с учетом регистра.

Возвращает значение < 0, если Strl < Str2, 0, еслиStrl = Str2, и > 0, еслиStrl > Str2.

StrLCopy(Dest, Source: PChar; MaxLen: Cardinal): PChar

Копирует до MaxLen символов изSource в Dest и возвращаетDest. Для определения значенияMaxLen можно использовать функциюSizeOf.

StrLen(Str: PChar): Cardinal

Возвращает число символов в строке Str, не учитывая конечного нулевого символа.

StrLFmt(Buffer: PChar; MaxLen: Cardinal; Format: PChar; const Args: array of const): PChar

Форматирует одно или более значений, заданных параметром Args, с помощью

строки форматирования Format в строкуBuffer и возвращает указатель наBuffer. Контролируется длина результирующей строки: не болееMaxLen.

StrLIComp(Strl, Str2: PChar; MaxLen: Cardinal): Integer

Сравнивает до MaxLen символов двух строкStrl и Str2 без учета регистра.

Возвращает значение < 0, если Strl < Str2, 0, еслиStrl = Str2, и > 0, еслиStrl > Str2. He применима к символам кириллицы в отношении игнорирования регистра (см.AnsiStrLIComp).

StrLower(Str: PChar): PChar

Приводит символы строки Str к нижнему регистру и возвращает указатель на

Str. На символы кириллицы не действует (см. AnsiStrLower).

StrMove(Pest, Source: PChar; Count: Cardinal): PChar

Копирует ровно Count символов изSource в Dest и возвращаетDest. Dest

и Source могут перекрывать друг друга в памяти.

StrNew(Str: PChar): PChar

Выделяет место для строки Str в динамически распределяемой области памяти, копирует символы строки и возвращает указатель на новую строку.

StrPCopy(Dest: PChar; const Source: string): PChar

Копирует строку Source в стиле Pascal в строкуDest с нулевым символом в конце и возвращаетDest. РазмерDest должен по крайней мере на 1 превышать длину строкиSource.

StrPLCopy(Dest: PChar; const Source: string; MaxLen: Cardinal); PChar

Копирует до MaxLen символов строкиSource в стиле Pascal в строкуDest с нулевым символом в конце и возвращаетDest.

StrPos(Strl, Str2: PChar): PChar

Возвращает указатель на первое вхождение подстроки Str2 в строкуStrl. ЕслиStr2нет вStrl, возвращаетсяnil.

StrRScan(Str: PChar; Chr: Char): PChar

Возвращает указатель на последнее вхождение символа Chr в строку Str. Если Chr не входит в Str, возвращаетсяnil.

StrScan(Str: PChar; Chr: Char): PChar

Возвращает указатель на первое вхождение символа Chr в строку Str. Если Chr не входит в Str, возвращается nil.

StrUpper(Str: PChar): PChar

Приводит символы строки Str к верхнему регистру и возвращает указатель на

Str. На символы кириллицы не действует (см. AnsiStrllpper).

WideCharLenToString{Source: PWideChar; SourceLen: Integer): string

Преобразует SourceLen символов строки UnicodeSource с нулевым конечным символом в строку ANSI. Использует при преобразовании функциюWideCharToMultiByte API Win32.

WideCharToString(Source: PWideCnar): string;

Преобразует строку Unicode Source с нулевым конечным символом в строку

ANSI. Использует при преобразовании функцию WideCharToMultiByte API

Win32.

Комментарии

Все функции, входящие в приведенную выше таблицу, имеют многобайтные аналоги с теми же именами, но начинающимися с Ansi. Например, AnsiStrPos – многобайтный аналогStrPos. Из этих функций в таблице приведено только несколько, необходимых для работы с символами кириллицы. Дело в том, что функции без приставки Ansi не разбираются в соответствии символов кириллицы в верхнем и нижнем регистрах.