Ersteinmal darfst du keine Äpfel mit Birnen vergleichen
itoa entspricht ja eher den Prozeduren
Str und
Val,
aber nicht den Funktionen IntToStr und StrToInt.
Eine Variable als VAR-Parameter zuübergeben und "nur" zu verändern ist was total Anderes, als eine zweite Variable komplett neu zu erzeugen und die Andere zu löschen/überschreiben.
Und ich empfehle dir dringend mal FastMM zu besorgen. (in "aktuellen" Delphis ist absichtlich, seit bestimmt schon über 8 Jahren, der alte DelphiMM dadurch ersetzt wurden)
Und Deine Aussage war so auch nicht aussagefähig, denn wenn das Ganze 2 Tage gebraucht hätte, dann wären 5 Seknden garnichts.
PS: Du weißt daß man die Zahlen abschreiben oder gar kopieren und sie "direkt" neben de 5 Sekunde-Bemerkung hätte schreiben können?
(Das Bild war eh nicht nötig, bei den wenigen Informationen)
Delphi-Quellcode:
program Project2;
{$APPTYPE CONSOLE}
uses
Windows,
SysUtils;
var
i, j : Integer;
c, cbuf : DWORD;
s : AnsiString;
s2 : ShortString;
begin
c := GetTickCount;
for i := 0 to 5650 do
for j := 0 to 9930 do begin
s := IntToStr(j);
s := IntToStr(j-i);
end;
cbuf := GetTickCount;
WriteLn(cbuf-c);
c := GetTickCount;
for i := 0 to 5650 do
for j := 0 to 9930 do begin
Str(j, s);
Str(j-i, s);
end;
cbuf := GetTickCount;
WriteLn(cbuf-c);
c := GetTickCount;
for i := 0 to 5650 do
for j := 0 to 9930 do begin
Str(j, s2);
Str(j-i, s2);
end;
cbuf := GetTickCount;
WriteLn(cbuf-c);
ReadLn;
end.