Delphi-PRAXiS
Seite 1 von 3  1 23      

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 00:31


Checklistbox/Pop3 - Error Message ?
 
nabend,
also folgendes. schreib grad etwas an einem kleinem mail tool und habe folgendes prob. wenn ich meine mails abrufe (erstmal nur die header) und in eineChecklistbox schreiben möchte, bekomm ich jedesmal den fehler "ERR-Message Number out of range" und zusätzlich sind alle mails die einen Anhang beinhalten doppelt eingetragen. :/ weis nich mehr weiter hab scho div. sachen ausprobiert bzw hier geschaut aber nichts passendes gefunden.
Delphi-Quellcode:
procedure TForm1.ffnen1Click(Sender: TObject);
var
i:integer;

begin
for i := 1 to pop1.MessageCount do
begin
pop1.RetrieveHeader(i, Message1);
checklistbox1.Items.Add(Message1.Subject);
Message1.Clear;

end;
end;
infos:
pop1 wäre die pop-kompo
message1 der parser
checklistbox1 = checklistbox
benutze eine kompo die der indy sehr ähnelt/CIS, an ders aber nicht liegt
delphi 7

ps: wäre es möglich das die checklistbox nur bestimmte mails anzeigt die z.b. das subject "News" enthalten bzw nen anhang besitzen?

thx 4 help + info

chris 16. Feb 2005 00:37

Re: Checklistbox/Pop3 - Error Message ?
 
hi,

kann ich nicht soviel zu sagen, probier dochmal erstmal das, vllt zählen die cis komps ja anders:

Delphi-Quellcode:
for i := 0 to pop1.MessageCount - 1 do
Zitat:

ps: wäre es möglich das die checklistbox nur bestimmte mails anzeigt die z.b. das subject "News" [..]
sollte so klappen:
Delphi-Quellcode:
if Message1.Subject = 'News' then checklistbox1.Items.Add(Message1.Subject)
zum anhang kann ich dir nichts sagen weil ich nicht mit den komponenten arbeite.

c4st0rtr0y 16. Feb 2005 00:49

Re: Checklistbox/Pop3 - Error Message ?
 
thx,
also die fehlermessage kommt nicht mehr. allerdings wird die letzte mail nicht angezeigt und die mails mit anhang sind doppelt inner checklistbox :/

chris 16. Feb 2005 12:05

Re: Checklistbox/Pop3 - Error Message ?
 
hi,

sind es die clever internet suite componenten? CIS oder ICS?

also das hier sollte eigentlich funktionieren:

Delphi-Quellcode:
for i := pop1.MessageCount - 1 down to 0 do
wieso nimmst du, wenn du D7 hast nicht einfach die indy?

c4st0rtr0y 16. Feb 2005 12:13

Re: Checklistbox/Pop3 - Error Message ?
 
ja genau die clever ... naja die indy kompo möchte soi garnicht auf mein gmail postfach zugreifen. das scheint wohl an indy zu liegen :/ würd auch sonst indy lieber nehmen da es viel mehr beispiele gibt da die kompos sich im code dann ja doch etwas unterscheiden. naja ich probier mal grad die sachen ;) thx

chris 16. Feb 2005 12:21

Re: Checklistbox/Pop3 - Error Message ?
 
hi,

gmail .. naja ich denke dann liegt es an ssl, ohne das geht es nicht.


nochmal zu dem oben .. ich glaube ich weiss warum es nicht geht ..

mach es mal so:

MessageParser: TclMessageParser;

Delphi-Quellcode:
procedure TForm1.ffnen1Click(Sender: TObject);
var i:integer;

begin
 for i := pop1.MessageCount -1 downto 0 do
  begin
   pop1.RetrieveHeader(i);
   checklistbox1.Items.Add(MessageParser.Subject)
  end
end;

c4st0rtr0y 16. Feb 2005 12:30

Re: Checklistbox/Pop3 - Error Message ?
 
hmm...ja bei den CIS iss halt SSL sehrschön integriert. also mit den verschiedenen beispielen da unten wie auch das aktuelle von dir (Chris) kommen die mails zwar wunderbar in die checkliste rein allerdings werden die mails die einen anhang besitzen und komischerweise nur die, doppelt eingetragen. ka woran das wohl liegen könnte. ich meine ist ja nicht so schlimm wenn man doppelte einfach rausfiltern könnte ?.


procedure TForm1.ffnen1Click(Sender: TObject);
var
i:integer;
begin
pop1.Server := labelededit1.Text;
pop1.Port := StrToInt(labelededit2.text);
pop1.UserName := labelededit3.Text;
pop1.Password := maskedit1.Text;
pop1.TimeOut := 20000;
pop1.UseSSL := true ;
pop1.Open;
//for i := 0 to pop1.MessageCount -1 do
//for i := pop1.MessageCount - 1 to 0 do
begin
for i := pop1.MessageCount -1 downto 0 do
begin
pop1.RetrieveHeader(i);
checklistbox1.Items.Add(Message1.Subject);
end;
end;
end;
//begin
//pop1.RetrieveHeader(i, Message1);
//if Message1.Subject = 'News vom 16.02.05' then checklistbox1.Items.Add(Message1.Subject);
//checklistbox1.Items.Add(Message1.Subject);
//Message1.Clear;
//end;
[/delphi]

chris 16. Feb 2005 12:45

Re: Checklistbox/Pop3 - Error Message ?
 
hi,

du kannst das einfügen doppelter einträge im voraus verhindern.

z.b. hiermit:

Delphi-Quellcode:
if checklistbox1.Items.IndexOf(Message1.Subject) = -1 then checklistbox1.Items.Add(Message1.Subject);
ob das so im sinne des erfinders ist sei mal dahingestellt.


probier das mal, ich hab mich gerade mal etwas schlau gemacht:

Delphi-Quellcode:
checklistbox1.Items.AddObject(Message1.Subject, Pointer(i));

c4st0rtr0y 16. Feb 2005 12:51

Re: Checklistbox/Pop3 - Error Message ?
 
hm....funzt leider beides nüschte :( hat evtl. die checklistbox nen hauweg ? weil irgendwas stimmt da ja wohl net kann ja net sein das da allet doppelt kommt was nen anhang hat...

chris 16. Feb 2005 12:58

Re: Checklistbox/Pop3 - Error Message ?
 
hi,

wa??

Delphi-Quellcode:
if checklistbox1.Items.IndexOf(Message1.Subject) = -1 then checklistbox1.Items.AddObject(Message1.Subject, Pointer(1))
MUSS klappen!


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:45 Uhr.
Seite 1 von 3  1 23      

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