Das Open-Control-Projekt - Die Alternative zur C-Control-I


Das Forum zur C-Control-1
Welche C-Control-Varianten existieren?
Übersicht - Suchen - Neueste 50 Beiträge - Neuer Beitrag - Login - Registrieren
INFO - FAQ - CC2-Forum - CCPro-Forum 

 Problem mit ON...GOSUB, erbitte Hilfe! Kategorie: Programmierung Basic (von TomTom - 3.04.2004 11:58)
Hallo Gemeinde!

Kann mir bitte ein Sachkundiger erklären, warum folgendes Konstrukt nicht funktioniert?

DEFINE Char BYTE

#LOOP
  ON KEYIN GOSUB AUSGABE_0, AUSGABE_1, AUSGABE_2, AUSGABE_3, AUSGABE_4
 GOTO LOOP

#KEYIN
   GET Char
   IF Char = 27 THEN GET Char ELSE Char = 0
   IF Char = 91 THEN GET Char
   IF Char = 65 THEN RETURN 1   'UpKey
   IF Char = 66 THEN RETURN 2   'DownKey
   IF Char = 67 THEN RETURN 3 'RightKey
   IF Char = 68 THEN RETURN 4   'LeftKey
  RETURN 0     'Wrong_Key

 #AUSGABE_0
   PRINT "Wrong_Key"
  RETURN

 #AUSGABE_1
   PRINT "UpKey"
  RETURN

 #AUSGABE_2
   PRINT "DownKey"
  RETURN

 #AUSGABE_3
   PRINT "RightKey"
  RETURN

 #AUSGABE_4
   PRINT "LeftKey"
  RETURN

Der freundliche Compiler meldet hierzu: Fehler, Zeile 10: Variable erwartet. Muss ich denn erst das
von #KEYIN zurückgelieferte Ergebnis in einer (*kostbaren*) Hilfsvariable speichern, um es mit
ON...GOSUB weiterverarbeiten zu können??
Wenn ich das Programm umarbeite in:

DEFINE Char BYTE
DEFINE Hilfsvariable BYTE

#LOOP
  Hilfsvariable = KEYIN
  ON Hilfsvariable GOSUB AUSGABE_0, AUSGABE_1, AUSGABE_2, AUSGABE_3, AUSGABE_4
 GOTO LOOP

USW

dann funzt das Ganze wonderbra!  Ich möchte diese Hilfsvariable aber gerne einsparen, so dick hab ich's
auch nicht ;-)

Weiss jemand Rat?
Danke
TomTom




 Antwort schreiben

Bisherige Antworten:

Re: Problem mit ON...GOSUB, erbitte Hilfe! (von ManfredW - 3.04.2004 16:08)
    Re: Problem mit ON...GOSUB, erbitte Hilfe! (von TomTom - 3.04.2004 17:53)