Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
delph_t.doc
Скачиваний:
90
Добавлен:
12.04.2015
Размер:
2.26 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);

Копирует из строки StCount символов начиная с символа с номером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);

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

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в строку символов.

Правила использования параметров функции FloatToStrF

Значение Format

Описание

ffExponent

Научная форма представления с множителем еХХ («умножить на 10 в степени XX»). Precision задает общее количество десятичных цифр мантиссы, Digits - количество цифр в десятичном порядке XX. Число округляется с учетом первой отбрасываемой цифры: 3,1416Е+00.

ffFixed

Формат с фиксированным положением разделителя целой и дробной частей. Precision задает общее количество десятичных цифр в представлении числа, Digits - количество цифр в дробной части. Число округляется с учетом первой отбрасываемой цифры: 3,14.

ffGeneral

Универсальный формат, использующий наиболее удобную для чтения форму представления вещественного числа. Соответствует формату ffFixed, если количество цифр в целой части меньше или равно Precision, а само число - больше или равно 0,00001, в противном случае соответствует формату ffExponent: 3,1416.

ffNumber

Отличается от: ffFixed использованием символа-разделителя тысяч при выводе больших чисел (для русифицированной версии Windows таким разделителем является пробел). Для Value = тг*1000 получим 3 141,60.

ffCurrency

Денежный формат. Соответствует ffNumber, но в конце строки ставится символ денежной единицы (для русифицированной версии Windows - символы «р.»). Для Value = *1000 получим 3 141, 60р.

Спецификаторы форматирования вещественных чисел

0

Определяет поле для цифры. Если в данной позиции форматируемое число имеет значащую цифру, она выводится, если нет – выводится 0

#

Определяет поле для цифры. Если в данной позиции форматируемое число имеет значащую цифру, она выводится, если нет – ничего не выводится

.

Поле для разделителя целой и дробной частей числа

,

Поле для разделителя тысяч

E+, e+, E-, e-

Признак представления числа в научном формате. В этом случае число представляется мантиссой и десятичным порядком, между которыми стоит символ E. Спецификаторы Е+ и e+ предписывают выводить знак + перед неотрицательным десятичным порядком, при использовании E- и e- знак + перед порядком не выводится.

;

Разделитель спецификаторов формата для положительного, отрицательного и нулевого числа.

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

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

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

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

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

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

Преобразует символы из кодировки 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; О u, 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 к заглавным и возвращает указатель на результат. Функция правильно работает только с латиницей.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]