Einzelnen Beitrag anzeigen

oakley

Registriert seit: 15. Aug 2005
287 Beiträge
 
#1

Mails filtern langsam

  Alt 27. Mai 2012, 01:41
Hi ich greife mit folgendem kleinen Code per MAPI auf meine Outlook PST zu.
Darin befinden sich reichlich Mails, also so ca. 3000 Stck im bei den gesendeten Objekten.

Da jede Mail durch die for Schleife einzeln geprüft wird dauert das dementsprechend lange.
Gibt es evtl eine Methode die wesetnlich schneller geht?

Viele Dank für Eure Hilfe.

Gruß

Mirko

Code:
procedure TForm8.Button1Click(Sender: TObject);
var outlook, NameSpace, Folder, NFolder, oiItem, oiItem2: OLEVariant;
OG, OG2: TOutlookGroup;
i : integer;
s : OleVariant;
begin
  outlook := CreateOleObject('Outlook.Application');
  NameSpace := outlook.GetNameSpace('MAPI');
  NFolder := NameSpace.GetDefaultFolder(5);
  OG2 := ADVOLIST.AddGroup('Sent Emails');

  for i := 1 to NFolder.items.Count do
  begin
    oiItem2 := NFolder.items.item[i];
    if oiItem2.to = '''xy@xy.de''' then
    begin
      with OG2.AddChild do
      begin
      Add(VartoStr(oiItem2.SenderName));
      Add(VartoStr(oiItem2.Subject));
      Add(DateTimetoStr(oiItem2.ReceivedTime));
      end;
    end;
  end;
end;
  Mit Zitat antworten Zitat