Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Checklistbox/Pop3 - Error Message ? (https://www.delphipraxis.net/40460-checklistbox-pop3-error-message.html)

c4st0rtr0y 16. Feb 2005 13:03

Re: Checklistbox/Pop3 - Error Message ?
 
ahhhh genau ;) damit gehts prima thx!!!
dann blieb nur noch die frage wie ich die mails filtern kann (wie ich vorhin ja scho beschrieben hatte) das würde wohl gehen mit dem
Delphi-Quellcode:
if Message1.Subject = 'News' then checklistbox1.Items.Add(Message1.Subject)
allerdings hat ja die mail nur die

anfangsbustaben News dann kommt nen datum und ggf noch uhrzeit usw. kann man da mit wildcards arbeiten spriche

Delphi-Quellcode:
if Message1.Subject = 'News*' then checklistbox1.Items.Add(Message1.Subject)
hm...klapt jedenfalls nicht bei mir wenn ich da sso eingebe

chris 16. Feb 2005 13:08

Re: Checklistbox/Pop3 - Error Message ?
 
hi,

na super, dann haben wir es ja fast :)

dann noch den rest:

Delphi-Quellcode:
if copy(Message1.Subject, 0, 4) = 'News' then

um das zu komplettieren:

Delphi-Quellcode:
if (checklistbox1.Items.IndexOf(Message1.Subject) = -1) AND (copy(Message1.Subject, 0, 4) = 'News') then checklistbox1.Items.AddObject(Message1.Subject, Pointer(1))

c4st0rtr0y 16. Feb 2005 13:21

Re: Checklistbox/Pop3 - Error Message ?
 
das funzelt ja wunderbar!!
if copy(Message1.Subject, 0, 4) = 'News' then <-- ich nehme mal an die 0, 4 bedeutet quasi jede mail die die anfangsbustaben 0-4aus 'text' enthält....könnte also auch 'News:' nehmen und anstatt der 4 ne 5 reinsetzen oder? ;)
hab ich ja doch was gelernt hehe.

vieleicht noch zuletzt, da ich die mails ja nun inner checkbox habe würde ich gerne (davon ausgegangen das die mails alle nen anhang haben -> pdf bzw doc) würd ich gerne die markierten mailanhänge in einen vorher definierten ordner speichern (z.b. C:\Morgenpost) ist das auch möglich? dann wärs aber alles fertig *g

chris 16. Feb 2005 13:44

Re: Checklistbox/Pop3 - Error Message ?
 
hi,

Zitat:

if copy(Message1.Subject, 0, 4) = 'News' then <-- ich nehme mal an die 0, 4 bedeutet quasi jede mail die die anfangsbustaben 0-4aus 'text' enthält....könnte also auch 'News:' nehmen und anstatt der 4 ne 5 reinsetzen oder?
hab ich ja doch was gelernt hehe.
jupp, siehe OH: copy()

Zitat:

vieleicht noch zuletzt, da ich die mails ja nun inner checkbox habe würde ich gerne (davon ausgegangen das die mails alle nen anhang haben -> pdf bzw doc) würd ich gerne die markierten mailanhänge in einen vorher definierten ordner speichern (z.b. C:\Morgenpost) ist das auch möglich? dann wärs aber alles fertig *g
ja das ist möglich, klar

sollte in etwa so gehen (ungetestet):

Delphi-Quellcode:
procedure TForm1.clMessageParser1GetBodyStream(Sender: TObject;
   ABody: TclMessageBody; const AFileName: String; var AStream: TStream;
   var Handled: Boolean);
var att_path: string;
begin
   att_path := 'c:\morgenpost';
   forcedirectories(att_path);
   AStream := TFileStream.Create(att_path +'\'+ afilename, fmCreate)
end;
guck doch einfach mal hier nach:

http://www.clevercomponents.com/prod...suitehowto.asp

c4st0rtr0y 16. Feb 2005 13:54

Re: Checklistbox/Pop3 - Error Message ?
 
danke für die info ;)
leider versteh ich das nicht so gaaanz...also ich wollte das in nen klickereignis packen angenommen ich ruf meine news ab und klick inner checklist die beiden neusten an und klick dann auf "Download" quasi. dann sollte er die ja in den morgenpost-ordner speichern, allerdings nur das jeweilige attachment.

Delphi-Quellcode:
procedure TForm1.clMessage1GetBodyStream(Sender: TObject;
   ABody: TclMessageBody; const AFileName: String; var AStream: TStream;
   var Handled: Boolean);

var att_path: string;

begin
   att_path := 'c:\morgenpost';
   forcedirectories(att_path);
   AStream := TFileStream.Create(att_path +'\'+ afilename, fmCreate);
end;
so hab ich das in des ereignis des MessageParsers übernommen. kann ich das dann über nen buttonklick aufrufen inklusive übergabe der markierten mails damit er nicht alle läd oder?

chris 16. Feb 2005 14:19

Re: Checklistbox/Pop3 - Error Message ?
 
hi,

erstmal musst du dir die gecheckten mails besorgen, du hast ja bis jetzt nur die header

das würde dann so aussehen:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var i: integer;
begin
  with CheckListBox1 do
  begin
    if Items.Count = 0 then Exit;
    for i := 0 to Items.Count - 1 do if Checked[i] then pop1.retrieve(i)
  end
end;
nun hast du aber ein problem, da du nicht weisst ob i auch der messagenummer auf dem server entspricht.
du hast ja die doppelten einträge nicht in die checkbox übernommen.

du solltest die message nummer (TForm1.ffnen1Click -> i) zwischenspeichern, um hinterher auch zu wissen welche message du abholen willst.

außerdem weißt du nicht ob schon neue mails im postfach liegen die du noch nicht in der checklistbox hast.

c4st0rtr0y 16. Feb 2005 14:28

Re: Checklistbox/Pop3 - Error Message ?
 
ah jetzt wird mir das klar....hmm....gibt da nicht evtl. ne möglichkeit bzw ne nummer/name whatever um jede mail genaustens zu identifizieren ? also weis nicht hab was von wegen uidl oder so? gelesen gehabt. hmmm.....

chris 16. Feb 2005 14:35

Re: Checklistbox/Pop3 - Error Message ?
 
hi,

am besten du lädst dir das mal hier runna und guckst es dir an:

clevercomponents MailClient demo

ich kann dir da leider nicht so gut helfen weil ich nicht mit cis arbeite.

c4st0rtr0y 16. Feb 2005 14:38

Re: Checklistbox/Pop3 - Error Message ?
 
oki ;) danke schonmal für die ganze hilfe. das beispiel schau ich mir dann mal an hoffe da findet sich was inner source. vieleicht hat ja noch jemand nen tippchen wie das mit dem message identifizieren vonstattengeht damit man auch die richtige bekommt. dankö, thx, gracie

chris 16. Feb 2005 14:54

Re: Checklistbox/Pop3 - Error Message ?
 
hi,

na das zwischenspeichern und auslesen sollte ja mit ner stringlist kein problem sein

vereinfacht:

Delphi-Quellcode:
 str.add(inttostr(i)) //schreiben der messagenummer bei TForm1.ffnen1Click
 strtoint(str.strings[i]) //lesen der messagenummer bei TButton2Click
denke daran das du bei for .. to add benutzt und bei for .. downto insert, sonst stimmt die
reihenfolge nicht


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:08 Uhr.
Seite 2 von 3     12 3      

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