Модуль: System
Описание
Процедура записывает одно или больше значений в текстовый файл, связанный с файловой переменной Vf. Файл, в который записываются данные, должен быть открыт для записи. Если параметр Vf опущен, то действие процедуры применяется к стандартному Файлу вывода. В параметрах P, указывается значение, которое должно быть записано в файл.
Значения параметров Pn должны иметь один из следующих типов:
· Char;
· целочисленный тип (Byte, ShortInt, Word, LongInt, Cardinal);
· значение с плавающей запятой (Single, Real, Double, Extended, Currency);
· строковый тип (PChar, AnsiString, ShortString);
· тип упакованной строки;
· булевый тип (Boolean, Bool).
Записываемый параметр должен иметь форму:
OutExpr[:MinWidth [:DecPlaces]], где
OutExpr - выводимое выражение,
MinWidth, DecPlaces - параметры форматирования.
Параметр MinWidth: Integer определяет минимальную ширину поля (должна быть >0). Параметр DecPlaces: Integer определяет количество десятичных позиций после запятой (для фиксированного вывода чисел с плавающей запятой). Данный параметр должен указываться только для значений действительных типов, и только тогда, когда определен параметр MinWidth. Значение DecPlaces должно быть больше или равно 0.
Запись значений символьного типа
Если опущен параметр MinWidth, то в файл записывается указанный символ, иначе необходимая длина поля достигается записью дополнительных пробелов.
Запись значений целочисленного типа
Если опущен параметр MinWidth, то в файл записывается значение один к одному, иначе недостающее количество позиций заполняется пробелами.
Запись значения действительного типа
Формат записи зависит от наличия параметра DecPlaces. Параметр MinWidth определяет суммарное количество символов. Если параметр MinWidth опущен, то принимается значение по умолчанию (17 символов). Если MinWidth<8, то значение этого параметра принимается равным 8. Параметр DecPlaces показывает, сколько символов должно быть записано после десятичного разделителя. Если DecPlaces>11, то принимается значение по умолчанию равное 11. Если параметр DecPlaces опущен или имеет отрицательное значение, то записывается десятичная строка с плавающей запятой в экспонентальном виде:
[ /-]<цифра>.<десятичная часть>E[+/-]<экспонента>
Если значение DecPlaces присутствует, а значение указанное в параметре MinWidth превышает количество выводимых символов, то недостающее количество заполняется пробелами перед числом.
Пример
-12.3456789:1 = -1.2E+0000
-12.3456789:8 = -1.2E+0000
-12.3456789:12 = -1.234E+0001
-12.3456789:22 = -1.2345678900000E+0001
-12.3456789:3:1 = -12.3
-12.3456789:3:5 = -12.34567
-12.3456789:15:5 = -12.34567
Запись значений строкового типа
Если параметр MinWidth опущен, то строка записывается один к одному. Если данный параметр присутствует и длина строки меньше значения MinWidth, то необходимая длина достигается записью пробелов в начале строки.
Пример
См. пример функции SetTextBuf.