 |
Das deutsche QBasic- und FreeBASIC-Forum Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
|
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
studio
Anmeldungsdatum: 08.08.2005 Beiträge: 34
|
Verfasst am: 01.03.2006, 12:19 Titel: For-Schleife in Select-Anweisung |
|
|
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 |
|
 |
MisterD

Anmeldungsdatum: 10.09.2004 Beiträge: 3071 Wohnort: bei Darmstadt
|
Verfasst am: 01.03.2006, 12:33 Titel: |
|
|
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 |
|
 |
studio
Anmeldungsdatum: 08.08.2005 Beiträge: 34
|
Verfasst am: 01.03.2006, 12:43 Titel: |
|
|
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 |
|
 |
|
|
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.
|
|