Просмотр полной версии : wsprintf delphi
s0l_ir0n
19.03.2009, 08:38
Возникла проблема. Имеется строка 18 символов, нужно сделать вывод этой строки в формате xxx-xxx-xxx-xxx-xxx-xxx, немогу понять как это сделать, подскажите.
Я использую
const
FormatStr = '%d-%d-%d-%d-%d-%d';
wvsprintf(PChar(finishkey), FormatStr,PChar(@finishkey));
Но выходит совсем не то, что нужно.
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;
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot