Entwickler-Ecke

Sonstiges (Delphi) - Checkbox Hilfe!!!


ancaly89 - Di 05.06.07 20:12
Titel: Checkbox Hilfe!!!
Hey ihr lieben...
kurze frage:

Wenn ich in einem Fenster zum beispiel 2 checkboxen anklicke, möchte ich, dass der mir in einem panel oder ähnlichem 2 sachen anzeigt, die mit komma abgetrennt sind z.b.


Checkbox 1: [x] rot
Checkbox 2: [x] blau

Panel1: [ rot, blau ]


hiffe ihr vesteht was ich miene... ich kann wenn, dann immer nur eine sache im panel anzeigen lassen... das mache ich dann mit

if checkbox1.checked then Panel1.caption:='rot';


vielleicht geht sowas auch einfacher als mit if...then, wenn ich mehrere checkboxen habe

brauche dringend hilfe!!!
lg anca


Kroko - Di 05.06.07 20:16


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
var
  S: String;
begin
  S := '';
  if CheckBox1.Checked then S := 'rot';
  if CheckBox2.Checked then
    begin
      if S>'' then S := S+', ';
      S := S+'blau'
    end;
end;

So???


ancaly89 - Di 05.06.07 20:24

okay hab ich verstanden...
okay wenn ich jetzt ncoh mehr farben mache dann kannich das ja imemr so weiter führen.
was mache ich wenn ich mal eine checkbox nicht ausgewählt habe???

also zB [x] rot
[ ] gelb
[x] blau
????


achso und wie will ich das so im panel ausgeben?


Kroko - Di 05.06.07 20:41

Die Farbe wird doch nur bei Checked hinzugefügt, daher steht sie dort auch nicht!

PS: ausprobieren hilft und lernt!


ancaly89 - Di 05.06.07 20:42

hmkay... trotzemd weiß ich noch immer nicht wie ich das jetzt im panel ausgebe!!!!


ub60 - Di 05.06.07 20:48

Bei mehreren CheckBoxen machst Du das Ganze am Besten mit FindComponent.
Das folgende Bsp. ist für 10 CheckBoxen. Da werden auch gleich die Strings aus den CheckBoxen ausgelesen.


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
var i : Integer;
    s : String;
begin
  for i:=1 to 10 do
    if TCheckBox(FindComponent('CheckBox'+InttoStr(i))).Checked
      then s:=s+TCheckBox(FindComponent('CheckBox'+InttoStr(i))).Caption+', ';
  Delete(s,Length(s)-1,2);
  Panel1.Caption:=s;
end;

ub60


Kroko - Di 05.06.07 21:04

user profile iconancaly89 hat folgendes geschrieben:
hmkay... trotzemd weiß ich noch immer nicht wie ich das jetzt im panel ausgebe!!!!

Man darf einer Caption nicht nur einen konstanten String, sondern auch eine String-Variable zuweisen!