Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Строковый тип данных.doc
Скачиваний:
25
Добавлен:
12.04.2015
Размер:
1.05 Mб
Скачать

Процедуры и функции для работы со строками

Function AnsiLowerCase (const S: String): String;

Возвращает исходную строку S, в которой все заглавные буквы заменены на строчные в соответствии с национальной кодировкой Windows (т.е. с учетом кириллицы).

Function AnsiUpperCase (const S: String): String;

Возвращает исходную строку S, в которой все строчные буквы заменены на заглавные в соответствии с национальной кодировкой Windows.

Function ConCat (S1 [, S2, …,Sn]: String): String;

Возвращает строку, представляющую собой сцепление строк параметров S1, S2 … Sn.

Function Copy (St: String; Index, Count: Integer);

Копирует из строки St Count символов начиная с символа с номером Index.

Procedure Delete (St: String; Index, Count: Integer);

Удаляет Count символов из строки St начиная с символа с номера Index.

Procedure Insert (SubSt: String; St, Index: Integer);

Вставляет подстроку SubSt в строку St начиная с символа с номером Index.

Function Length (St: String): Integer;

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

Function LowerCase (const S: String): String;

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

Procedure OleStrToStrVar (Source: PwideChar; var Dest: String);

Копирует «широкую» (двухбайтную строку в обычную строку Object Pascal.

Function Pos (SubSt, St: String): Integer;

Отыскивает в строке St первое вхождение подстроки SubSt и возвращает номер позиции, с которой она начинается. Если подстрока не найдена, возвращается ноль.

Procedure SetLenght (St: String; NewLenght: Integer);

Устанавливает новую (меньшую) длину NewLenght строки St. Если NewLenght больше текущей длины строки, обращение к SetLenght игнорируется.

Function StringOfChar (Ch: Char; Count: Integer): String;

Создает строку, состоящую из Count раз повторенного символа Ch.

Function StringToOleStr (const Source: String): PWideChar;

Копирует обычную строку в двухбайтную.

Function StringToWideChar (const Source: String; Dest: PWideChar; DestSize: Integer): PWideChar;

Преобразует обычную строку в строку с символами UNICODE.

Function UpperCase (const S: String): String;

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

Подпрограммы преобразования строк в другие типы

Function StrToCurr (St: String): Currency;

Преобразует символы строки в целое число типа Currency. Строка не должна содержать ведущих или ведомых пробелов.

Function StrToDate (St: String): TDateTime;

Преобразует символы строки St в дату. Строка должна содержать два или три числа, разделенными правильными для Windows разделителями даты (в русифицированной версии таким разделителем является «.»). Первое число – правильный день, второе – правильный месяц. Если указано третье число, оно должно задавать год в формате XX или XXXX. Если символы года отсутствуют, дата дополняется текущим годом. Например: DateToStr(StrToDate (28.06)) даст строку 28.06.99

Function StrToDateTime (St: String): TDateTime;

Преобразует символы строки St в дату и время. Строка должна содержать правильную дату (см. StrToDate) и правильное время (см. StrToTime) разделенные пробелом, например: StrToDateTime (28.06 18:23)

Function StrToFloat (St: String): Extended;

Преобразует символы строки St в вещественное число. Строка не должна содержать ведущих или ведомых пробелов.

Function StrToInt (St: String): Integer;

Преобразует символы строки St в целое число. Строка не должна содержать ведущих или ведомых пробелов.

Function StrToIntDef (St: String; Default: Integer): Integer;

Преобразует символы строки St в целое число. Если строка не содержит правильного представления целого числа, возвращает значение Default.

Function StrToIntRange (St: String; Min, Max: LongInt): LongInt;

Преобразует символы строки St в целое число и возбуждает исключение ErangeError, если число выходит из заданного диапазона Min…Max.

Function StrToTime (St: String): TDateTime;

Преобразует символы строки St во время. Строка должна содержать два или три числа, разделенных правильным для Windows разделителем времени (для русифицированной версии таким разделителем является «:»). Числа задают часы, минуты и, возможно секунды. За последним числом через пробел могут следовать символы «am» или «pm», указывающие на 12-часовой формат времени.

Procedure Val (St: String; var X: Code: Integer);

Преобразует строку символов St во внутреннее представление целой или вещественной X, которое определяется типом этой переменной. Параметр Code содержит ноль, если преобразование прошло успешно, и тогда в X помещается результат преобразования, в противном случае он содержит номер позиции в строке St, где обнаружен ошибочный символ, и в этом случае содержимое X не меняется. В строке St могут быть ведущие и/или ведомые пробелы.

Подпрограммы обратного преобразования

Function DateTimeToStr (Value: TDateTime): String;

Преобразует дату и время из параметра Value в строку символов.

Procedure DateTimeToString (var St: String; Format: String; Value: TDateTime);

Преобразует дату и время из параметра Value в строку St в соответствии со спецификатором Format.

Function DateToStr (Value: TDateTime): String;

Преобразует дату из параметра Value в строку символов.

Function FloatToStr (Value: Extended): String;

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

Function FloatToStrF (Value: Extended; Format: TFloatFormat; Precision, Digits: Integer): String;

Преобразует вещественное значение Value в строку символов с учетом формата Format и параметров Precision и Digits.

Function FormatDateTime (Format: String; Value: TDateTime): String;

Преобразует дату и время из параметра Value в строку символов в соответствии со спецификаторами параметра Format.

Function FormatFloat (Format: String; Value: Extended): String;

Преобразует вещественное значение Value в строку символов с учетом спецификаторов формата Format.

Function IntToHex (Value: Integer; Digits: Integer): String;

Преобразует целое число Value в строку символьного представления шестнадцатеричного формата: Digits – минимальное количество символов в строке.

Function IntToStr (Value: Integer): String;

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

Procedure Str (X [:Width [:Decimals]]; var St: String;

Преобразует число X любого вещественного или целого типов в строку символов St; параметры Width и Decimals. Если они присутствуют, задают формат преобразования:Width определяет общую ширину поля, выделенного под соответствующее символьное представление вещественного числа X, а Decimals – количество символов в дробной части (этот параметр имеет смысл только в том случае, когда X – вещественное число).

Function TimeToStr (Value: TDateTime): String;

Преобразует время из параметра Value в строку символов.

Подпрограммы для работы с нуль-терминальными строками

Function CharToOem (Str, OemStr: Pchar): boolean;

Преобразует символы строки Str из кодировки ANSI в кодировку MS DOS и перемещает результат в OemStr. Всегда возвращает True.

Function CharToOemBuff (Str, OemStr: Pchar; MaxLen: LongInt): boolean;

Преобразует не более MaxLen символов строки Str из кодировки ANSI в кодировку MS DOS и помещает результат в OemStr. Всегда возвращает True.

Function OemToChar (OEMStr, Str: Char): boolean;

Преобразует символы из кодировки MS DOS в кодировку ANSI и возвращает True.

Function OemToCharBuff (OEMStr, Str: PChar; MaxLen: Longint): Bool;

Преобразует не более MaxLen символов строки OemStr из кодировки MS DOS в кодировку ANSI и помещает результат в Str. Всегда возвращает True.

Function StrCat(Dest, Source: PChar): PChar;

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

Function StrComp (Strl, Str2: PChar): Integer;

Побайтно сравнивает строку Strl со строкой Str2 и возвращает следующий результат: = 0 для Strl = Str2; >0 для Str1>Str2; < 0 для Strl<Str2.

Function StrCopy (Dest, Source: PChar): PChar;

Копирует строку Source в строку Dest и возвращает указатель на Dest. StrCopy не проверяет реальный размер памяти, связанный с Dest (он должен быть не меньше StrLen(Source)+1).

Procedure StrDispose (Str:PChar);

Удаляет строку Str из памяти. Строка должна быть предварительно помещена в память функцией StrNew. Если Str = NIL, процедура ничего не делает.

Function StrECopy (Dest,Source: PChar): PChar;

Объединяет строки. Эта функция работает в точности как StrCat, но возвращает указатель на конец сцепленных строк, т.е. на терминальный ноль.

Function StrEnd (Str:PChar): PChar;

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

Function StrIComp (Strl, Str2: PChar): PChar;

Функция сравнивает строки, игнорируя возможную разницу в высоте букв. Возвращает такой же результат, как и StrComp. Замечу, что функция правильно работает лишь с латиницей. Для кириллицы ее нужно модифицировать.

Function StrLCat (Dest, Source: PChar; MaxLen: Word): PChar;

Копирует символы строки Source в конец строки Dest до тех пор, пока не будут скопированы все символы или пока длина сцепленной строки Dest не достигнет MaxLen. Возвращает указатель на сцепленную строку. В отличие от StrCopy эта функция блокирует возможное переполнение области памяти, связанной с Dest. Обычно в качестве MaxLen используется выражение SizeOf (Dest) -1.

Function StrLComp (Dest, Source: PChar; MaxLen: Word): PChar;

В отличие от StrComp сравнивает не более MaxLen символов строк. Возвращаемый результат такой же, как и у StrComp.

Function StrLCopy (Dest, Source: PChar; MaxLen: Word): PChar;

Копирует символы из строки Source в строку Dest до тех пор, пока не будет скопирована вся строка или пока не будет скопировано MaxLen символов. В отличие от StrCopy блокирует возможное переполнение области памяти, связанной с Dest. В качестве MaxLen обычно используется выражение SizeOf (Dest) -1.

Function StrLen (Str:PChar): Cardinal;

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

Function StrLIComp (Strl, Str2: PChar; MaxLen: Word): PChar;

Сравнивает не более MaxLen символов строк, проверяя точное соответствие высоты букв. Возвращаемый результат см. StrComp. Функция правильно работает только с латиницей.

Function StrLower (Str:PChar): PChar;

Преобразует заглавные буквы строки Str к строчным и возвращает указатель на результат. Функция правильно работает только с латиницей.

Function StrMove (Dest, Source: PChar; Count: Word): PChar;

Копирует точно Count символов строки Source в строку Dest и возвращает указатель на результат. Функция игнорирует действительные размеры строк и может выйти за их пределы.

Function StrNew (Str: PChar) Pchar;

Помещает строку в память.

Function StrPas (Str: PChar) : String;

Преобразует нуль-терминальную строку в строку String.

Function StrPCopy (Str: PChar; S: String): PChar;

Преобразует строку String в нуль-терминальную строку. Возвращает указатель на Str.

Function StrPos (Strl, Str2: PChar): PChar;

Ищет подстроку Str2 в строке Strl и возвращает указатель на первое вхождение Str2 или NIL, если подстрока не найдена.

Function StrScan (Str: PChar; Ch: Char): Pchar;

Ищет символ Ch в строке Str и возвращает указатель на последний обнаруженный символ Ch или NIL, если символ не найден.

Function StrScan(Str; PChar; Ch: Char): PChar;

Ищет символ Ch в строке Str и возвращает указатель на первый обнаруженный символ Ch или NIL, если символ не найден.

Function StrUpper (Str: Pchar): Pchar;

Преобразует строчные буквы строки Str к заглавным и возвращает указатель на результат. Функция правильно работает только с латиницей.