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.
Ein Therapeut entspricht 1024 Gigapeut.