Delphiben ListBoxból miért nem törli a ciklus az összes elemet?
Úgy csináltam, hogy ha egy comboboxban kiválasztok egy elemet, akkor nézze meg, mennyi elem van a listboxban (types a neve), és ha van ott valami akkor a ciklus kitörli azt, és helyére írja amit a case-be írtam.
A gond, hogy induláskor nyilván jó, ám ha új elemet választok a comboboxban, akkor hagy bent elemeket a listboxban.
A kód:
procedure TForm1.ComboBox1Select(Sender: TObject);
var
i,count: integer;
begin
count:=types.Count;
label10.Caption:=inttostr(count);
if count <> -1 then
begin
for i:=0 to count+1 do
types.items.Delete(i);
end;
case combobox1.ItemIndex of
0:begin
types.Items.Add('A320 CFM hajtóművel');
types.Items.Add('A320 IAE hajtóművel');
types.Items.Add('A321');
end;
1:begin
types.Items.Add('B737-700');
types.Items.Add('B737-800/900');
types.Items.Add('B747-400');
types.Items.Add('B757-300');
types.Items.Add('B767-300ER');
types.Items.Add('B787-800');
end;
2:begin
types.Items.Add('Tu154');
end;
Szia.
Próbáld ki ezt, ez töröl minden adatot a types-ből :
types.items.clear;
Sok sikert.
Üdv.
Szia.
Egyébként a következő ok miatt maradnak adatok benne.
1 Ciklus : I=0 (kitörli a 0-dik sort, a többi bent marad)
2 Ciklus : I=1 (kitörli az 1. sort, - de a nullás sor bent marad)
3 Ciklus : I=2 (kitörli az 2. sort, - de a nullás és az 1 sor ismételten bent marad)
stb, stb.
Ha ciklussal szeretnéd megcsinálni akkor
for i:=0 to count-1 do
types.items.Delete(0);
end;
Sok sikert.
Üdv.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!