Страница 1 из 1
printf
Добавлено: 13 Февраль 2019, 20:01
Дед Пахом
Функция форматирования строки (почти как printf в C):
https://github.com/mikeduglas/printf
Примеры:
Код: Выделить всё
!- дата и время в формате по умолчанию
MESSAGE(printf('Текущая дата %d, время %t', TODAY(), CLOCK()))
!- дата в формате @d1, время в формате @t4
MESSAGE(printf('Текущая дата %d@d1@, время %t@t4@', TODAY(), CLOCK()))
printf
Добавлено: 13 Февраль 2019, 23:13
vic7tar
Штука полезная.
Надо же, аналогичное начал писать в декабре, не дописал. Но подход у меня другой, всё на внутреннем C.
printf
Добавлено: 14 Февраль 2019, 0:23
PavelNK
Штука, конечно, хорошая.
Но все уже придумано до нас.
Есть Си-шная функция, которая все это делает, называется vsprintf
printf
Добавлено: 14 Февраль 2019, 1:18
vic7tar
PavelNK писал(а): 14 Февраль 2019, 0:23Есть Си-шная функция, которая все это делает, называется vsprintf
Да можно и без неё, например, с помощью sprintf.
printf
Добавлено: 14 Февраль 2019, 12:30
Yufil
А у меня тоже есть, примерно так: Out( 'value is: {x@n10.2} date is:{dt@d5}') , x и dt должны возвращаться вызовом определённой функции, сначала проверяется Evaluate( 'x' ), потом переменная x в специальном словаре
printf
Добавлено: 16 Февраль 2019, 20:51
Дед Пахом
Добавил несколько новых спецификаторов.
printf
Добавлено: 30 Декабрь 2025, 19:35
Игорь Столяров
Добрый день !
С наступающим Новым годом ! Можно здесь спросить на русском ?
Возможно ли в чудесной функции PrintF() реализовать кодирование TEXT -> HEX ?
Сейчас такая возможность реализована для INT (%x / %X) - но это иное ...
Например: PrintF(%?,'2400000032632') = '32343030303030303332363332'
см.
https://www.convertstring.com/EncodeDecode/HexEncode
Я привёл пример читаемого кода, а в реальности здесь будут длинные
коды маркировки с непечатаемыми символами. Такое преобразование
используется для подачи кодов маркировки в драйвер ККТ.
Спасибо за рассмотрение !