Einzelnen Beitrag anzeigen

hellow554

Registriert seit: 30. Mär 2009
Ort: Bargteheide
9 Beiträge
 
#1

If ... or ... then verwirrt mich

  Alt 1. Apr 2010, 18:05
Moin moin,

ich steig grad durch mein eigenes Programm nicht durch...

Folgendes ist der Fall:

Delphi-Quellcode:
i := 0;
repeat
if (combobox1.items.Strings[i] = 'YASU') or (combobox1.Items.Strings[i] = 'DT') then
  combobox1.Items.Delete(i);
a := combobox1.Items.Count;
i := i+1;
until i >= combobox1.Items.Count+2;
Ich durchsuche eine Combobox nach den Wörtern YASU und DT... naja..
Er löscht immer nur DT, warum?
Alternative, damit es funzt ist
Delphi-Quellcode:
repeat
if combobox1.items.Strings[i] = 'DTthen
  combobox1.Items.Delete(i);
if combobox1.Items.Strings[i] = 'YASUthen
  combobox1.Items.Delete(i);
a := combobox1.Items.Count;
i := i+1;
until i >= combobox1.Items.Count+2;
Für micht ist das das selbe!? Wenn Yasu oder DT vorkommt lösche den, sonst mach weiter... hmmm
weitere abhilfe schafft aber auch, wenn ich in der ini datei aus der ich das ganze lade dt und yasu an erster stelle setzt, anstatt an letzter... aber es sollte mit beiden funktionieren, damit ich später nicht in der ini rumfuchteln muss...
ps... die variable a ist nur zu debug zwecken grad da, weil ich vorher ne endlosschleife hatte, weil i plötzlich größer war also combo.count und ich dort das > noch nicht dirn hatte... naja hab mich halt gewundert deswegen auch die +2 für zwei gelöschte einträge.

mfg

Marcel
  Mit Zitat antworten Zitat