Delphi справочник - Форум программистов - Навигация  
 A  B  C  D  E  F  G  H  I  J  K  L  M  N  O  P  Q  R  S  T  U  V  W  X  Y  Z      По первой букве  
System     SysUtils     StrUtils     DateUtils     FileCtrl     ConvUtils     StdConvs     Math     Classes     Dialogs     Types     Variants    ПО Unit   Compiler directives     Directives     Keywords     Types     Variables     Constants     Functions     Procedures    По категории  


Основы Delphi
ShowMessageFmt
Процедура
Dialogs unit
  procedure ShowMessageFmt ( const Formatting : string; const Data : array of const ) ;
Описание
Процедура ShowMessageFmt предоставляет С-подобное форматирование множества простых типов данных, которые показываются один за другим, в строку.

Параметр Formatting определяет как массив Data передается в выводимую строку.

Диалоговое окно, которое показывается пользователю, содержит кнопку ОК, чтобы позволить ему прочитать сообщение и закрыть диалог.

Строка Formatting может состоять из набора обычных символов (которые передаются в строку-результат без изменений) и из символов форматирования данных. Это форматирование лучше всего объяснено в нашем примере кода.

Проще говоря, каждая подстрока форматирования данных начинается с % и заканчивается указателем на тип данных:

d = десятичный (целый)
e = научный
f = фиксированный
g = общий
m = денежный
n = число (с плавающей запятой)
p = указатель
s = строка
u = без знаковое целое
x = шестнадцатеричное

Общий формат каждой подстроки форматирования представлен ниже:

%[Индекс:][-][Ширина][.Точность]Тип
Где квадратные скобки указывают на необязательные параметры, символы :. - являются литералами, первые два из которых используются для установки двух необязательных аргументов.
Похожие команды
InputBox  Отображает диалог, который просит пользователя о вводе текста, со значением по умолчанию

InputQuery  Отображает диалог, который просит пользователя о вводе текста

MessageDlg  Отображает сообщение, знак и выбираемые кнопки

MessageDlgPos  Отображает сообщение и кнопки в заданной позиции экрана

PromptForFileName  Показывает диалог, позволяющий пользователю выбрать файл

ShowMessage  Показывает простое диалоговое окно с кнопкой ОК, содержащее заданную строку

ShowMessagePos  Показывает строку в простом диалоговом окне размещенном в заданном месте

 
Пример кода : Показ всех форматированный типов данных
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>
 



© Форум Delphi   |  Блог программистов   |  Создание и продвижение сайтов - "Веб сателлит"  |  Ссылки   |  Английская версия