Moin,
ich befasse mich grad mit den CheckListboxen. Und da ich eben noch einen
Code zum auslesen des Pfades der SpecialFolder gefunden hab, dachte ich,
ich mach ein Progrämmchen, um das Senden an... Menü zu modifizieren.
Mein Hauptproblem ist jetzt, wie ich die markierten Einträge löschen kann.
Habs hiermit versucht: Checklistbox1.Items.Delete(i);
Bekomme dann aber die Meldung: Listenindex überschreitet das Maximum(6):
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var s, path:
string;
i: integer;
stl: tstringlist;
begin
path := (GetSpecialFolder(
Handle, CSIDL_Sendto) + '
\*.*'#0);
s := path;
CheckListBox1.Perform(LB_DIR, DDL_READWRITE, LongInt(@s[1]));
Checklistbox1.ItemIndex:=0;
stl := tstringlist.Create;
try
for i := 0
to Checklistbox1.items.Count - 1
do
begin
stl.Add(CheckListbox1.items.strings[Checklistbox1.itemindex]);
Checklistbox1.itemindex := Checklistbox1.itemindex+1;
end;
Checklistbox1.items.CommaText := stl.commatext;
label3.caption := inttostr(i) + '
Einträge vorhanden';
label1.Caption := s;
label2.caption := path;
finally
stl.free;
end;
end;
procedure TForm1.Button2Click(Sender: TObject);
var i: integer;
begin
for i := 0
to Checklistbox1.Items.Count-1
do
begin
if Checklistbox1.checked[i]
then
begin
Checklistbox1.Items.Delete(i);
end;
end;
end;
Das Leben ist ein einziger Trip.