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] -> ">" Stopbyte

    Also 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.


Anmelden zum Antworten