Разместите нашу кнопку!

Новые статьи:

Programming articles

Создание сайтов на шаблонах

Множество вариантов работы с графикой на канве

Шифруем файл с помощью другого файла

Перехват API функций - Основы

Как сделать действительно хороший сайт

Создание почтового клиента в Delphi 7

Применение паскаля для решения геометрических задач

Управление windows с помощью Delphi

Создание wap сайта

Операционная система unix, термины и понятия

SQL враг или друг

Возникновение и первая редакция ОС UNIX

Оптимизация проекта в Delphi

Ресурсы, зачем нужны ресурсы

Термины программистов 20 века

Советы по созданию собственного сайта с нуля

Шифруем файл с помощью пароля

Фракталы - геометрия природы

Crypt - Delphi программа для шифрования

Рассылка, зачем она нужна и как ее организовать?

Учебник по C++ для начинающих программистов

Уроки для изучения ассемблера

Загадочный тип PCHAR

Средства по созданию сайтов

Операторы преобразования классов is и as

Borland Developer studio 2006. Всё в одном

Создание базы данных в Delphi, без сторонних БД


Software engineering articles



ShowMessageFmt

Показывает форматированные данные
в простом диалоговом окне с кнопкой ОК

Описание:

    Процедура ShowMessageFmt предоставляет С-подобное форматирование множества простых типов данных, которые показываются один за другим, в строку.

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

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

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

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

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


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

     %[Индекс:][-][Ширина][.Точность]Тип

     Где квадратные скобки указывают на необязательные параметры, символы :. - являются литералами, первые два из которых используются для установки двух необязательных аргументов.

Пример кода:

var
   text : string;
begin
   // Just 1 data item
   ShowMessageFmt('%s', ['Hello']);

   // A mix of literal text and a data item
   ShowMessageFmt('String = %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
   String = 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
   // The width value dictates the output size
   // with blank padding to the left
   // Note the <> characters are added to show formatting
   ShowMessageFmt('Padded decimal = <%7d>', [1234]);

   // With the '-' operator, the data is left justified
   ShowMessageFmt('Justified decimal = <%-7d>', [1234]);

   // The precision value forces 0 padding to the desired size
   ShowMessageFmt('0 padded decimal = <%.6d>', [1234]);

   // A combination of width and precision
   // Note that width value precedes the precision value
   ShowMessageFmt('Width + precision = <%8.6d>', [1234]);

   // The index value allows the next value in the data array
   // to be changed
   ShowMessageFmt('Reposition after 3 strings=%s %s %s %1:s %s',
                  ['Zero', 'One', 'Two', 'Three']);

   // One or more of the values may be provided by the
   // data array itself. Note that testing has shown that an *
   // for the width parameter can yield EConvertError.
   ShowMessageFmt('In line = <%10.4d>', [1234]);
   ShowMessageFmt('Part data driven = <%*.4d>', [10, 1234]);
   ShowMessageFmt('Data driven = <%*.*d>', [10, 4, 1234]);
end;

Результат выполнения:

Padded decimal = < 1234>
Justified decimal = <1234 >
0 padded decimal = <001234>
Width + precision = < 001234>
Reposition after 3 strings = Zero One Two One Two
In line = < 1234>
Part data driven = < 1234>
Data driven = < 1234>