Na tejże formie mam button i ComboBox’a. W ComboBox’ie jako Items mam 16 różnych rozdzielczości formacie jak powyżej. Jak zrobić to, żeby po naciśnięciu button’a aplikacja sprawdziła zawartość mojego Label1.Caption’a i porównała ją z zawartością listy ComboBox? Jeżeli na liście znalazła by się akurat ta rozdzielczość, która jest w Label1.Caption, to żeby się zaznaczyła, a jeżeli by jej tam nie było, to żeby zaznaczył się tam załóżmy ItemIndex[2]? – Dodane 04.05.2010 (Wt) 8:11 – Przepraszam za posta pod postem, ale sam doszedłem już do odpowiedzi na swoje pytanie. Temat do zamknięcia. Kod:
[...]
var
i : integer;
a : string;
begin
a:=Label18.Caption;
for i:=0 to ComboBox1.Items.Count-1 do
ComboBox1.ItemIndex:=ComboBox1.Items.IndexOf(a);
[...]
Tylko po co Ci ta pętla tam? IndexOf zwraca indeks szukanego elementu, nie musisz tej operacji wykonywać X razy, wystarczy raz. Zresztą powinno zwrócić Twoją uwagę to że w ciele pętli for nie użyłeś iteratora i, zatem operacja wew. nie zależy od jej przebiegu - pętle do wywalenia.
Po to istnieje możliwość nadawania nazw kontrolkom. Jak zmienisz nazwę Label8 na AktualnaRozdzielczosc a ComboBox1 na ListaRozdzielczosci, to nie będziesz musiał dodatkowych zmiennych tworzyć bo od razu po ludzku się czyta:
with ListaRozdzielczosci do ItemIndex:=Items.IndexOf(AktualnaRozdzielczosc.Caption);