String in ein Array schreiben aber wie? (AnfängerUpps)
-
Hallo alle Zusammen!!!
Bin gerade dabei eine GUI_Anwendung zu Programmieren (Abschlussarbeit Techniker)die ein externes Gerät(Frequenzumformer der einen Motor regelt) bedient. Der Datenaustausch findet über eine serielle Schnittstelle statt. Angesprochen wird der Frequenzumformer mit Hilfe eines 22 langen Byte Protokoll.
Bsp. (immmer gleich)
"<01U00000520+000000??>"
Dieser String geht immer hin und her(natürlich mit anderen Werten)!!
Würde diesen String jetzt gerne in ein Array packen (eins zum Senden und eins zum Empfangen). So sollte es aussehen
Empfangs Array
Array[0] -> "<" Startbyte
Array[1] -> "01" Busadresse
Array[2] -> "U" Steuerbefehl (R->lesen U->schreiben)
Array[3] -> "0000" Steuerzeichen
Array[4] -> "+" Vorzeichen
Array[5] -> "00000" Datenwert
Array[6] -> "0" Komma position
Array[7] -> "??" Prüfsumme
Array[8] -> ">" StopbyteAlso Array[8] [5]?
**ich will ihn also gleich deim Empfangen zerteilen
Aber wie mit Hilfe einer For-Schleife?
**
Benutze gerade die Funktion SubString und wandle vorher in AnsiString um.
Bin aber damit nicht so glücklich, sehr umständlich da ich sie in 8 var. packen muss.
Hat vielleicht einer eine Idee?
Hatte leider nicht so lange C und auch nur mit Konsolenanwendungen. Bringe mir die ganze Sache mit der GUI selbst bei (E-Techniker kein Programmierer).
Also vielen Dank schonmal im voraus.
MFG Michbeck78
-
spotan würde ich da mit structs arbeiten. ein komplettes protokoll kannst dann mit einer funktion (sscanf, oder selbst was 'sichereres' schreiben) einlesen. vor allem da die datentypen anscheinend untershiedlich groß sind bietet es sich an. ich verstehe nur nicht recht wie du auf array[8][5] kommst...
-
Ja, würd ich auch machen. Pack das in eine Struktur rein.