Witam.
Na formie mam położone dwa listboxy.
W 1 mam adresy email, które nie lubię gdy przychodzą na mój serwer pocztowy, czyli krótko mówiąc w Listbox1 jest czarna lista adresów email.
W 2 są wyświetlane listy przychodzące. Ten listbox wyświetla adresy email tych listów konkretnie pisząc.
Chcę zrobić aby adresy z listbox2 były porównywane z adresami z listbox1 (czarna lista) i gdy znajdą się adressy takie jak w czarnej liście to usuwa te listy z serwera.
Przeszukałem forum i znalazłem taki kod, ale on chyba jest źle napisany i nie odpowiada moim oczekiwaniom. Czy ktoś ma jakiś pomysł na kodzik? Dobre będą też jakieś wskazówki.
Napisałem procedurkę, która usuwa Itemy z Listboxa gdy w dwóch listboxach wystąpią te same adresy email ale często występuje błąd: Index is out of bound (jakaś_cyfra). Czy wie ktoś jak to naprawić?
kod taki:
var i,j:integer;
begin
for i:=LBox1.Items.Count-1 downto 0 do begin
for j:=LBox2.Items.Count-1 downto 0 do
if (LBox1.Items.Strings[i]=LBox2.Items.Strings[j])
then LBox1.items.Delete(i);
end;
end;
A tu kod który znalazłem na forum, ten co mi nie odpowiada za bardzo
var sl : TStringList; //lista adresow;
...
pop.Connect;
For">for i := pop.CheckMessages downto 1 do
begin
msg.Clear;
if pop.Retrieve(i,msg) then
begin
if sl.IndexOf(msg.subject)<>-1 then
pop.Delete(i); //usuwa email o indeksie "i" z serwera
end;
end;
pop.Disconnect;