Einzelnen Beitrag anzeigen

saltjohn2

Registriert seit: 27. Jan 2009
5 Beiträge
 
#28

Re: CRC32 für einzelne Wörter!

  Alt 27. Jan 2009, 10:48
Also ich hab mich jetzt nochmal drangesetzt und deinen Vorschlag versucht zu übernehmen. Doch leider kommt bei mir die Meldung
Zitat:
[Pascal Fehler] ConfigTelegramm.pas(190): E2015 Operator ist auf diesen Operandentyp nicht anwendbar
in der Zeile mit CRC.Update(@DestMAC + 4, 2);
Delphi-Quellcode:
//globale Variablen:
var DestMac,SrcMAC,TypeOrLength,Data: String;

// CRC-Prüfsumme berechnen
Function TForm1.MyCRC32: String;
Var CRC: ThxCRC32;
  Temp, FCS: LongWord;
begin
CRC.InitT(CRC32Table04);
CRC.Init;
Temp := not PLongWord(@DestMAC)^;    // 4 Byte in LongInt(=4 Byte) konvertieren und invertieren(not)
CRC.Update(@Temp, 4);             // diese 4 invertierten Byte ins CRC einberechnen
CRC.Update(@DestMAC + 4, 2);       // die letzen 2 Byte einberechnen HIER TAUCHT DER FEHLER AUF
Temp := not PLongWord(@SrcMAC)^;
CRC.Update(@SrcMAC, 4);
CRC.Update(@SrcMAC + 4, 2);
CRC.Update(@TypeOrLength, 2);
CRC.Update(@Data, 46);
CRC.Final;
FCS := not CRC{.asBin};
// Result := CRC im Hexstring?
Result := FCS.asHexstring;
end;
Das SOF wird in die CRC-Berechnugn nicht einbezogen deshalb hab ich es entfernt.
  Mit Zitat antworten Zitat