Zwischen 2 Variablen (To)?

Anfängerfragen zum Programmieren mit PureBasic.
Tombi
Beiträge: 369
Registriert: 05.03.2008 22:05

Zwischen 2 Variablen (To)?

Beitrag von Tombi »

Gibt es eigendlich eine Möglichkeit zu prüfen ob eine Variable zwischen 2 Werten ist?

Z.b. so:

If VARIABLE between WERT-A to WERT-B

- Scheint jedoch nirgends dokumentiert zu sein -


Falls es sowas gibt, ist dies Version 3.30 tauglich?
Bild Bild Bild
Intel Pentium 4 630 (3 GHZ)
Benutzeravatar
Milchshake
Beiträge: 166
Registriert: 30.01.2006 17:47
Wohnort: Zwischen dem Sessel und dem Computer

Beitrag von Milchshake »

If VariableA > WertA and VariableA < WertB
Hab jetzt PB 4.02
Muhahaha!!!!
Tombi
Beiträge: 369
Registriert: 05.03.2008 22:05

Beitrag von Tombi »

Ja das ist die Möglichkeit die ich momentan nutze, anders scheint es ja nicht möglich zu sein. Danke trotzdem :)
Bild Bild Bild
Intel Pentium 4 630 (3 GHZ)
Benutzeravatar
#NULL
Beiträge: 2238
Registriert: 20.04.2006 09:50

Beitrag von #NULL »

du meinst wahrscheinlich situationen, in denen du noch nicht weißt ob WertA < WertB.(?)
my pb stuff..
Bild..jedenfalls war das mal so.
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 7031
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Beitrag von STARGÅTE »

schreibt dir doch n Procedure:

Code: Alles auswählen

Procedure Between(Vaiable, Wert1, Wert2)
 If Wert1 > Wert2
  If Vaiable > Wert2 And Vaiable < Wert1
   ProcedureReturn 1
  EndIf
 Else
  If Vaiable > Wert1 And Vaiable < Wert2
   ProcedureReturn 1
  EndIf
 EndIf
EndProcedure 

Debug Between(6, 3, 7)
Debug Between(6, 7, 3)
Debug Between(-6, 3, 7)
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
Tombi
Beiträge: 369
Registriert: 05.03.2008 22:05

Beitrag von Tombi »

#NULL hat geschrieben:du meinst wahrscheinlich situationen, in denen du noch nicht weißt ob WertA < WertB.(?)
äh ... :? nein?!

@Stargate: Mh, mir fällt momentan immer wieder auf wie praktisch eine Procedure sein kann. Danke dir!
Bild Bild Bild
Intel Pentium 4 630 (3 GHZ)
Benutzeravatar
AND51
Beiträge: 5220
Registriert: 01.10.2005 13:15

Beitrag von AND51 »

Darf's auch ein bisschen weniger Code und mehr Eleganz sein? 8)
Außerdem hat STARGATE einen Fehler gemacht, seine Prozedur deckt keine Fälle ab, in denen Wert=A=B ist!

Code: Alles auswählen

Procedure Between(Wert, A, B)
	If A <= B
		If A <= Wert And Wert <= B
			ProcedureReturn 1
		EndIf
	Else
		ProcedureReturn Between(Wert, B, A)
	EndIf
EndProcedure

Debug Between(6, 3, 7)
Debug Between(6, 7, 3)
Debug Between(-6, 3, 7)
Debug Between(6, 6, 6) ; Muss auch 1 ergeben
PB 4.30

Code: Alles auswählen

Macro Happy
 ;-)
EndMacro

Happy End
Tombi
Beiträge: 369
Registriert: 05.03.2008 22:05

Beitrag von Tombi »

Äh ja, danke!
Habe es eh` noch nicht eingebaut.

Schon beim drüberschauen ist mir sowieso einiges aufgefallen *pfeif*

Warum gibt es hier keinen Pfeif-Smilie?...


- Tombi -
Bild Bild Bild
Intel Pentium 4 630 (3 GHZ)
Benutzeravatar
#NULL
Beiträge: 2238
Registriert: 20.04.2006 09:50

Beitrag von #NULL »

@and
du willst es doch sonst immer so schnell. ich glaube die rekursion ist eher teuer.
my pb stuff..
Bild..jedenfalls war das mal so.
Tombi
Beiträge: 369
Registriert: 05.03.2008 22:05

Beitrag von Tombi »

#NULL hat geschrieben:@and
du willst es doch sonst immer so schnell. ich glaube die rekursion ist eher teuer.
Was wäre deiner Meinung nach besser?
Bild Bild Bild
Intel Pentium 4 630 (3 GHZ)
Antworten