Delphi-Help

  • Increase font size
  • Default font size
  • Decrease font size

ShowMessageFmt

Печать
Рейтинг пользователей: / 0
ХудшийЛучший 

ShowMessageFmt

Описание

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>

 

Примечание

 

 

Авторизация



Счетчики