Wieder was ganz banales (if then)

dg2ygq

Neues Mitglied
23. Juli 2007
239
0
0
Bielefeld
Sprachen
Ich möchte einen Port auf Low setzen, wenn meine Variable einen Wert zwischen 20 und 30 enthält ....
Sonst ist dieser Port immer High

if Var >19 and Var < 31 then portc.1 = 0

oder

if Var <= 20 and Var >= 30 then portc1. = 1

oder

If Var > 19 OR Var < =31 then ....


Oder gehts auch ganz anders?

Sorry, ist nun wirklich ne "blöde" Frage, denn irgendwie habe Ich/Wir das schon 100 mal durchgekaut, aber ich erinnere mich an nix mehr :eek:
 
Hi dg2ygq,

Sorry, ist nun wirklich ne "blöde" Frage, denn irgendwie habe Ich/Wir das schon 100 mal durchgekaut, aber ich erinnere mich an nix mehr :eek:
Bascom- Hilfe, "Select...Case".


Grüsse und gute Nacht,

Michael
 
Hallo Michael,

ich denke mal, es funktioniert nur die erste Zeile, unabhängig davon, was Bascom daraus macht.

Bei der zweiten Zeile ist der Gesamtausdruck immer unwahr (false), bei der dritten Zeile ist der Gesamtausdruck immer wahr (true).

Setze einfach mal unterschiedliche Zahlen ein, einmal kleiner 20, dann einmal zwischen 20 und 30 und einmal größer 30, dann wirst du es selber feststellen.

Grüße,
Dirk
 
Hi dg2ygq !

Vom Prinzip her kannst du es schon so machen:
Code:
If Var > 19 And Var < 31 Then
Portc.1 = 0
Else
Portc.1 = 1
End If

Es wäre aber auch mit "While-Wend" oder "Select Case" möglich.

Allerdings hängt das immer vom Programm ab bzw. welchen Einfluss die Variable haben soll. ;)

Gruß,
Cassio
 
Hallo Dirk,


ich denke mal, es funktioniert nur die erste Zeile, unabhängig davon, was Bascom daraus macht.

Bei der zweiten Zeile ist der Gesamtausdruck immer unwahr (false), bei der dritten Zeile ist der Gesamtausdruck immer wahr (true).

Selte einfach mal unterschiedliche Zahlen ein, einmal kleiner 20, dann einmal zwischen 20 und 30 und einmal größer 30, dann wirst du es selber feststellen.
Jo, aber er wollte "etwas anderes".

Jetzt muss ich mich aber zur Ruhe legen.


Grüsse,

Michael
 
Hallo Michael,
Jo, aber er wollte "etwas anderes".

ich programmiere leider nicht in Bascom und kenne das "etwas anderes" "Select ... Case" nicht. Deshalb habe ich mir gedacht, ich weise mal darauf hin, dass zweidrittel des angeführten Programmcodes nicht funktioniert ;)

Jetzt muss ich mich aber zur Ruhe legen.

... das gilt für mich auch, Gute Nacht :goodnight:

Grüße,
Dirk
 
Hi Michael, hallo Dirk!

Ok, dann versuche ich mal Michaels Idee mit dem BASCOM-Code zu dokumentieren. ;)

Code:
Select Case Var
Case 20 to 30 : PORTC.1 = 0
Case Else : PORTC.1 = 1
End Select


Grüße,
Cassio


PS: Gute Nacht, ihr beiden! ;)
 
Hi Cassio

Ok, dann versuche ich mal Michaels Idee mit dem BASCOM-Code zu dokumentieren. ;)

Code:
Select Case Var
Case 20 to 30 : PORTC.1 = 0
Case Else : PORTC.1 = 1
End Select
Mit "If >19 and <31...then...else" geht's natürlich auch. Doch Select...Case gefällt mir besser.


Grüsse,

Michael
 
Hi, Dino

dazu müßte man erstmal wissen, ob SELECT schneller abgearbeitet wird oder IF. Beim GfA-Basic war's so (jammer, jammer).


Michael
 

Über uns

  • Makerconnect ist ein Forum, welches wir ausschließlich für einen Gedankenaustausch und als Diskussionsplattform für Interessierte bereitstellen, welche sich privat, durch das Studium oder beruflich mit Mikrocontroller- und Kleinstrechnersystemen beschäftigen wollen oder müssen ;-)
  • Dirk
  • Du bist noch kein Mitglied in unserer freundlichen Community? Werde Teil von uns und registriere dich in unserem Forum.
  •  Registriere dich

User Menu

 Kaffeezeit

  • Wir arbeiten hart daran sicherzustellen, dass unser Forum permanent online und schnell erreichbar ist, unsere Forensoftware auf dem aktuellsten Stand ist und der Server regelmäßig gewartet wird. Auch die Themen Datensicherheit und Datenschutz sind uns wichtig und hier sind wir auch ständig aktiv. Alles in allem, sorgen wir uns darum, dass alles Drumherum stimmt :-)

    Dir gefällt das Forum und unsere Arbeit und du möchtest uns unterstützen? Unterstütze uns durch deine Premium-Mitgliedschaft!
    Wir freuen uns auch über eine Spende für unsere Kaffeekasse :-)
    Vielen Dank! :ciao:


     Spende uns! (Paypal)