PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : "Select Case" und dann mehrere Anweisungen pro Zei



Willa
24.10.2007, 13:44
Hallo!
Ich habe ein Problem mit Select Case:


Select Case X
Case 1 : Print "Guten Tag" : Print "mein lieber Herr Gesangsverein"
Case 2 : Y = 5 : Z = 3
End Select

In der Zeile "Case 2" gibt Bascom einen Fehler aus ("3 parameters expected") . Die Zeile "Case 1" scheint aber in Ordnung zu sein und zu funktionieren.
Ich brauche mehrere Befehle pro Zeile, da ich die Befehle mit excel erstelle und dort nicht die möglichkeit eines zeilenwechsels habe....
Am ande soll statt "Y = 5 : Z = 3" dort stehen:

servo(1) = 60 : servo(2) = 107

Aber das funktioniert halt nicht......
Wie kann ich bascom überzeugen mehrere Befehle pro zeile hinter case zu akzeptieren?
Vielen Dank für eure Antwort,
William

Jaecko
24.10.2007, 14:04
Moin.

Also richtig verstanden: Code aus Excel => Bascom?

Füge den Code mal in Word ein und mach dann Ersetzen von : nach ^p .
Schmeisst alle Doppelpunkte raus und fügt dort nen Zeilenumbruch ein.
Den neuen Code dann einfach nach Bascom kopieren und klappen sollts.

Sofern der Doppelpunkt noch anderweitig verwendet wird, muss als Trennzeichen was anderes verwendet werden; anderes Zeichen oder Zeichenfolge (z.B.
o.ä.)

robodriver
24.10.2007, 14:09
Wie genau erzeugst du den Code in Excel?

Warum kannst du da keine Zeilenumbrüche machen? Über Macros kann man in excel mit &vbcrlf oder auch mit chr(10) & chr(13) Zeilenumbrüche erzeugen

Willa
24.10.2007, 14:26
Hi!
Danke Jaecko und robodriver! Das mit word und ^p ist wohl die schnellste Lösung...
Mein Code in Excel erzeuge ich so:

="case "&J25&": servo(1) = "&RUNDEN(K25;0)&" : " &"servo(1) = "&RUNDEN(M25;0)

Also (noch) ohne macros.
Vielen Dank und viele Grüße,
William

robodriver
25.10.2007, 06:09
okay, wenn dus dann mit Macros erweiterst, dann gehts einfacher und direkt ohne Word ;)

for_ro
25.10.2007, 13:42
Hi!

="case "&J25&": servo(1) = "&RUNDEN(K25;0)&" : " &"servo(1) = "&RUNDEN(M25;0)



In meiner deutschen Excel Version kann ich einfach

="case "&J25&": servo(1) = "&RUNDEN(K25;0)&" : " &"servo(1)= "&RUNDEN(M25;0)&ZEICHEN(13)& ZEICHEN(10)

schreiben, dann kommt ein Return am Ende.

Gruß

Rolf

robodriver
25.10.2007, 13:53
genau, dann müsstest du deine Zeile so schreiben:

="case "&J25&ZEICHEN(13)& ZEICHEN(10)&"servo(1) = "&RUNDEN(K25;0)&ZEICHEN(13)& ZEICHEN(10)&"servo(1)= "&RUNDEN(M25;0)

Gruß Robodriver