Hej
Jeg har en listbox og en nmpop3. Jeg gar indstillet nmpop3 til at hente fra min server, men nu vil jeg så have den til at checke on de mails der ligger på serveren har et af ordene som er listet i listboxen, og slette den hvis den gør. Jeg havde tænkt mige noget i stil med det her:
procedure TForm1.Button1Click(Sender: TObject);
var
i: integer;
begin
pop3.Connect;
for I := 1 to pop3.MailCount do
begin
pop3.GetMailMessage(i);
if pop3.MailMessage.Subject = blacklist.Items.Text then begin
pop3.DeleteMailMessage(i);
showmessage('Er slettet');
end;
end;
pop3.Disconnect;
end;
Men det virker ikke... Der sker ingen ting når jeg aktivere koden..
Mvh
Jesper
www.zig-software.dk
jtp@zig-software.dk
Hej Jesper,
Dit problem er at du sammenligner hele teksten fra Subject og alle linierne i Blacklist på een gang. Du skal se om du kan finde hver linie (fra Blacklist) i Subject og det kunne gøres sådan:
function TForm1.ContainsBlacklistedWords(ASearchText : String) : Boolean;
var
I : Integer;
begin
Result := False;
for I := 0 to Blacklist.Items.Count-1 do
begin // kig efter hvert enkelt ord i blacklisten.
if Pos(Blacklist.Items.Strings[I], ASearchText) > 0 then
begin // Okay ordet er fundet...
Result := True;
Break;
end;
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
i: integer;
begin
pop3.Connect;
for I := 1 to pop3.MailCount do
begin
pop3.GetMailMessage(i);
if ContainsBlacklistedWords(pop3.MailMessage.Subject) then
begin
pop3.DeleteMailMessage(i);
showmessage('Er slettet');
end;
end;
pop3.Disconnect;
end;
/Michael