Für die Methodensignatur kannst du weiter Strings nehmen.
Nur beim Zusammenbauen des Strings den Stringbuilder nehmen:
Delphi-Quellcode:
function MyStrToHex(const s: String): String;
var
i: Integer;
StrBuilder: TStringBuilder;
begin
StrBuilder := TStringBuilder.Create;
try
for i := 0 to s.Length - 1 do
StrBuilder.Append(IntToHex(Ord(s[i]), 4));
result := STrBuilder.ToString;
finally
StrBuilder.Free;
end;
end;
Ansonsten probier Medium's Version.
Du meintest wahrscheinlich so:
Delphi-Quellcode:
function MyStrToHex(s: string): string;
var
i: Integer;
SB: TStringBuilder;
begin
Result := '';
SB := TStringBuilder.Create;
try
for i := 1 to Length(s) do
SB.Append(IntToHex(Ord(s[i]), 4));
Result := SB.ToString;
finally
SB.Free;
end;
end;
Vielen Dank für den Tipp! Gibt es aber eine Erklärung dafür, wieso TStringBuilder.Append schneller sein soll als das traditionelle Zusammenfügen von Strings mit dem Additionszeichen?