Процедура ShowMessageFmt в Delphi відображає відформатовані дані у простому діалоговому вікні з кнопкою ОК.
Dialogs unit
procedure ShowMessageFmt (const Formatting : string; const Data : array of const);
Процедура ShowMessageFmt надає С-подібне форматування кількох простих типів даних, які показуються один за одним, у рядок.
Параметр Formatting визначає як масив Data передається у вивідний рядок.
Діалогове вікно, яке відображається користувачеві, містить кнопку ОК, щоб він міг прочитати повідомлення та відкрити діалогове вікно.
Рядок Форматування може складатися з набору звичайних символів (які передаються в рядок-результат без змін) і з символів форматування даних. Це форматування краще всього пояснено в нашому прикладі коду.
Простіше кажучи, кожна підстрока форматування даних починається з % і заканчується вказівником на тип даних:
- d = десятковий (цілий)
- e = науковий
- f = фіксований
- g = загальний
- m = грошовий
- n = число (з плаваючою комою)
- p = покажчик
- s = рядок
- u = беззнакове ціле
- x = шістнадцяткове
Загальний формат кожного підрядку форматування представлений нижче:
%[Індекс:][-][Ширина][.Точність]Тип
Де квадратні дужки вказують на додаткові параметри, а : . - символи є літералами, перші 2 з яких використовуються для ідентифікації двох необов'язкових аргументів.
Процедура ShowMessageFmt: Показ усіх форматованих типів даних
var
text : string;
begin
// Лише 1 елемент даних
ShowMessageFmt('%s', ['Hello']);
// З'єднання символьного тексту та елемента даних
ShowMessageFmt('Строка = %s', ['Hello']);
ShowMessage('');
// Приклади кожного з типів даних
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
Процедура ShowMessageFmt: Використовуючи індекс, ширину та значення точності
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>
Подібні функції, процедури та команди
InputBox — відображає діалог, який просить користувача про введення тексту, за замовчуванням.
InputQuery — відображає діалог, який просить користувача про введення тексту.
MessageDlg — відображає повідомлення, знак і кнопки, що вибираються.
MessageDlgPos — відображає повідомлення та кнопки у заданій позиції екрана.
PromptForFileName — показує діалог, що дозволяє користувачеві вибрати файл.
ShowMessage — показує просте діалогове вікно з кнопкою ОК, що містить заданий рядок.
ShowMessagePos — показує рядок у простому діалоговому вікні розміщеному у заданому місці.
