Entwickler-Ecke

Delphi Language (Object-Pascal) / CLX - Wie geh ich richtig mit case um?


Bestzeller - Sa 22.11.08 16:34
Titel: Wie geh ich richtig mit case um?
Hey
Weil ich nicht die ganze zeit If benutzen wollte, hab ich mal case benutzt aber wie stell ich das mit 2 verschiedenen Variabeln richtig an?
Ich sag jetzt einfach mal X geht von 10..20 und Y von 100..200, wenn beide Variabeln zutreffen soll was passieren.

case x and y of
10..20,100..200: ....
macht ja nicht was ich will. Wie schreib ich es richtig auf?


Xentar - Sa 22.11.08 16:42

case über mehrere Variablen geht soweit ich weiß nicht.
Du könntest diese höchstens ineinander schachteln, das wird aber sehr unübersichtlich..


Bestzeller - Sa 22.11.08 16:53

Gibt es den sonst eine andere Möglichkeit?


Jakob_Ullmann - Sa 22.11.08 16:54

Eigentlich nur if-else.


Oreaden - Sa 22.11.08 17:07

user profile iconBestzeller hat folgendes geschrieben Zum zitierten Posting springen:
Gibt es den sonst eine andere Möglichkeit?

Das Orakel meint, es kommt darauf an, was du machen möchtest. Leider kann ich dir sonst nicht weiter helfen, da meine Kristallkugel leider erkältet ist und ich somit nicht weiss, was du vorhast.

Schöne Grüße
aus Delphi


Bestzeller - Sa 22.11.08 17:27

Ich möchte nur prüfen, ob sich die Koordinate(x/y) in einem bestimmten Bereich befindet und wenn dies der Fall ist folgt eine Anweisung. Wobei der Bereich auch Variabel ist und sich verändert.


Jakob_Ullmann - Sa 22.11.08 17:41

Nimm doch einfach if:


Delphi-Quelltext
1:
2:
3:
4:
if (Point.X >= LeftLimit) and
   (Point.Y <= RightLimit) and
   (Point.Y >= TopLimit) and
   (Point.Y <= BottomLimit) then ...


Delete - Sa 22.11.08 17:55

Oder mit der API-Funktion PtInRect prüfen.


Tilman - Sa 22.11.08 19:29

Ich denke auch case ist hier fehl am Platz. Wenn du mehrere Punkte überprüfen willst, dann solltest du diese in ein Array ablegen und dieses dann in einer Schleife durchgehen und eben per IF-Anweisung überprüfen.


Bestzeller - So 23.11.08 18:07

Thx habt mir geholfen!