Entwickler-Ecke
Delphi Language (Object-Pascal) / CLX - Case ...of
Rage - Mi 02.03.05 19:38
Titel: Case ...of
Hi ich hab ma kurz ne Frage, konnte im Internet nichts über Case..of finden. wie das funktioniert is mir "eigentlich" schon klar, das einzige was mir net klar ist, ist was ich zwischen CASE und OF schreiben muss.
bei ner Combobox is es CASE combobox.Itemindex OF
aber jetzt mal anhand von einem sehr simplen Beispiel weiß ich schonmal nicht wie es geht.
Wenn ich auf einen Button klick, dann sollen Shapes mit bestimmten farben angemalt werden was muss dann zwischen CASE und OF...
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7:
| procedure TForm1.Button1Click(Sender: TObject); begin Case "Button1Click" of 1: Shape1.Brush.Color:=REd; 2: ................... ............. end; |
was muss da für "Button1Click" rein? Bei mir kommt nur die Fehlermeldung "nicht genügend wirkliche Parameter".
Kann mir das einer erklären? oder kennt jemand ne Internetseite wo das erkärt ist?
Hab schon auf
http://www.delphi-source.de gesucht aber nichts gefunden.
MFG Rage
Moderiert von
AXMD: Delphi-Tags hinzugefügt.Moderiert von
UGrohne: Topic aus Sonstiges verschoben am Do 03.03.2005 um 16:20
tommie-lie - Mi 02.03.05 19:42
Zwischen case und of kommt immer das, was abgefragt werden soll, wie bei einer entsprechenden if-Abfrage auch. In deinem Beispiel kommt es drauf an, wonach es sich richtet, welche Farbe die Shape kriegen soll.
F34r0fTh3D4rk - Mi 02.03.05 19:43
du könnstest das so machen
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10:
| ... var Color: Tcolor; begin Color:= clred; case color of clred: Shape.brush.color:= clred; clgreen: Shape.brush.color:= clred; end; end; |
Nur so zum verständis, aber da kannst du aber auch einfach
Delphi-Quelltext
1: 2: 3: 4: 5: 6:
| var Color: Tcolor; begin Color:= clred; Shape.brush.color:= color; end; |
AXMD - Mi 02.03.05 19:51
Was soll das Case bei dir machen? Ein kurzer Blick in die Glaskugel... ich tipp mal stark darauf, dass du herausfinden willst auf welchen Button geklickt wurde; das geht allerdings nur mit if. Das zwischen case und of muss nämlich ein so genannter ordinaler, sprich "abzählbarer" Typ sein
AXMD
tommie-lie - Mi 02.03.05 19:53
| AXMD hat folgendes geschrieben: |
| ich tipp mal stark darauf, dass du herausfinden willst auf welchen Button geklickt wurde; das geht allerdings nur mit if. Das zwischen case und of muss nämlich ein so genannter ordinaler, sprich "abzählbarer" Typ sein |
Und TComponent.Tag wäre ein solcher ;-)
F34r0fTh3D4rk - Mi 02.03.05 19:54
jo, nochmal ein beispiel zu case...of:
Delphi-Quelltext
1: 2: 3: 4:
| case VARIABLE of WERT1: BEFEHL1; WERT2: BEFHEL2; end; |
das entspricht:
Delphi-Quelltext
1: 2:
| if VARIABLE = WERT1 then BEFEHL1; if VARIABLE = WERT2 then BEFEHL2; |
du siehst case..of ist übersichtlicher und eleganter :D
AXMD - Mi 02.03.05 19:54
| tommie-lie hat folgendes geschrieben: |
| AXMD hat folgendes geschrieben: | | ich tipp mal stark darauf, dass du herausfinden willst auf welchen Button geklickt wurde; das geht allerdings nur mit if. Das zwischen case und of muss nämlich ein so genannter ordinaler, sprich "abzählbarer" Typ sein | Und TComponent.Tag wäre ein solcher ;-) |
Vorausgesetzt, der Tag wird auch gesetzt ;). Stimmt, hatte ich gar nicht in Betracht gezogen ^^
AXMD
tommie-lie - Mi 02.03.05 19:58
| AXMD hat folgendes geschrieben: |
| Vorausgesetzt, der Tag wird auch gesetzt ;). |
Und genau deswegen bringt es auch gar nichts, hier irgendwelche Ratschläge oder Hinweise zu posten, bevor wir nicht wissen, was man überhaupt von uns will ;-)
Rage - Mi 02.03.05 21:47
:D
mhh ok das hab ich jetzt schon verstanden....das einzige was mir halt net so klar is, is warum man z.b. bei Combobox noch .Itemindex dranhängt (macht unser infolehrer jedenfalls so)
un wann man nur eine bestimmte variable einsetzt. aber naja da muss ich halt noch en bissle rumprobieren.
trotzdem danke 8)
F34r0fTh3D4rk - Do 03.03.05 16:01
Mit Itemindex fragt man das aktive item ab also zb 3, damit kann man abfragen, ob zb das jetzige itemindex 3 ist, wenn ja dann wird irgendwas gemacht, beispiel so
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!