Для работы со строками типа AnsiString
Таблица 3.6. Функции для работы со строками типа AnsiString
Метод | Описание |
Удаление пробелов | |
function Trim(const S: string): string; function TrimLeft(const S: string): string; function TrimRight(const S: string): string; | Удаляет все пробелы и управляющие символы из текстовой строки. Удаляет пробелы в начале строки и все управляющие символы. Удаляет пробелы в конце строки и все управляющие символы. |
Сравнение строк | |
* function CompareText(const S1, S2: string): Integer; * function CompareStr(const S1, S2: string): Integer; function AnsiSameText(const S1, S2: string): Boolean; | Сравнивает две строки и возвращает 0, если строки идентичны. Функция не учитывает регистр символов. Сравнивает две строки и возвращает 0, если строки идентичны. Функция чувствительна к регистру символов. Сравнивает две строки без учета регистра, но при этом контролируется кодовая страница строки. Если строки идентичны, возвращает true. |
Форматирование строк | |
** function Format(const Format: string; const Args: array of const): string; ** procedure FmtStr(var StrResult: string; const Format: string; const Args: array of const); * function LowerCase(const S: string): string; * function UpperCase(const S: string): string; function QuotedStr(const S: string): string; | Функция возвращает текстовую строку, заполняя ее аргументами из массива Args. Место вставки аргументов и их форматирование определяются в строке Format() (см. табл. 3.7 и 3.8). Аналогично функции Format(). Результат помещается в строку StrResult. Возвращает строку в нижнем регистре. Возвращает строку в верхнем регистре. Возвращает строку S в одинарных кавычках. |
Преобразование других типов данных к string | |
function IntToStr(Value: Integer): string; functionStrToInt(const S: string): Integer; function StrToIntDef(const S: string; Default: Integer): Integer; function IntToHex(Value: Integer; Digits: Integer): string; function FloatToStr(Value: Extended): string; function FloatToStrF(Value: Extended; Format: TFloatFormat; Precision, Digits: Integer): string; function FormatFloat(const Format: string; Value: Extended): string; function FormatMaskText(const EditMask: string; const Value: string): string; function CurrToStr(Value: Currency): string; function StrToCurr(const S: string): Currency; function CurrToStrF(Value: Currency; Format: TFloatFormat; Digits: Integer): string; function FormatCurr(const Format: string; Value: Currency): string; function QuotedStr(const S: string): string; function AnsiQuotedStr(const S: string; Quote: Char): string; | Преобразует целое число в строку. Преобразует строку в целое число. Работает как StrToInt(), но при ошибке преобразования возвращает значение Default. Преобразует целое число в строку, соответствующую его шестнадцатеричному представлению. Преобразует число с плавающей точкой в строку. Преобразует значение Value в строку в соответствии с форматом: type TFloatFormat = (ffGeneral, ffExponent, ffFixed, ffNumber, ffCurrency); Точность преобразования определяется в Precision. Для типа данных Single точность обычно равна 7, Double – 15, Extended – 18. Параметр Digits определяет число знаков после запятой. Наиболее совершенная функция преобразования вещественного числа в текстовую строку. Форматирование осуществляется в соответствии со спецификаторами формата в параметре Format (см. табл. 3.9). Возвращает строку Value, отформатированную в соответствии с маской EditMask Преобразует денежный тип в строку. Преобразует строку в денежный тип. Преобразует денежный тип в строку в соответствии с форматом Format : TFloatFormat. Аналогична функции FormatCurr(). Преобразует денежный тип в строку (см. табл. 3.9). Возвращает значение S внутри одинарных кавычек ('). Возвращает значение S внутри символа, определенного параметром Quote. |
Другие функции | |
procedureDelete(var S: string; Index, Count:Integer); function Concat(s1[, s2,..., sn]: string): string; function Copy(S; Index, Count: Integer): string; procedure Insert(Source: string; var S: string; Index: Integer); functionLength(S): Integer; function Pos(Substr: string; S: string): Integer; function AdjustLineBreaks(const S: string): string; function AnsiReverseString(const AText: AnsiString): AnsiString; | Удаляет из строки S Count символов, начиная с позиции Index. s:='Borland Delphi'; Delete(s,1,7); // Delphi Возвращает объединение двух и более строк. Возвращает субстроку из Count символов, начиная с позиции Index. s:=Copy('Borland Delphi',9,6);//Delphi Вставляет в строку S cубстроку Source. Место вставки определяется Index. Возвращает длину строки S. Возвращает индекс первого вхождения символа Substr в строку S. Если такого символа в строке нет, то результат равен нулю. Возвращает строку, заканчивающуюся символами CR/LF (возврат каретки/новая строка). Возвращает реверсивное значение AText |
* Для работы со строками с учетом языкового драйвера предусмотрены функции, аналогичные рассмотренным в таблице. Это функции ANSI: AnsiCompareStr() – аналог CompareStr(), AnsiLowerCase() – аналог LowerCase() и т. д.
** Шаблон в строке форматирования имеет следующую форму: "%" [index ":"] ["-"] [width] ["." prec] type
Таблица 3.7. Шаблоны форматирования, применяемые в функциях Format()
Спецификатор | Описание |
% [index ":"] ["-"] [width] ["." prec] type | Обязательный признак начала спецификатора формата Индекс аргумента Выравнивание влево Ширина Точность представления вещественного числа Символ типа преобразования (см. табл. 3.8) |
Таблица 3.8. Символы типа преобразования функции Format()
type | Описание |
d u e f g n m p s x | Десятичный тип. Аргумент должен быть целым числом. s:=Format('Целое число %d',[15]); //Целое число 15 Десятичный тип без знака. Аналогичен типу d, но используется только с неотрицательными числами. Научный тип. Аргумент должен быть числом с плавающей точкой. Аргумент преобразуется в строку вида "-d.ddd...E+ddd" (характеристика и мантисса). Точность (по умолчанию) составляет 15 знаков после запятой. s:=Format('1/3= %e',[1/3]); // 1/3=3,3333333333333333E-01 Можно изменить точность с помощью поля prec: s:=Format('1/3=%1.4e',[1/3]); // 1/3=3,333E-01 Фиксированный тип. Аргумент должен быть числом с плавающей точкой. Значение аргумента преобразуется к виду "-ddd.ddd...". По умолчанию округление производится до второго знака после запятой. s:=Format('1/3=%f',[1/3]); // 1/3=0,33 Основной тип. Аргумент должен быть числом с плавающей точкой. Задача основного типа – преобразовать значение аргумента в самую короткую текстовую строку. Исходя из этого критерия, будет использован фиксированный или научный формат. Числовой тип. Аргумент должен быть числом с плавающей точкой. Значение аргумента преобразуется к виду "-d ddd,ddd ddd...". Между тысячами ставится разделитель. По умолчанию округление производится до второго знака после запятой. s:=Format('1E3*1E3=%n',[1E3*1E3]); //1E3*1E3=1 000 000,00 Денежный тип. Аргумент должен быть числом с плавающей точкой. Значение аргумента преобразуется в текстовую строку в виде денежной суммы. Вид результата определяется значениями глобальных переменных CurrencyString, CurrencyFormat, NegCurrFormat, ThousandSeparator, DecimalSeparator и CurrencyDecimals. По умолчанию округление производится до второго знака после запятой. s:=Format('Сумма = %m',[251.616+345.44]); // Сумма = 597,06р. Указатель. Аргумент должен быть указателем. Значение аргумента конвертируется в 8-ми символьную текстовую строку шестнадцатеричных цифр. Строковый тип. Тип аргумента: string, PChar или Char. Допускается применять совместно с полем prec, определяющим максимальную длину строки. s:=Format('%.5s',['0123456789ABCDE']); // 01234 Шестнадцатеричный тип. Аргумент должен быть целым числом. Значение аргумента преобразуется в строку шестнадцатеричных цифр. s:=Format('24=%x',[26]); // 24=1А |
Таблица 3.9. Спецификаторы формата функций FormatFloat() и FormatCurr()
Специ-фикатор | Описание |
# . , E+ E- e+ e- 'xx'/"xx" ; | Необязательное цифровое поле. Если преобразуемая величина имеет в этой позиции цифру, то вставится цифра. Иначе поле останется пустым. s:=FormatFloat('0.0#####',9.1989); // 9.1989 Десятичная точка. Разделитель целой и дробной части числа. Символ разделителя определяется в глобальной переменной DecimalSeparator. Разделитель тысяч. Разделяет число влево от десятичной точки на группы по три символа. Символ разделителя определяется в глобальной переменной ThousandSeparator. s:=FormatFloat('#,##0.0',91989.111); // 91 989.1 Научный формат. Число преобразуется в научный формат. Количество нулей после спецификатора определяет ширину мантиссы: s:=FormatFloat('0.0##E+00',91989.111); // 9,199E+04 s:=FormatFloat('0.0##E-00',91989.111); // 9,199E04 Символы пользователя.В кавычки заключаются символы пользователя. s:=FormatFloat('"Число="0.0',9.198); // Число=9.2 Разделитель представления положительных, отрицательных и нулевых чисел. Например: #,##0.00;(#,##0.00). |
Дата добавления: 2016-03-15; просмотров: 1011;