Ja, immer wieder spannend was man so alles in eine einfache Menge packen kann
.
Ich nehm mal an, dass das viele Delphianer nicht wissen und UR uns allen damit wieder einmal zeigen wollte, was Delphi so alles kann
.
Schnell ist das aber nicht.
Wenn viele Daten anfallen / Tempo eine Rolle spielt, dann kann man es auch so machen:
Delphi-Quellcode:
var merger : array[0..15,0..15] of string;
hti : array[ '0'..'F' ] of integer;
function ConvertA(const A, B: string): string;
var i : integer;
begin
Assert(Length(A) = Length(B), 'Strings müssen gleich lang sein!');
Result := '';
for i := 1 to length(A) do Result := Result + merger[hti[A[i]],hti[B[i]]];
end;
Das ist auf meiner Kiste über 16 Mal schneller und da die beiden Algos O(n) sind, ist das wohl auch auf langsameren und schnelleren Kisten so.