Недавно добавленные исходники

•  TDictionary Custom Sort  508

•  Fast Watermark Sources  874

•  3D Designer  1 804

•  Sik Screen Capture  1 457

•  Patch Maker  1 460

•  Айболит (remote control)  1 388

•  ListBox Drag & Drop  1 159

•  Доска для игры Реверси  21 307

•  Графические эффекты  1 337

•  Рисование по маске  1 275

•  Перетаскивание изображений  1 086

•  Canvas Drawing  963

•  Рисование Луны  802

•  Поворот изображения  755

•  Рисование стержней  802

•  Paint on Shape  486

•  Генератор кроссвордов  747

•  Головоломка Paletto  659

•  Теорема Монжа об окружностях  839

•  Пазл Numbrix  607

•  Заборы и коммивояжеры  835

•  Игра HIP  551

•  Игра Go (Го)  522

•  Симулятор лифта  544

•  Программа укладки плитки  505

•  Генератор лабиринта  560

•  Проверка числового ввода  520

•  HEX View  596

•  Физический маятник  522

•  Задача коммивояжера  556

 
скрыть


Delphi FAQ - Часто задаваемые вопросы

| Базы данных | Графика и Игры | Интернет и Сети | Компоненты и Классы | Мультимедиа |
| ОС и Железо | Программа и Интерфейс | Рабочий стол | Синтаксис | Технологии | Файловая система |



Неоднократное использование параметра формата



Оформил: DeeCo

Sometimes you probably have written something like this:

s := Format('Hello %s, your name is %s %s', [FirstName, FirstName, LastName]);

(an admittedly stupid example ;-) )

And if you do, you probably found it annoying that you need to specify the FirstName parameter twice, in particular if there are lots of similar lines.

But this isn''t necessary because you can specify the parameter position to use for the placeholder in the format string like this:

s := Format('Hello %0:s, your name is %0:s %1:s', [FirstName, LastName]);

Just one more example from a code generator I am currently writing:

TableName := 'Customer';

... s := Format(' f%0:sTableAuto := T%0:sTableAuto.Create(f%0:Table);', [TableName]);

which results in

s := ' fCustomerTableAuto := TCustomerTableAuto.Create(fCustmerTable);';

{********************************************************************}

Manchmal schreibt man solche Dinge wie:

s := Format('Hallo %s, Dein Name ist %s %s', [Vorname, Vorname, Nachname]);

(Ok, doofes Beispiel. ;-) )

Und aergert sich dann, insbesondere, wenn man es sehr haeufig schreibt, dass man den Parameter Vorname mehrfach angeben muss.

Das ist jedoch gar nicht notwendig, denn man kann im Format-String bei einem Platzhalter auch angeben, welcher Parameter dort eingefuegt werden soll:

s := Format('Hallo %0:s, Dein Name ist %0:s %1:s', [Vorname, Nachname]);

Hier noch ein etwas sinnvolleres Beispiel aus einem Code-Generator, den ich gerade schreibe:

TableName := 'Kunden';

... s := Format(' f%0:sTableAuto := T%0:sTableAuto.Create(f%0:Table);', [TableName]);

soll ergeben:

s := ' fKundenTableAuto := TKundenTableAuto.Create(fKundenTable);'







Copyright © 2004-2022 "Delphi Sources" by BrokenByte Software. Delphi World FAQ

Группа ВКонтакте   Facebook   Ссылка на Twitter   Ссылка на Telegram