Главная страница
    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
1-965
Programmer1
2002-06-18 09:41
2002.07.01
TWordApplication


14-1135
Внук
2002-05-28 10:33
2002.07.01
Функция wvsprintf


14-1194
Igor_thief
2002-05-31 15:17
2002.07.01
Компрессоры


1-1040
strel
2002-06-18 00:49
2002.07.01
как <B>передавать параметры </B>по ссылке в функциях <B>DLL</B ??


1-1053
ValeX
2002-06-18 18:54
2002.07.01
этот код не работает, в файл не пишет :(





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский