#delphi #formatting
#delphi #форматирование
Вопрос:
Существует ли какая-либо функция, совместимая с .NET string.format для Delphi Win32?
Я хочу использовать ее синтаксис порядка аргументов.
Я нашел одну на delphi3000.com , но это довольно просто и без поддержки точного определения чисел и т.д.
Вы не знаете лучшей реализации с открытым исходным кодом?
Спасибо.
Комментарии:
1. Почему вы не используете функцию Delphi
SysUtils.Format
, очень полная. docwiki.embarcadero.com/VCL/en/SysUtils. Форматировать ?2. Конечно, я использую функцию Format. Но она не может поддерживать изменение порядка аргументов. Это бесполезно, особенно для перевода текста сообщения на несколько языков.
3. Он поддерживает изменение порядка аргументов:
Format('%1:s - %0:d', [7, 'Text'])
4. Пожалуйста, уточните, какие аспекты . Сетевая функция, которую вы ищете в Delphi. В комментарии вы указываете порядок аргументов. Вам также требуется синтаксис фигурных скобок? Возможность опускать информацию о типе из составного формата? Произвольные объекты в списке аргументов?
5. Не удаляйте вопрос, он выглядит ценным для меня. Скомпилируйте свой собственный ответ из комментария RRUZ и, возможно, моего и опубликуйте его как ответ . Изначально я сам дал аналогичный ответ на комментарий RRUZ, но сразу же удалил его, когда увидел, что комментарий RRUZ был сделан 9 минутами ранее.
Ответ №1:
Используйте SysUtils.Форматирование.
Он также поддерживает синтаксис порядка аргументов в виде string.format в .Net делает.
Вы можете изменить порядок аргументов, как в следующем примере.
Format(‘%1:s — %0:d’, [7, ‘Text’])
Поскольку я был программистом на C, я думал, что SysUtils.Форматирование было таким же, как printf в C.
Но SysUtils.Формат не просто похож на «printf», и он более мощный, как RRUZ amp; Cosmin Prund научили меня в комментариях выше. (Я должен был проверить справку 😉
Я хотел .Net’s string.format в основном потому, что я хотел использовать его известный синтаксис порядка аргументов.
Синтаксис порядка аргументов особенно полезен для перевода текста сообщения на языки (например, с английского на японский), но мне это не нужно .Совместимость с сетью.
Если бы вам пришлось перенести .Код Net для Delphi win32, или вы с ним хорошо знакомы .Синтаксис формата Net, эта библиотека была бы полезна, если бы существовала, но это не в моем случае.