Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Mails filtern langsam (https://www.delphipraxis.net/168527-mails-filtern-langsam.html)

oakley 27. Mai 2012 01:41

Mails filtern langsam
 
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;

mkinzler 27. Mai 2012 07:43

AW: Mails filtern langsam
 
Du könntest den Filter direkt per MAPI anwenden

oakley 27. Mai 2012 18:43

AW: Mails filtern langsam
 
Hi,

ich hab jetzt schon ein bischen herumprobiert aber ich bekomme das nicht hin mit dem Filtern.
Denn ich wollte den Filter anwenden, inden ich folgendes gemacht habe:
Ich habe oben noch zwei Variable eingefügt. NMessages : OleVaraint;
Dann unter NFolder := NameSpace.GetDefaultFolder(5);
NMessages := NFolder.Messages;

Und da kommt beim kompilieren ein Fehler weil Messages keine Funktion oder Eigenschaft von NFolder ist.
Nur wie kann ich über den Inhalt des Folders den Filter legen?

Gruß

Mirko

mkinzler 27. Mai 2012 19:17

AW: Mails filtern langsam
 
Ich dachte eher an Restrict

oakley 28. Mai 2012 18:18

AW: Mails filtern langsam
 
Hi,

danke für die Antwort. Das funktioniert so weit.
Restrict ist aber nur mit Outlook 2007 machbar oder?

Gruß

Mirko


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:54 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz