case

Anfängerfragen zum Programmieren mit PureBasic.
Jume

case

Beitrag von Jume »

Tagchen,


ist es etwa nicht möglich beim Befehl "case" einen vergleichsoperator beizufügen ?

bspw.

select anzahl

case 1
bla
case 2
bla
case anzahl > 21
gewonnen


:bounce: gutes Beispiel oder :P
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 7031
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Re: case

Beitrag von STARGÅTE »

Nein, da für sowas das IF gedacht ist.

Was du nutzen kannst ist Default oder einen Bereich:

Code: Alles auswählen

Zahl = 5
Select Zahl
	Case 1 To 20
		Debug "1 to 20"
EndSelect

Zahl = 5
Select Zahl
	Case 1
	Default
		Debug "Default"
EndSelect
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Re: case

Beitrag von ts-soft »

Oder ohne Default so:

Code: Alles auswählen

For anzahl = 1 To 30
  Select anzahl
    Case 1, 2
      Debug "bla"
    Case 22 To 10000
      Debug "gewonnen"
  EndSelect
Next
Gruß
Thomas
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
NicTheQuick
Ein Admin
Beiträge: 8809
Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti
Wohnort: Saarbrücken

Re: case

Beitrag von NicTheQuick »

Du kannst dann entweder im 'Default'-Zweig das ganze per 'If' überprüfen oder den 'To'-Syntax verwenden, indem du z.B. schreibst '21 To 2147483647', falls 'anzahl' ein Long ist.

///Edit:
Hm... Ich merk schon. Ich hätte die Seite zwischendurch mal aktualisieren sollen...
Jume

Re: case

Beitrag von Jume »

alles klar dankeschön =)
Antworten