[delphi]Zapis liczby w postaci 0000001

0

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

0

wywala błąd?

Writeln(seria, Format('|%.5d|', [inttostr(trzy)]));

/ %.5d incompatible argument

to inttostr(trzy) musi miec taki format %.5d?

0

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.
0

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);
0
kAzek napisał(a)

Po co IntToStr skoro d określa wartość typu integer?

faktycznie...

dziękuję za pomoc!!

pozdrawiam :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1