TChecklistbox (gelöst)

Für Fragen zur Programmiersprache auf welcher Lazarus aufbaut

TChecklistbox (gelöst)

Beitragvon haderlump » 30. Dez 2018, 20:07 TChecklistbox (gelöst)

Hallo zusammen.
Ich benutze die Checklistbox.
als erstes fülle ich die Zeilen mit
Code: Alles auswählen
elementliste.Items.Add(element^.name);

klappt auch ganz gut.
nachdem ich den relevanten Datensatz gerade da habe, möchte ich gleich die Häckchen setzen.
mit dem Befehl
Code: Alles auswählen
if element^.schattenbf_aktiv then elementliste.Checked[elementliste.ItemIndex] := true;

bekomme ich aber die Fehlermeldung: TChecklistbox Index -1 out of bound.
Was mache ich da falsch?.
wird der Index nicht automatisch beim hinzufügen einer neuen Zeile erhöht?

Gruß Fritz
Zuletzt geändert von haderlump am 31. Dez 2018, 02:53, insgesamt 1-mal geändert.
haderlump
 
Beiträge: 157
Registriert: 18. Jan 2013, 09:29
OS, Lazarus, FPC: Windows 10, Windows XP, Lazarus 1.6 | 
CPU-Target: Celeron
Nach oben

Beitragvon sstvmaster » 30. Dez 2018, 22:24 Re: TChecklistbox

HI Fritz,

das sollte so gehen:
Code: Alles auswählen
 
elementliste.Items.Add(element^.name);
if element^.schattenbf_aktiv then elementliste.Checked[elementliste.Items.IndexOf(element^.name)] := true;
 

LG guten Rutsch, Maik
sstvmaster
 
Beiträge: 199
Registriert: 22. Okt 2016, 22:12
Wohnort: Dresden
OS, Lazarus, FPC: Windows 7 32bit (L 2.0.2 FPC 3.0.4) | 
CPU-Target: 32Bit
Nach oben

Beitragvon wp_xyz » 31. Dez 2018, 02:11 Re: TChecklistbox

Das Suchen mit IndexOf kann man sich sparen, denn Add ist eigentlich eine Funktion, die den Index des neuen Elements zurückliefert:
Code: Alles auswählen
var
  idx: Integer;
...
  idx := elementliste.Items.Add(element^.name);
  if element^.schattenbf_aktiv then elementliste.Checked[idx] := true;
wp_xyz
 
Beiträge: 2918
Registriert: 8. Apr 2011, 08:01

Beitragvon haderlump » 31. Dez 2018, 02:53 Re: TChecklistbox

Danke wp_xyz so hat es geklappt.
Again what lerned!!
Fritz
haderlump
 
Beiträge: 157
Registriert: 18. Jan 2013, 09:29
OS, Lazarus, FPC: Windows 10, Windows XP, Lazarus 1.6 | 
CPU-Target: Celeron
Nach oben

• Themenende •

Zurück zu Freepascal



Wer ist online?

Mitglieder in diesem Forum: Exabot [Bot] und 3 Gäste

porpoises-institution
accuracy-worried