Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.287 Beiträge
 
Delphi 12 Athens
 
#16

Re: CRC32 für einzelne Wörter!

  Alt 22. Jan 2009, 12:48
Wenn du nur eine Funktion möchtest, dann mußt du dir allerdings selber was basteln,
da ich meine CRC32-Frunktionen ohne feste HashTabelle erstellt hab und diese muß erst initialisert werden.

Nicht wundern, Aufgrund des internen Aufbaus ist wirklich kein freigeben (.Free) nötig.
Und abgesehn vom CRC32 wird auch kein (.InitT aka .Create) benötigt.
Delphi-Quellcode:
Function MyCRC32(Datastring: String): String;
  Var CRC32: ThxCRC32;

  Begin
    CRC32.InitT;
    Result := CRC32.Calc(S).asHexString;
  End

aString := aString + MyCRC32(aString);
oder so
Delphi-Quellcode:
Function MyCRC32(Datastring: String; Polynom: LongWord = $EDB88320): String;
  Var CRC32: ThxCRC32;

  Begin
    CRC32.InitT(Polynom);
    Result := CRC32.Calc(S).asHexString;
  End

aString := aString + MyCRC32(aString, $12345678);
aber am Effektivsten sähe es dann so aus:
(nicht jedesmal die HashTabelle neu berechnen)
Delphi-Quellcode:
Var CRC32: ThxCRC32;

CRC32.InitT;

aString := aString + CRC32.Calc(aString).asHexString;
aString := aString + CRC32.Calc(aString).asHexString;
aString := aString + CRC32.Calc(aString).asHexString;

hab das Ganze auch gleich mal an Delphi 2009 angepaßt
und hoff es haben sich keine Fehler beim Umbau eingeschlichen.
Angehängte Dateien
Dateityp: dpr project1_210.dpr (951 Bytes, 15x aufgerufen)
Dateityp: pas fhash_single_167.pas (126,3 KB, 34x aufgerufen)
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat