Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   CheckListBox (https://www.delphipraxis.net/136340-checklistbox.html)

Kunoishi 28. Jun 2009 23:01


CheckListBox
 
ich verwende derzeit folgenden code
Delphi-Quellcode:
procedure TSachverhaltForm.AnzeigengrundBoxClick(Sender: TObject);
begin                                              
  Case Anzeigengrundbox.ItemIndex of                
    0: EditAnzeigengrund.Text :='Blume';        
    1: EditAnzeigengrund.Text :='Wasser';  
    2: EditAnzeigengrund.Text :='Luft';          
    3: EditAnzeigengrund.Text :='sdsdsds';
    4: EditAnzeigengrund.Text :='sdfsfs';            
    5: EditAnzeigengrund.Text :='räubgfdhgdg';
    6: EditAnzeigengrund.Text :='sfsfsf';
    7: EditAnzeigengrund.Text :='Sachfsbesdfsdf';
    8: EditAnzeigengrund.Text :='Unten';  
    9: EditAnzeigengrund.Text :='Oben';
  end;
end;
in meinem Editfel sollen aber beim ankreuzen der auswahlfelder mehrere Sachinhalte stehen
"Blume, Wasser, sdsdsd und Oben"
ich bekomme aber nur einen ausdruck in meinem Editfeld hin

worin liegt das lösungsproblem ?

Luckie 28. Jun 2009 23:11

Re: CheckListBox
 
Du musst die in einer Schleife die Einträge der Checklistbox durchgehen und gucken, ob sie ausgewählt sind und wenn sie es sind dem Text im Eingabefeld hinzufügen.

Kunoishi 28. Jun 2009 23:17

Re: CheckListBox
 
wo soll ich hier die schleife ansetzen ?
ich glaube dit is zu spät für mich heute
ich stehe auf der leitung

Popov 28. Jun 2009 23:23

Re: CheckListBox
 
Sind die Werte "Blume", "Wasser", usw. nur in der Case Anweisung oder oder auch Item-String?

Kunoishi 28. Jun 2009 23:27

Re: CheckListBox
 
nur in der Case

Popov 28. Jun 2009 23:37

Re: CheckListBox
 
Dann kannst du es vergessen. Du fragst Case über ItemIndex (also aktuellen Index) ab, willst aber alle gecheckten Werte haben. Wie soll das gehen? Dein Ansatz ist falsch. Letztendlich kriegt man alles programmiert und mit einem Aufwand auch CheckListBox die man über Case abfragen kann, aber das paßt nicht.

Kunoishi 28. Jun 2009 23:39

Re: CheckListBox
 
ups, da habe ich das pferd von hinten bestiegen :-(.

wie ist es dann aber richtig?

Mithrandir 28. Jun 2009 23:46

Re: CheckListBox
 
Zitat:

Zitat von Kunoishi
ups, da habe ich das pferd von hinten bestiegen :-(.

*pruust* :lol: :lol: :lol:

Der war gut. ;) Ich hoffe doch aber, du hast das Pferd nicht "bestiegen", sondern "aufgezäumt". ;) Das Besteigen überlass lieber dem Hengst. :mrgreen:


Du gehst mit der Schleife durch alle Einträge, und schreibst die Einträge, die "gechecked" sind, ins Editfeld.

//Ausm Kopf, musst du evtl. Anpassen:

Delphi-Quellcode:
Editfeld.Text := '';
for i := 0 to Combobox.Items.Count - 1 do
begin
  if Combobox.checked[i] then
    Editfeld.Text := Editfeld.Text + Combobox.Item[i].Text;
end;

Popov 28. Jun 2009 23:47

Re: CheckListBox
 
Ich weiß nicht was du progen willst. In der Regel ist es so, daß man die CheckListBox dazu nutzt um bestimmte Einträge in der ListBox auswählen, bzw. checken zu können. Aber etwas in der Checklistbox checken aber über Case wählen... also das ist schon mal doppelte Pflege.

Mal eine Frage vorab: können die Werte nicht so wie sie in Case sind in der CheckListBox vorkommen?

Popov 28. Jun 2009 23:50

Re: CheckListBox
 
Hier ein Beispiel für eine CheckListBox in der sich die Werte aus der Case Anweisung von oben befinden:

Delphi-Quellcode:
var
  i: Integer;
  s: String;
begin
  s := '';
  with CheckListBox1 do
  for i := 0 to Count - 1 do
    if Checked[i] then
      if s = '' then s := Items[i]
        else s := s + ', ' + Items[i];

  ShowMessage(s);
end;
Alle gecheckten Werte bilden eine Aufzählung.


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:51 Uhr.
Seite 1 von 2  1 2      

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