Функції та процедури Delphi. Довідник
При форматуванні рядків за допомогою функційFormat, FormatBuf, StrFmt, StrLFmt, процедуриFmtStr, як один з параметрів, у цих підпрограмах використовується рядок форматування. Рядок форматування може містити два типи об'єктів - звичайні символи і специфікатори (команди форматування). Звичайні символи копіюються один до одного в результуючий рядок. Специфікатори використовуються для вибіркового форматування елементів зі списку аргументів.
Загальний вигляд специфікатора можна подати у такому вигляді:
"%" [index ":"] ["-"] [width] ["." prec] type
Специфікатор починається із символу %. За ним слідують:
Необов'язковий параметр [index ":"], який визначає індекс аргументу. Індикатор вирівнювання по лівому краю ["-"] (необов'язковий параметр). Необов'язковий параметр [width], що визначає мінімальну довжину результуючого рядка. Необов'язковий параметр ["." prec], що задає точність. Символ перетворення типу, типу.
Ідентифікатор type може мати одне із значень представлених у таблиці:
Всі вищезгадані символи можуть бути записані як у верхньому, так і в нижньому регістрі. Параметри index, width, prec можуть бути задані безпосередньо числовим значенням (наприклад "%8u") або опосередковано за допомогою символу зірочки (наприклад "%*.*f"). Зірочка означає, що в даній позиції буде використовуватися поточне значення з масиву даних (відповідне значення має бути ціле значення), наприклад виклик функції:
Результуючим рядком в обох випадках буде '12345.68'
Параметр width задає мінімальну довжину результуючого рядка. Якщо кількість символів в рядку, що отримується, менше значення width, то рядок доповнюється необхідною кількістю пробілів. заза промовчанням пробіли додаються на початок рядка. Для того, щоб пробіли додавалися в кінець рядка, необхідно у рядок формату перед параметром width поставити символ "-". Параметр index визначає, який елемент масиву даних форматуватиметься. Перший елемент масиву має індекс 0. Після числового значення індексу має стояти символ двокрапки ":". Якщо параметр index опускається, то форматується наступний елемент за елементом який піддавався форматуванню минулого разу (Перше форматування відповідно проводиться для першого елемента масиву даних). Наприклад, виклик функції:
Format( '%3d, %d, %0:d, %2:-4d, %d', [1, 2, 3, 4]);
повертатиме наступний рядок '1,2,1,3,4'