Probleme mit while-Schleife

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
macpes

Hallo zusammen,

ich habe ein Problem mit folgender while-Schleife:

Code: Alles auswählen

       
        ....
        range=158
        position=0
        self.gauge1.SetRange(range)
        self.textParameter.Clear() #alter Feldinhalt löschen
        ser.write("get_para") #Kommando "Parameterliste anfordern"    
        while 1:
            Text = ser.readline()
            if not Text: break             
            self.textParameter.WriteText(Text)
            position += 1
            if position > 158: position = 158
            self.gauge1.SetValue(position)
        ser.close() #Schnittstelle schliessen
        Bemerkung="Anzahl der Zeilen: " + str(position)
        self.textParameter.WriteText(Bemerkung)
        ....
Die Daten werden zwar eingelesen und im wxTextCtrl-Feld "textParameter" gespeichert, aber auf dem Bildschrim wird der Inhalt erst nach dem "break" aktuallisiert. Schlimmer ist aber, daß die Variable "position" nicht weiter zählt und in weiterer Folga auch die Verlaufsanzeige (gauge) nicht funktioniert. Der Wert der Variable "position" beträgt am Schluß definitiv 1.

Hat jemand eine Idee wieso obiger Code nicht funktioniert?

MfG
Markus P.
macpes

Hallo nochmals,

ich hatte soeben eine Erleuchtung :idea: und mein Problem ist nun gelöst.
Ich hatte auf der Gegenseite vergessen neben dem CR ein LF
nach jeder Zeile zu senden und so hat mein Python-Program alle 158 Zeilen unter einmal empfangen und ist so die Schleife auch nur einmal durchlaufen.

Und für diese Erkenntnis habe ich nun ein paar Studen gebraucht,
wie peinlich. :cry:

MfG
Markus
Antworten