Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 2002.07.01;
Скачать: [xml.tar.bz2];

Вниз

Функция wvsprintf   Найти похожие ветки 

 
Внук   (2002-05-28 10:33) [0]

В чате мной был поднят вопрос об использовании функций форматирования строк с помощью API. Как оказалось, не совсем тривиальная проблема. По просьбе коллег привожу результат своих экспериментов - работоспособный тестовый пример. Если кому пригодится, буду рад :)

procedure WinFormat;
const FormatStr="String Parameter:"%s", Number Parameter:%05d";
var TargetString,StrParam:AnsiString;
NumberParam,FormatResult:Integer;
ParamArray:array[0..1] of Pointer;
begin
NumberParam:=105;
StrParam:="Hello";
SetLength(TargetString,100); // Существенно !!!
ParamArray[0]:=@StrParam[1];
ParamArray[1]:=Pointer(NumberParam);
FormatResult:=wvsPrintF(PChar(TargetString),FormatStr,PChar(@ParamArray));
if FormatResult<Length(FormatStr) then ShowMessage("An error has been occured!")
else ShowMessage(TargetString);
end;


 
Dimka Maslov   (2002-05-28 10:38) [1]

Кинь его в UBPFD http://delphibase.endimus.ru


 
Игорь Шевченко   (2002-05-28 10:42) [2]

А Format не проще ? :-)))


 
Внук   (2002-05-28 10:42) [3]

>>Dimka Maslov © (28.05.02 10:38)
Так это же не готовая функция, так, пример :( Но если нужен, забирайте, я на копирайте не зациклен :)


 
Внук   (2002-05-28 10:44) [4]

>>Игорь Шевченко ©
Проще, но я же вчера говорил - спортивный интерес :) Тем более, обидно подключать SysUtils из-за одной функции


 
McSimm   (2002-05-28 10:47) [5]

Дело не в практической ценности, а в приеме работы со структурами данных MS. Иногда очень не хватает такой информации


 
Игорь Шевченко   (2002-05-28 10:47) [6]

Ну раз спортивный - тогда конечно другое дело.
Только ошибки искать замучаешься :-)


 
Игорь Шевченко   (2002-05-28 10:50) [7]

McSimm © (28.05.02 10:47)

MS тут не причем :-)
Это стандартная функция с переменным числом параметров.
С-шный компилятор просто подставляет адрес списка параметров,
следующих за последним объявленным.
Для примера - файл stdarg.h, макро va_start, va_arg

С уважением,


 
McSimm   (2002-05-28 11:01) [8]

>Игорь Шевченко © (28.05.02 10:50)
Вот-вот. Хорошо когда знаешь.
Бывает открываешь MSDN и читаешь

va_list arglist // variable list of format-control arguments

обычно потом долго думаю, чтобы такого передать этой функции, чтобы она не обиделась

:)


 
Dimka Maslov   (2002-05-28 11:25) [9]

>внук
пусть не готовая функция, но всё же добавь её в базу. Важна идея.


 
VuDZ   (2002-05-28 11:26) [10]

NULL, т.е. nil :>
пущай подумает, зараза :)



Страницы: 1 вся ветка

Форум: "Потрепаться";
Текущий архив: 2002.07.01;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.006 c
3-897
Voldemar
2002-06-07 02:45
2002.07.01
Кол-во записей в QuickReport


7-1218
petr
2002-04-04 11:05
2002.07.01
Подключение сетевого диска


3-884
DmitryPV
2002-06-07 10:34
2002.07.01
Как поместить маску ввода в ячейку DBGrid?


14-1145
Kevin
2002-05-28 14:38
2002.07.01
все на z17.net


1-1041
Cranium
2002-06-18 13:39
2002.07.01
Строку из txt в string





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский