Hej Utkast: Nu vet jag inte hur man definierar checksum.Översätta C-kod till VB6
Jag har fått denna lilla kod avseende beräkning av en checksumma. Som okunnig i C kan jag inte tolka detta:
byte checksum=0;
for (count=0 ; count<packetsize ; count ++)
{
checksum+= packet[count]
}
checksum = checksum ^ 0xFF
packet[packetsize++]=checksum
Det är i första hand raden i loopen: checksum+= packet[count]
Tacksam för förslag på lösning !
Sv: Översätta C-kod till VB6
Dim i As Integer
Dim iCheckSum As Integer
Dim sPacket As String
iCheckSum = 0
sPacket = "abcd1234"
For i = 1 To Len(sPacket)
iCheckSum=iCheckSum+???????????
Next
iChecksum =iCheckSum Xor 255
Problemet löst
Dim i As Integer
Dim iCheckSum As Integer
Dim sPacket As String
iCheckSum = 0
sPacket = "abcd1234"
For i = 1 To Len(sPacket)
iCheckSum=iCheckSum xor asc(mid$(spacket,i,1))
next
iChecksum =iCheckSum Xor 255
Sv: Problemet löst
Är det summan av Hex värdena på varje tecken
eller
summan av Ascii värdena.
eller är det något annat trixande.
DVS vad är det som blir den slutliga Checksum på abcd1234 ?
Kolla detta
http://www.planet-source-code.com/vb/scripts/ShowCode.asp?txtCodeId=63766&lngWId=1