Autor Beitrag
Rage
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 32



BeitragVerfasst: Mi 02.03.05 19:38 
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...

ausblenden 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 www.delphi-source.de gesucht aber nichts gefunden.

MFG Rage

Moderiert von user profile iconAXMD: Delphi-Tags hinzugefügt.
Moderiert von user profile iconUGrohne: Topic aus Sonstiges verschoben am Do 03.03.2005 um 16:20
tommie-lie
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 4373

Ubuntu 7.10 "Gutsy Gibbon"

BeitragVerfasst: 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.

_________________
Your computer is designed to become slower and more unreliable over time, so you have to upgrade. But if you'd like some false hope, I can tell you how to defragment your disk. - Dilbert
F34r0fTh3D4rk
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 5284
Erhaltene Danke: 27

Win Vista (32), Win 7 (64)
Eclipse, SciTE, Lazarus
BeitragVerfasst: Mi 02.03.05 19:43 
du könnstest das so machen
ausblenden 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

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
var
  Color: Tcolor;
begin
  Color:= clred;
  Shape.brush.color:= color;
end;
AXMD
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 4006
Erhaltene Danke: 7

Windows 10 64 bit
C# (Visual Studio 2019 Express)
BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 4373

Ubuntu 7.10 "Gutsy Gibbon"

BeitragVerfasst: 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 ;-)

_________________
Your computer is designed to become slower and more unreliable over time, so you have to upgrade. But if you'd like some false hope, I can tell you how to defragment your disk. - Dilbert
F34r0fTh3D4rk
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 5284
Erhaltene Danke: 27

Win Vista (32), Win 7 (64)
Eclipse, SciTE, Lazarus
BeitragVerfasst: Mi 02.03.05 19:54 
jo, nochmal ein beispiel zu case...of:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
  case VARIABLE of  
    WERT1: BEFEHL1;  
    WERT2: BEFHEL2;  
  end;

das entspricht:
ausblenden Delphi-Quelltext
1:
2:
  if VARIABLE = WERT1 then BEFEHL1;
  if VARIABLE = WERT2 then BEFEHL2;

du siehst case..of ist übersichtlicher und eleganter :D


Zuletzt bearbeitet von F34r0fTh3D4rk am Mi 02.03.05 19:54, insgesamt 1-mal bearbeitet
AXMD
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 4006
Erhaltene Danke: 7

Windows 10 64 bit
C# (Visual Studio 2019 Express)
BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 4373

Ubuntu 7.10 "Gutsy Gibbon"

BeitragVerfasst: 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 ;-)

_________________
Your computer is designed to become slower and more unreliable over time, so you have to upgrade. But if you'd like some false hope, I can tell you how to defragment your disk. - Dilbert
Rage Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 32



BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 5284
Erhaltene Danke: 27

Win Vista (32), Win 7 (64)
Eclipse, SciTE, Lazarus
BeitragVerfasst: 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