pb doesnt have unsigned longs and Str() expects a quad / Val() returns a quad.
old:
Code: Select all
MyLong.l = CRC32Fingerprint(?MyString, ?MyStringEnd - ?MyString)
Debug Str(MyLong)
Debug Str(CRC32Fingerprint(?MyString, ?MyStringEnd - ?MyString) & $FFFFFFFF)
Debug StrU(CRC32Fingerprint(?MyString, ?MyStringEnd - ?MyString), #PB_Long)
Debug UCase(RSet(Hex(CRC32Fingerprint(?MyString, ?MyStringEnd - ?MyString), #PB_Long), 8, "0"))
DataSection
MyString:
Data.a $48, $65, $6C, $6C, $6F
MyStringEnd:
EndDataSection
new:
Code: Select all
UseCRC32Fingerprint()
MyLong.l = Val("$"+Fingerprint(?MyString, ?MyStringEnd - ?MyString, #PB_Cipher_CRC32))
Debug Str(MyLong)
Debug Str(Val("$"+Fingerprint(?MyString, ?MyStringEnd - ?MyString, #PB_Cipher_CRC32)))
Debug UCase(RSet(Fingerprint(?MyString, ?MyStringEnd - ?MyString, #PB_Cipher_CRC32), 8, "0"))
DataSection
MyString:
Data.a $48, $65, $6C, $6C, $6F
MyStringEnd:
EndDataSection
i still hope that regular Str() gets an optional type like StrU() -
http://www.purebasic.fr/english/viewtop ... =3&t=64823
c ya,
nco2k