Witam serdecznie.
W jaki sposób można zapisać liczbę w takim formacie np. 00001?
Czy po zwiększeniu liczby o 1, za pomocą INC(), otrzymam 00002?
pozdrawiam
Witam serdecznie.
W jaki sposób można zapisać liczbę w takim formacie np. 00001?
Czy po zwiększeniu liczby o 1, za pomocą INC(), otrzymam 00002?
pozdrawiam
wywala błąd?
Writeln(seria, Format('|%.5d|', [inttostr(trzy)]));
/ %.5d incompatible argument
to inttostr(trzy) musi miec taki format %.5d?
Po co IntToStr skoro d określa wartość typu integer?
var
liczba: Integer;
begin
liczba:= 1;
Writeln(Format('%0:.5d', [liczba]));
Inc(liczba);
Writeln(Format('%0:.5d', [liczba]));
Readln;
end.
Można też użyć takiego kodu jaki wygooglowałem, bez konieczności użycia modułu SysUtils, co dla mnie było
ważne akurat, bo chcialem stworzyć program w WinAPI z możliwie jak najmniejszym plikiem wykonywalnym.
function _FormatC(const Format : string) : string; cdecl;
const
StackSlotSize = SizeOf(Pointer);
var
Args : VA_List;
Buffer : array[0..1024] of Char;
begin
Args := va_list(PAnsiChar(@Format) + ((SizeOf(Format) + StackSlotSize - 1) and not (StackSlotSize - 1)));
SetString(Result, Buffer, wvsprintfA(Buffer, PChar(Format), Args));
end;
var
FormatC : function(const Format : string) : string; cdecl varargs = _FormatC;
Przyklad użycia, a ewentualnie kolejne parametry po przecinkach:
FormatC(''%0:.5d', Liczba);
kAzek napisał(a)
Po co IntToStr skoro d określa wartość typu integer?
faktycznie...
dziękuję za pomoc!!
pozdrawiam :)