AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Probleme mit CRC CCITT Prüfsumme

Ein Thema von willyxv · begonnen am 8. Jun 2011 · letzter Beitrag vom 9. Jun 2011
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von Deep-Sea
Deep-Sea

Registriert seit: 17. Jan 2007
907 Beiträge
 
Delphi XE2 Professional
 
#11

AW: Probleme mit CRC CCITT Prüfsumme

  Alt 9. Jun 2011, 10:17
Denke schon, im Programm wird die Prüfsumme auch aus dem Namen der zu bestimmenden Werte gebildet.
Und die Stings sind auch ganz sicher ASCII und nicht vlt. als UTF-16 codiert?!


Wo finde bzw setzte ich hier den Start_Val aus dem C programm?
Na bei Result := High(Result);
Man kann natürlich auch Result := Word(-1); schreiben, wenn es einem mehr gefällt
Chris
Die Erfahrung ist ein strenger Schulmeister: Sie prüft uns, bevor sie uns lehrt.
  Mit Zitat antworten Zitat
willyxv

Registriert seit: 25. Okt 2010
29 Beiträge
 
Delphi XE Enterprise
 
#12

AW: Probleme mit CRC CCITT Prüfsumme

  Alt 9. Jun 2011, 10:22
Hmm jetzt weiß ich auch nicht mehr weiter, werd mich mal direkt an die firma richten, danke für die Hilfe.

Denke schon, im Programm wird die Prüfsumme auch aus dem Namen der zu bestimmenden Werte gebildet.
Und die Stings sind auch ganz sicher ASCII und nicht vlt. als UTF-16 codiert?!
Aus der Anleitung:
"Within the name, parameters, only ASCII characters (ASCII 32 to 126) are allowed, i. e. ä, ü and µ are invalid characters and will cause a failure."

Geändert von willyxv ( 9. Jun 2011 um 10:25 Uhr)
  Mit Zitat antworten Zitat
gammatester

Registriert seit: 6. Dez 2005
999 Beiträge
 
#13

AW: Probleme mit CRC CCITT Prüfsumme

  Alt 9. Jun 2011, 10:43
Mit dem zweiten Datensatz (Beispiel 2: Wert: "385183474" Prüfsumme: "45942") liefert mein Pascal-Code den richtigen Wert, hier die komplette Funktion:
Delphi-Quellcode:
function GenerateCRC16(const s: ansistring): word;
var
  crc16: word;
  i: integer;
begin
  crc16 := $FFFF;
  for i:=1 to length(s) do begin
    crc16 := ((ord(s[i]) and $ff) xor ((crc16 and $ff) shl 8)) xor Crc16Tab[crc16 shr 8];
  end;
  result := crc16;
end;
Den ersten Datensatz solltest Du halt noch mal kontrollieren.
  Mit Zitat antworten Zitat
willyxv

Registriert seit: 25. Okt 2010
29 Beiträge
 
Delphi XE Enterprise
 
#14

AW: Probleme mit CRC CCITT Prüfsumme

  Alt 9. Jun 2011, 10:54
Hi,

danke es funktioniert jetzt, der Erste Datensatz steht zwar so in der Anleitung, aber die Maschiene tut.

Vielen Dank
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:07 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz