Seite 2 von 4

Verfasst: 08.03.2008 17:45
von STARGÅTE
na halt so:

Code: Alles auswählen

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

Verfasst: 08.03.2008 17:47
von #NULL
@Tompi
ich würde stargates procedure bevorzugen, oder nen macro nehmen:

Code: Alles auswählen

Macro isin(VAL,A,B)
  (   ( (A)<(B) And (VAL)<=(B) And (VAL)>=(A) )  Or  ( (A)>=(B) And (VAL)<=(A) And (VAL)>=(B) )   )
EndMacro

Debug isin(  3,  -1, 6)
Debug isin( -3,  -1, 6)
Debug isin( 20,-100, 6)
Debug isin(-20, 100,-6)
Debug isin( 20,-100,26)
Debug isin( 3,3,3)

Verfasst: 08.03.2008 17:50
von Tombi
Macro? Muss erst schauen was es damit auf sich hat :mrgreen:

Danke euch nochmals!

Hat jemand noch Fragen?

Ansonsten: Die Sitzung ist hiermit beendet :mrgreen:

Verfasst: 08.03.2008 17:51
von Kaeru Gaman
eines habt ihr geflissentlich vergessen... :mrgreen:

Code: Alles auswählen

a = 23

Select a
  Case 20 To 25
    Debug "a liegt im Bereich von 20 bis 25"
EndSelect
da habt ihr von/bis ;)

Verfasst: 08.03.2008 17:55
von #NULL
:lol:

Verfasst: 08.03.2008 18:01
von Tombi
Ich dachte gelesenzuhaben das Select Case langsamer ist als If-Bedienungen :freak:

Verfasst: 08.03.2008 18:02
von STARGÅTE
@Tombi

lass dich nciht verarschen

nimm die Procedure von oben.

Macros gibs nicht in 3.3 und Case 20 To 25 auch nicht

Verfasst: 08.03.2008 18:02
von Kaeru Gaman
wo? in nem Buch über C++?

...außerdem hast du von schnell nix gesagt, und ein riesenmacro oder extra proc-aufrufe macht es auch nit schneller....

PS:
achso... 3.30.. ich vergaß

Re: Zwischen 2 Variablen (To)?

Verfasst: 08.03.2008 18:02
von AND51
Tombi hat geschrieben:Falls es sowas gibt, ist dies Version 3.30 tauglich?
Kaeru, ich hab das Gefühl du hast was vergessen! :roll:
meinste, ich hab da nicht auch schon dran gedacht?


Übrigens, hier noch mal eine Prozedur, ist nochmal eine Zeile kürzer als meine vorige:

Code: Alles auswählen

Procedure Between2(Wert, A, B)
	If B < A
		Swap A, B
	EndIf
	If A <= Wert And Wert <= B
		ProcedureReturn 1
	EndIf
EndProcedure

Verfasst: 08.03.2008 18:06
von STARGÅTE
ehh samma AND51

machst du das mit absicht ?

er hat 3.3 wie du ja selber hingewiesen hast

da gibt es kein Swap !