Einzelnen Beitrag anzeigen

PeterPanino

Registriert seit: 4. Sep 2004
1.465 Beiträge
 
Delphi 10.4 Sydney
 
#8

AW: MyStrToHex extrem schnell

  Alt 24. Dez 2012, 10:11
Meinst etwa so?:
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?
  Mit Zitat antworten Zitat