Delphi-PRAXiS

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.

Kunoishi 28. Jun 2009 23:52

Re: CheckListBox
 
ich sollte bei dieser checklistbox 2 oder 3 oder 5 hacken machen und der inhalt hinter den hacken sollte dann in ein edit feld übertragen werden.
ich war ja schon stolz auf meinen versuch. na ja war halt falsch gedacht

eben die frage wie bekomme ich es anders hin
die einträge in der checklistbox sollen ja vorgegeben sein

Kunoishi 29. Jun 2009 00:07

Re: CheckListBox
 
jetz hab ick dit verstanden
sagt doch gleich das ick die Daten ja in ihrer einen stinglist von Checklistbox hatte und dit mit dem Case ja total blöd war
man und ick zermarter mir den kopf.

hee wiedermal danke an euch alle hier im forum

klasse

ja jetzt habe ick es och im kopf

Popov 29. Jun 2009 00:09

Re: CheckListBox
 
Zitat:

Zitat von Kunoishi
eben die frage wie bekomme ich es anders hin
die einträge in der checklistbox sollen ja vorgegeben sein

Siehe Beitrag #10, also den vorletzten Beitrag. Trage da in die CheckBoxList deine Liste unter Items rein, wähle paar Werte und führe den Code von mir aus.

Popov 29. Jun 2009 00:12

Re: CheckListBox
 
Zitat:

Zitat von Kunoishi
sagt doch gleich das ick die Daten ja in ihrer einen stinglist von Checklistbox hatte und dit mit dem Case ja total blöd war

Ich hab dich ja gefragt ob es in der Case Anweisung sein muß

Zitat:

Sind die Werte "Blume", "Wasser", usw. nur in der Case Anweisung oder oder auch Item-String?
Ich hab deine Antwort so verstanden, daß in der Checklistbox was anderes steht und es über Case laufen muß.

Kunoishi 29. Jun 2009 00:15

Re: CheckListBox
 
da hatte ich wohl das mit dem case nicht richtig verstanden

jups habe ich jetzt gemacht und es klapt bestens
danke :-)

frage: noch eine kleine

wie kann ich jetzt wenn ich ein feld ausgewählt habe mit zu diesem ein Memo anzeigen lassen?

Popov 29. Jun 2009 00:17

Re: CheckListBox
 
Wie meinst du das?

Kunoishi 29. Jun 2009 00:18

Re: CheckListBox
 
ich habe mir die blume ausgewählt und nun möchte ich zur Blume eine Text in einem Memofeld angezeigt haben.
das Gleiche dann bei wasser.

Popov 29. Jun 2009 00:27

Re: CheckListBox
 
Ich weiß nicht ob ich dich richtig verstanden habe, aber ein Text zu Memo hinzufügen geht so:

Memo1.Lines.Add('Dein Text');

Löschen kannst du so:

Memo1.Clear;

Text zuweisen (also nicht hinzufügen, sondern komplett ersetzten):

Memo1.Lines.Text := 'Dein Text':

Kunoishi 29. Jun 2009 00:32

Re: CheckListBox
 
jups
jetzt habe ich mit in der checklistbox das häckchen bei der blume gemacht
nun soll er das Memo BlumeLines.Add('ich bin die sonnenblume'); aufmachen als beispiel


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:48 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