![]() |
CheckGrp - ComboBox - Item Problem
Hi,
hab wieder nen Hänger. Kann mir jmd sagen warum der Button1 nicht Enabled wird, wenn ich mind. eine Checkbox.Checked=true habe? (ComboBox und CheckGrp mit 4 CheckBoxen drinne)
Delphi-Quellcode:
Dazu wäre noch zu sagen, das ich ähnlich noch eine Abfrage auf Seiten der CheckGrp schreiben will. Also das mind. eine CheckBox.Checked=true und gleichzeitig ein ComboBox.Item<>''. Das bekomm ich nat. selbst hin wenn der Fehler oben gefunden wird.
procedure TForm1.FormCreate(Sender: TObject);
begin Form1.Button1.Enabled:=False; end; procedure TForm1.ComboBox1DropDown(Sender: TObject); var i:integer; hilf:boolean; begin hilf:=false; for i:=1 to Form1.CheckGroup1.Items.Count do if Form1.CheckGroup1.Checked[i]:=true; then hilf:=true; if hilf=true then Form1.Button1.Enabled:=true; end; lg Steve |
Re: CheckGrp - ComboBox - Item Problem
Zitat:
Delphi-Quellcode:
Wobei mein Delphi(5) hier keine Checkgroup kennt :|
procedure TForm1.ComboBox1DropDown(Sender: TObject);
var i:integer; hilf:boolean; begin hilf:=false; for i:= 0 to CheckGroup1.Items.Count - 1 do if CheckGroup1.Checked[i] then hilf:=true; if hilf then Button1.Enabled:=true; end; |
Re: CheckGrp - ComboBox - Item Problem
mmh, also so klappts auch nicht. ich arbeite mit lazarus. hatte noch 2 syntaktische fehler drin beim kopierten text...allerdings sind die nicht ausschlaggebend.
Delphi-Quellcode:
nun bekomme ich ne exception, die bei lazarus nich näche spezifiziert wird...ganz toll. ich muss mir turbo delphi besorgen, das wird sonst nix.
procedure TForm1.ComboBox1DropDown(Sender: TObject);
var i:integer; hilf:boolean; begin hilf:=false; for i:=0 to 3 do //hab auch 1..4 probiert :s if Form1.CheckGroup1.Checked[i]=true then hilf:=true; if hilf=true then Form1.Button1.Enabled:=true; end; an sich von der überlegung her müsst es doch klappen oder? |
Re: CheckGrp - ComboBox - Item Problem
Wie gesagt, Checkgroup sagt mir gerade nichts. Ich kann höchstens heute Abend mal unter Linux nachschauen, da hab ich auch Lazarus. Ansonsten solltest Du Dir aber schnell wieder abgewöhnen, auf true abzufragen sowie Instanznamen zu verwenden (Form1.Checkgroup1 besser in Checkgroup1 ändern, es ist ja eine Methode von TForm1).
|
Re: CheckGrp - ComboBox - Item Problem
alles klar, bin ja noch anfänger :)
so wie ich das sehe, werden in einer CheckGroup Checkboxen zusammengefasst. Also Wie bei einer RadioGroup RadioButtons zusammengefasst werden. Naja ich probier weiter. |
Re: CheckGrp - ComboBox - Item Problem
Vielleicht geht es mit
Delphi-Quellcode:
aber ich kann jetzt nur raten ohne diese Kompo zu kennen.
CheckGroup1.Items[i].Checked
|
Re: CheckGrp - ComboBox - Item Problem
funtioniert auch nicht. leider. gibt es denn eine gängige methode um eine beliebige anzahl von checkboxen abzufragen, ob sie checked sind oder nicht? CheckBox[i] geht ja auch nicht. vll über umwege, aber es soll ja weniger werden, nicht mehr.
ahja, lazarus wirft die exception immer bei dem ereignis und zeigt dann folgende zeilen an
Delphi-Quellcode:
Habs mal mit nem anderen Ereignis versucht (OnChange), was auch für die problemlösung sinniger ist. Bringt mir aber auch keine Punkte.
function TCustomCheckGroup.GetChecked(Index: integer): boolean;
begin if (Index < -1) or (Index >= FItems.Count) then [b]raise Exception.CreateFmt(rsIndexOutOfBounds,[ClassName,Index,FItems.Count]);[/b] Result:=TCheckBox(FButtonList[Index]).Checked; end; |
Re: CheckGrp - ComboBox - Item Problem
Nehmen wir nochmal meinen Code aus #2 und erweitern ihn ein klein wenig:
Delphi-Quellcode:
Was kommt dabei heraus?
procedure TForm1.ComboBox1DropDown(Sender: TObject);
var i:integer; hilf:boolean; begin hilf:=false; if CheckGroup1.Items.Count < 1 then ShowMessage('Es gibt keine Items') else for i:= 0 to CheckGroup1.Items.Count - 1 do if CheckGroup1.Checked[i] then hilf:=true; if hilf then Button1.Enabled:=true; end; |
Re: CheckGrp - ComboBox - Item Problem
Es gibt keine Items. Kalppt auch nicht. Habs noch mit "CheckGroup1.CheckEnabled[i]=true" versucht.
Es gibt einfach nichts sinniges hier: CheckGroup1.XXX. ich finds jedefalls nicht. daran liegts wohl :( |
Re: CheckGrp - ComboBox - Item Problem
Kannst Du mal einen Screenshot posten?
[edit] Anscheinend haben die Checkboxen den falschen Parent (TForm statt TCheckgroup). Versuch mal, die Checkboxen zu markieren (SHIFT - Linke Maustaste), auszuschneiden, dann die Checkgroup zu markieren und die Checkboxen einzufügen. Dann sollte der Parent stimmen. [/edit] |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:13 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz