sieht ja nett aus aber warum Pointer nutzen??
Ich meine man könnte doch einfach die Laufvariable i nehmen und die Strings direkt anquatschen!
Und warum der Ergebnisvariablen eine länge gebne?
SetLength(Result, Length(dual) div 8);
So irgendwie:
Delphi-Quellcode:
function DualToStr(dual: String): String;
var
i: integer;
b: Byte;
begin
b := 0;
for i := 1 to Length(dual) do
begin
b := b shl 1 + Ord(dual[i] <> '0');
if i mod 8 = 0
then begin
result[i div 8] := Chr(b);
b := 0;
end;
end;
end;