procedure ShowMessageFmt ( const Formatting : string; const Data : array of const ) ;
Процедура ShowMessageFmt предоставляет С-подобное форматирование множества простых типов данных, которые показываются один за другим, в строку. Параметр Formatting определяет как массив Data передается в выводимую строку. Диалоговое окно, которое показывается пользователю, содержит кнопку ОК, чтобы позволить ему прочитать сообщение и закрыть диалог. Строка Formatting может состоять из набора обычных символов (которые передаются в строку-результат без изменений) и из символов форматирования данных. Это форматирование лучше всего объяснено в нашем примере кода. Проще говоря, каждая подстрока форматирования данных начинается с % и заканчивается указателем на тип данных: d = десятичный (целый) e = научный f = фиксированный g = общий m = денежный n = число (с плавающей запятой) p = указатель s = строка u = без знаковое целое x = шестнадцатеричное Общий формат каждой подстроки форматирования представлен ниже: %[Индекс:][-][Ширина][.Точность]Тип Где квадратные скобки указывают на необязательные параметры, символы :. - являются литералами, первые два из которых используются для установки двух необязательных аргументов.
|
var text : string; begin // Только 1 элемент данных ShowMessageFmt('%s', ['Hello']); // Соединение символьного текста и элемента данных ShowMessageFmt('Строка = %s', ['Hello']); ShowMessage(''); // Examples of each of the data types ShowMessageFmt('Decimal = %d', [-123]); ShowMessageFmt('Exponent = %e', [12345.678]); ShowMessageFmt('Fixed = %f', [12345.678]); ShowMessageFmt('General = %g', [12345.678]); ShowMessageFmt('Number = %n', [12345.678]); ShowMessageFmt('Money = %m', [12345.678]); ShowMessageFmt('Pointer = %p', [addr(text)]); ShowMessageFmt('String = %s', ['Hello']); ShowMessageFmt('Unsigned decimal = %u', [123]); ShowMessageFmt('Hexadecimal = %x', [140]); end;
Hello Строка = Hello Decimal = -123 Exponent = 1.23456780000000E+004 Fixed = 12345.68 General = 12345.678 Number = 12,345,68 Money = г12,345.68 Pointer = 0069FC90 String = Hello Unsigned decimal = 123 Hexadecimal = 8C
begin // Значение ширины диктует размер вывода // с пробелом добавленным влево // Обратите внимание <>, символы добавляются, чтобы показать форматирование ShowMessageFmt('Дополняемое десятичное число = <%7d>', [1234]); // С оператором '-', данные выровниваются влево ShowMessageFmt('Выровненное десятичное число = <%-7d>', [1234]); // Значение точности вызывает дополнение 0 к желательному размеру ShowMessageFmt('Дополненное 0 десятичное число = <%.6d>', [1234]); // Комбинация ширины и точности // Обратите внимание, что значение ширины предшествует значению точности ShowMessageFmt('Ширина + точность = <%8.6d>', [1234]); // Индексное значение позволяет следующему значению в массиве // данных быть измененным ShowMessageFmt('Перестановка после 3 строк = %s %s %s %1:s %s', ['Zero', 'One', 'Two', 'Three']); // Один или больше значений может быть обеспечен массивом данных // непосредственно. Обратите внимание, что испытание показало * // для параметра ширины может привести к EConvertError. ShowMessageFmt('В строке = <%10.4d>', [1234]); ShowMessageFmt('Управляемая часть данных = <%*.4d>', [10, 1234]); ShowMessageFmt('Управляемые данные = <%*.*d>', [10, 4, 1234]); end;
Дополняемое десятичное число = < 1234> Выровненное десятичное число = <1234 > Дополненное 0 десятичное число = <001234> Ширина + точность = < 001234> Перестановка после 3 строк = Zero One Two One Two В строке = < 1234> Управляемая часть данных = < 1234> Управляемые данные = < 1234>
|