Es gibt in Basic wenn ich mich nicht irre so etwas:
Code:myVar = 3; select case myVar case 1 print "one" case 2 print "two" case 3 print "three" case else print "not 1, 2 or 3" end select
Hallo Leute,
habe mal ne Frage. Ich lese mit dem ADC einen Spannungswert und will nun bei verschiedenen Werten 10 verschiedene "Dinge" ablaufen lassen.
Muß ich nun 10x z.B.
IF Wert = 5 Then Gosub xyz
IF Wert = 10 THEN GOSUB klm usw.
machen, oder gibt es auch eine elegantere, vielleicht sogar sparsamere Variante?
Sowas steht leider in keinem Buch, oder kennt jemand eines über strukturierte Programmiereung in BASIC??
Danke, Andreas
Es gibt in Basic wenn ich mich nicht irre so etwas:
Code:myVar = 3; select case myVar case 1 print "one" case 2 print "two" case 3 print "three" case else print "not 1, 2 or 3" end select
Unwissenheit ist ein Segen
Das ist sowas wie switch in Java oder C...
Unwissenheit ist ein Segen
Ich find' den "Select case" bei mehrfach Abfragen (der gleichen Variablen) am saubersten und gut zu lesen
Es gibt aber auch die "ELSEIF" Methode, die "IF-Bäume" etwas handsamer macht, besonders wenn unterschiedliche Bedingungen gefragt werden müssen:
IF bedingung1 THEN
----
ELSEIF bedingung2 THEN
----
ELSEIF bedingung3 THEN
----
END IF
mfg robert
Wer glaubt zu wissen, muß wissen, er glaubt.
Ohne weiteren Kommentar:
Code:' Analog Input Test ' $regfile = "m32def.dat" $crystal = 16000000 $baud = 19200 Config Adc = Single , Prescaler = Auto Start Adc Dim W As Word , Channel As Byte Channel = 1 Print "Startup"; Do W = Getadc(channel) Select Case W Case 0 : Print "Null" Case Is < 10 : Print "weniger als 10" Case 100 To 200 : Print "irgendwo zwischen 100 und 200" Case Is < 500 : Print "Sehr viel" Case Else : Print "irgendwas anderes" End Select Waitms 100 Loop Stop Adc End
Gruss
Darwin (meine Projekte sind auf meiner Pinnwand zu finden)
mir würde auch noch der "on...goto"-Befehl einfallen. kommt aber auf die Anwendung, bzw. das gewünschte Ergebnis an.
Lesezeichen