im Prinzip isses eigentlich völlig egal, Hauptsache das Programm läuftIst vielleicht nicht schön, aber funzt auch ohne.![]()
Ich mach's halt so, daß ich im Hauptprogramm eine Schleife habe, die dann weiter verzweigt.
Du mußt bei Tasterabfragen ja normalerweise immer wieder Abfragen, mußt also sowieso im Programm irgendwie zurückspringen.
Bei Gosub brauchst du ein Return, sonst läuft das Programm einfach weiter und springt nicht mehr zurück, wie es soll.
Ich mach's in etwa so:
Code:Taster1 Alias Pind.0 Taster2 Alias Pind.1 Do Gosub Tasterabfrage Loop End 'end program Tasterabfrage: If Taster1 = 0 Then Gosub Label1 End If If Taster2 = 0 Then Gosub Label2 End If Return Label1: Cls Lcd "HAllo" Return Label2: Cls Lcd "TEST" Return '(Man sollte allerdings noch abfragen, ob der Menüpunkt schonmal abgefragt wurde, 'sonst flackert das Display durch die dauernden CLS während dem Tastendrücken und man sieht auch nicht viel ) ;). 'Oder nur eine Zeile löschen / überschreiben etc.. 'Das Return läßt das Programm an der Stelle nach dem Gosub-Aufruf weiterarbeiten, springt also zurück. ' Im Gegesatz zum GOTO, bei dem lediglich zum Label gesprungen wird und nicht zurück.








Zitieren

Lesezeichen