AGB  ·  Datenschutz  ·  Impressum  







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

CRC16 Problem mit Input ASCII/Hex

Ein Thema von Zer0ne · begonnen am 9. Apr 2018 · letzter Beitrag vom 10. Apr 2018
 
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.506 Beiträge
 
Delphi 12 Athens
 
#2

AW: CRC16 Problem mit Input ASCII/Hex

  Alt 9. Apr 2018, 15:00
Wieso liefert deine Funktion immer Result als 0?
> Eine Prozedur oder den CRC als Result.

Wieso ist dein Wert 32 Bit (Int32) und keine 16 Bit?

Und vor allem: Warum wird Value bzw. crc nirgendwo initialisiert?

Zitat:
for i:=0 to Length(Command) do
Schalte in deinen Projektoptionen mal die Indexprüfung an und frage dich, ob die 0 wirklich stimmt.

Ich würde Command[i] vor der inneren Schleife in eine Variable (Byte) kopieren und dann damit arbeiten, anstatt Command zu verändern.

Und da es immer nur ASCII EASCII bzw. ANSI ist, würde ich auch einen AnsiString als Parameter verwenden.



Zitat:
Jetzt will ich das ganze aber als Hex eingeben, da ich das Ergebnis 0xFD9C
Dann mußt du eben vorher den String "020D000A413068656C6C6F" als HEX betrachten, also erstmal jeweils zwei Zeichen in ein Char konvertieren.
Manuell (selber Zeichen für zeichen)
oder z.B. Delphi-Referenz durchsuchenHexToBin in einen AnsiString passender Länge.

Oder noch einen Parameter isHEX in deine Funktion/Prozedur
und dann statt ein Zeichen zu nehmen (Ord), jeweils zwei Zeichen nehmen, sie von Hex nach Byte umwandeln und dann damit den CRC berechnen.
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu ( 9. Apr 2018 um 15:08 Uhr)
  Mit Zitat antworten Zitat
 


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 09:08 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz