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 

 Re: Klasse, Stefan! Kategorie: Verschiedenes (von Patrick, Homepage - 14.12.2004 16:30)
 Als Antwort auf Re: Klasse, Stefan! von Dietmar - 14.12.2004 16:12

> IF Key_Nr = KEY_ASTERIX THEN PRINT "Taste *"
> IF Key_Nr = KEY_7 THEN PRINT "Taste 7"
> IF Key_Nr = KEY_4 THEN PRINT "Taste 4"
> IF Key_Nr = KEY_1 THEN PRINT "Taste 1"
> IF Key_Nr = KEY_0 THEN PRINT "Taste 0"
> IF Key_Nr = KEY_8 THEN PRINT "Taste 8"
> IF Key_Nr = KEY_5 THEN PRINT "Taste 5"
> IF Key_Nr = KEY_2 THEN PRINT "Taste 2"
> IF Key_Nr = KEY_CROSS THEN PRINT "Taste #"
> IF Key_Nr = KEY_9 THEN PRINT "Taste 9"
> IF Key_Nr = KEY_6 THEN PRINT "Taste 6"
> IF Key_Nr = KEY_3 THEN PRINT "Taste 3"

Hier ist ganz klar, dass es mit IF und END IF unübersichtlich wäre, aber das liegt eher am IF Befehl. Denn dieses Beispiel ist ja schon selbst ein CCBASIC Workaround für die C-Control. Eigentlich wäre hier in jeder Programmiersprache Select Case die bessere Struktur.

Select Case Key_Nr
 Case KEY_ASTERIX: Print "#"
 Case 7: Print "7"
 Case 4: Print "4"
...
End Select

Hätte auch den Vorteil, dass, wenn Key_Nr eine Portvariable ist, diese nur einmal ausgelesen wird. Mit IF könnte es passieren, dass sich Key_Nr zwischenzeitlich ändert, dann geht entweder der erste Wert für Key_Nr verloren oder es werden mehrfache Ausgaben gemacht.

Meine Homepage: http://home.tiscali.de/mbasic

 Antwort schreiben

Bisherige Antworten:

Re: Klasse, Stefan! (von Dietmar - 14.12.2004 18:18)
    bitte kein BASIC ohne goto (von Kay - 14.12.2004 18:41)
Re: Klasse, Stefan! (von Kay - 14.12.2004 17:07)
    Re: Klasse, Stefan! (von Patrick - 14.12.2004 17:32)
        Re: Klasse, Stefan! (von Kay - 14.12.2004 17:38)
            Re: Klasse, Stefan! (von Stefan Tappertzhofen - 14.12.2004 18:15)
                Re: Klasse, Stefan! (von Kay - 14.12.2004 18:30)