Примеры форматирования строк с использованием API-функции wvsprintfDelphi , Синтаксис , Текст и СтрокиПримеры форматирования строк с использованием API-функции wvsprintf
Автор: Внук { **** UBPFD *********** by delphibase.endimus.com **** >> Примеры форматирования строк с использованием API-функции wvsprintf Примеры показывают приемы использования функции wvsprintf в Delphi для форматирования строк. Эта функция входит в состав Windows API (реализована в user32.dll), поэтому не требует подключения модуля SysUtils по сравнению с аналогичной функцией Format. Зависимости: Windows Автор: Внук, Zhigalin@poria.ru, ICQ:60571446, Самара Copyright: Внук Дата: 29 мая 2002 г. ***************************************************** } // Пример использования функции wvsprintf с двумя параметрами разного типа function WinFormat(out TargetString: AnsiString): Boolean; const FormatStr = 'String Parameter:"%s", Number Parameter:%05d'; var StrParam: AnsiString; NumberParam, FormatResult: Integer; ParamArray: array[0..1] of Pointer; begin NumberParam := 105; // Задаем значение первого параметра StrParam := 'Hello'; // Задаем значение второго параметра SetLength(TargetString, 50); // Должно быть достаточно места для результата. // Без этой строки работать не будет ParamArray[0] := @StrParam[1]; ParamArray[1] := Pointer(NumberParam); FormatResult := wvsprintf(PChar(TargetString), FormatStr, PChar(@ParamArray)); if FormatResult < Length(FormatStr) then // В случае ошибки значение функции // меньше длины шаблонной строки begin TargetString := ''; Result := False; end else result := True; end; // Пример использования функции wvsprintf с одним параметром function SimpleWinFormat(out TargetString: AnsiString): Boolean; const FormatStr = 'Number Parameter:%05d'; var NumberParam, FormatResult: Integer; begin NumberParam := 112; SetLength(TargetString, 50); // Должно быть достаточно места для результата. // Без этой строки работать не будет FormatResult := wvsprintf(PChar(TargetString), FormatStr, PChar(@NumberParam)); if FormatResult < Length(FormatStr) then // В случае ошибки значение функции // меньше длины шаблонной строки begin TargetString := ''; Result := False; end else result := True; end; Пример использования: uses Dialogs, ...; ... var S: AnsiString; ... begin ... if WinFormat(S) then ShowMessage(S) else ShowMessage('An error has been occured!'); if SimpleWinFormat(S) then ShowMessage(S) else ShowMessage('An error has been occured!'); ... end; ... Это код-набор на языке Delphi, демонстрирующий использование функции
Обзор кода: Общие части
Пример WinFormat
Пример SimpleWinFormat
Пример использования
В статье приведены примеры использования API-функции wvsprintf в Delphi для форматирования строк. Комментарии и вопросыПолучайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта. :: Главная :: Текст и Строки ::
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 |