Guten Morgen.
Die Zahl der führenden Nullen kann man auch anders ermitteln. Und die Zahl der Speicheranforderungen durch schrittweises Vergrößern des Result-Strings lässt sich vermeiden:
Delphi-Quellcode:
function DualToStr(c: Cardinal): String;
const
MAXLEN = 32;
var
i: Integer;
begin
SetLength(Result, MAXLEN);
i := 0;
repeat
Inc(i);
Result[MAXLEN - i] := Chr(Ord('0') + Ord(Odd(c)));
c := c shr 1;
until c = 0;
Result := Copy(Result, MAXLEN - i, Succ(i));
end;
Grüße vom marabu