hallo,
deinen letzten vorschlagt ebenfalls beherzt - mit dem erfolg das die zahlen
zumindet jetzt durchweg im ergebnis positiv sind und die anzahl der stellen
gleich ist. die routine sieht jetzt so aus:
...
$lnCrc32 = -1;
For ($iX=0; $iX<strlen($tcStr); $iX++)
{
$lnByte = ord(SubStr($tcStr, $iX, 1));
$lnZ = $lnByte ^ ($lnCrc32 & 0x000000FF);
$wert=$CRCTbl[$lnZ];
if ($wert>0x7fffffff) $wert=$wert-4294967296;
$lnCrc32 = $wert ^ (($lnCrc32 >> 8) & 0x00ffffff);
}
$lnCrc32 = ~$lnCrc32;
if($lnCRC32 < 0) $lnCRC32 = 4294967296 + $lnCRC32;
Return $lnCrc32;
...
dank für deine mühe,
j.b.