Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   С/С++, C#, Delphi, .NET, Asm (https://forum.antichat.xyz/forumdisplay.php?f=24)
-   -   wsprintf delphi (https://forum.antichat.xyz/showthread.php?t=111907)

s0l_ir0n 19.03.2009 08:38

wsprintf delphi
 
Возникла проблема. Имеется строка 18 символов, нужно сделать вывод этой строки в формате xxx-xxx-xxx-xxx-xxx-xxx, немогу понять как это сделать, подскажите.
Я использую
const
FormatStr = '%d-%d-%d-%d-%d-%d';
wvsprintf(PChar(finishkey), FormatStr,PChar(@finishkey));
Но выходит совсем не то, что нужно.

slesh 19.03.2009 10:47

Код:

const
 FormatStr = '%d-%d-%d-%d-%d-%d';
var
 buf:array[0..255] of char;
 param:array[0..5] of integer;
begin
 param[0]:=10;
 param[1]:=2;
 param[2]:=3;
 param[3]:=4;
 param[4]:=5;
 param[5]:=6;
 wvsprintf(buf, FormatStr,@param);
 showmessage(buf)
end;

Чтобы можно было передавать разного типа данные, то придется в массив вбивать адреса их типа
Код:

const
 FormatStr = '%d-%d-%s-%d-%d-%d';
var
 buf:array[0..255] of char;
 param:array[0..5] of dword;
 s:string;
begin
 s:='hello'#0;
 param[0]:=10;
 param[1]:=2;
 param[2]:=dword(@s[1]);
 param[3]:=4;
 param[4]:=5;
 param[5]:=6;
 wvsprintf(buf, FormatStr,@param);
 showmessage(buf)
end;



Время: 02:06