Существует ли какая-либо функция, совместимая с .NET string.format для Delphi win32?

#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, эта библиотека была бы полезна, если бы существовала, но это не в моем случае.