Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

For-Schleife in Select-Anweisung

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu QBasic.
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
studio



Anmeldungsdatum: 08.08.2005
Beiträge: 34

BeitragVerfasst am: 01.03.2006, 12:19    Titel: For-Schleife in Select-Anweisung Antworten mit Zitat

Guten Morgen!

Irgendwie steh ich heute morgen auf dem Schlauch.

Code:

    SELECT taste$
        FOR i%=1 TO 5
            CASE i%
                wert$ = "test" + STR$(i%)
                LOCATE 2,10 : PRINT wert$;
        NEXT i%
    END SELECT


Compiler meldet mir leider:
CASE i%
:error 55: Incorrect use of SELECT ..CASE..END..SELECT

Laut Dokumentation ist eine FOR-Schleife innerhalb einer
Select-Anweisung erlaubt. Welchen Fehler mache ich?

Im Voraus schon einmal Danke für Eure Hilfe.

Gruß
studio
_________________
Entwicklungsumgebung:
---------------------------
Hardware: Denso BHT 300 / SATO Etikettendrucker (MB 200)
Software: BHT-Basic (Ähnlichkeiten zu MSDOS-Basic)
Infos: ftp://www.denso-id.de/Documents/Manuals/Programmers_Manuals/Denso_OS/BHT300_Programmers_Manual_E.pdf
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
MisterD



Anmeldungsdatum: 10.09.2004
Beiträge: 3071
Wohnort: bei Darmstadt

BeitragVerfasst am: 01.03.2006, 12:33    Titel: Antworten mit Zitat

jo geht nich, case muss direkt unter select stehen. In deinem Fall s das select case vollkommen daneben, zumal du integer mit string vergleichst. Lies dir nochma durch, wie select case funktioniert. Bei deinem Beispiel reicht wahrscheinlich einfach nur
Code:
if val(taste$)>0 and val(taste$)<6 then locate 2,10 : print "test "+taste$

ansonsten musst du die selects ausschreiben und direkte strings vergleichen:
Code:
locate 2,10
select [case] taste$
    case "1": print "eins"
    case "2": print "zwei"
    case "3": print "drei"
end select

das case hab ich mal in klammern geschrieben weils bei deinem basic offenbar nich hin muss, bei QB muss es hin, also mach dus dann vielleicht einfach weg.
_________________
"It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration."
Edsger W. Dijkstra
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
studio



Anmeldungsdatum: 08.08.2005
Beiträge: 34

BeitragVerfasst am: 01.03.2006, 12:43    Titel: Antworten mit Zitat

Hallo!

Vielen Dank für Deine Antwort. Problem ist gelöst.

Verwendungszweck:
Im ersten Schritt lasse ich vom Benutzer eine Inquiry-Anfrage tätigen.
Somit kann er/sie alle in der Nähe befindlichen Bluetooth Geräte ermitteln.
Diese werden mit Ihrer MAC-Adresse in einem Array hinterlegt und auf
dem Display des MDE-Geräts ausgegeben.

Code:

    '$include:'bhtdef.inc'
     
    DIM BDADDR$(7)[12]
   
BLUE
    CLS     
   
    zeile% = 0
   
    OPEN "COM4:I,10,0" AS #4
        CALL "BT.FN3" .fcBTInqRes NUM%,BDADDR$()
    CLOSE #4
   
    FOR I%=0 TO NUM%-1
        zeile% = zeile% + 1
        LOCATE 2, zeile% : PRINT STR$(zeile%) + "." + BDADDR$(I%);
    NEXT   
   
    WAIT 0,&h01
    taste$ = INKEY$



Jetzt möchte ich dem Benutzer die Möglichkeit bieten ein Gerät auszuwählen.

Code:

    IF VAL(taste$) > 0 AND VAL(taste$) <= I% THEN
        blue$ = BDADDR$(VAL(taste$)-1)
        LOCATE 2,8 : PRINT blue$;
    ELSE
        BEEP ,,,0
    END IF


Vielen Dank nochmals für Deine Antwort.

Gruß
studio
_________________
Entwicklungsumgebung:
---------------------------
Hardware: Denso BHT 300 / SATO Etikettendrucker (MB 200)
Software: BHT-Basic (Ähnlichkeiten zu MSDOS-Basic)
Infos: ftp://www.denso-id.de/Documents/Manuals/Programmers_Manuals/Denso_OS/BHT300_Programmers_Manual_E.pdf
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu QBasic. Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

 Impressum :: Datenschutz