Einzelnen Beitrag anzeigen

TiGü

Registriert seit: 6. Apr 2011
Ort: Berlin
3.070 Beiträge
 
Delphi 10.4 Sydney
 
#2

AW: Codeschnipsel von GO zu Delphi übersetzen.

  Alt 20. Okt 2015, 09:33
Ich bin die Sache so angegangen das ich einen string mit crc32 gehashed habe. Das Ergebnis ist ein DWord mit 10 stellen. Im oberen Code wird daraus ein 64 bit Unisgned Integer gemacht. Hier fehlen mir die Kenntnisse. Wie bilde ich das in Delphi ab? Im Grunde möchte ich also die gameid ermitteln.
Gruß
Irgendwie so in der Art?

Delphi-Quellcode:
var
  Hash: IdHashCRC.TIdHashCRC32;
  uniqueName: string;
  gameID: string;
  HashedValue: UInt32;
  top: UInt64;
begin
  uniqueName := 'Beispiel_Name';
  Hash := TIdHashCRC32.Create;
  try
    HashedValue := Hash.HashValue(uniqueName);
  finally
    Hash.Free;
  end;

  top := HashedValue or $80000000;
  top := top shl 32 or $02000000;
  gameID := System.SysUtils.IntToHex(top, 10);
  gameID := System.SysUtils.LowerCase(gameID);
end;
Ggf. musst du ein mit den Anzahl der Stellen bei der IntToHex-Funktion experimentieren.
Die Verwendung von LowerCase deswegen, weil die FormatUint-Funktion Kleinbuchstaben zurückliefert :
https://golang.org/pkg/strconv/#FormatUint
  Mit Zitat antworten Zitat