Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Problem mit ListenIndex überschreitung (https://www.delphipraxis.net/2226-problem-mit-listenindex-ueberschreitung.html)

The Re@l 13. Jan 2003 17:54


Problem mit ListenIndex überschreitung
 
Hi

Ich könnte nochmal Hilfe gebrauchen.

Code:
procedure TfrmMainWindow.ffnen1Click(Sender: TObject);
Var
anzmails: longint;
Email:   TEmail;
i, j:  Integer;
IdMessagePart: TIdMessagePart;
begin
//alle nötigen Parameter setzen
popmain.UserId := Konfiguration.Account;
popMain.Password := Konfiguration.Passwort;
popMain.Host   := Konfiguration.POP;

//Verbindung Herstellen
popmain.Connect;

//Anzahl der Mails holen
AnzMails := popMain.CheckMessages;

//mails holen
if Anzmails > 0 then
begin

// EMail herunterladen
EMail := TEMail.Create(Application);
popMain.Retrieve(i, EMail);

// Teile der Email durchgehen
For j:=0 to EMail.MessageParts.Count do
begin

//wenn ein Teil Text ist, diesen in Email ablegen
IDmessagePart := Email.messageparts.items[0];
if IDmessagepart is Tidtext then
EMail.Body := (IdMessagePart as Tidtext).body;
 end;

//zum Schluß speichern und aufräumen
EMail.Speichern('.\Posteingang');
Email.Destroy;
popMain.Delete(i);

//Verbindung trennen
popMain.Disconnect;

//StringGrid aktualisieren
Aktualisieren(trvPostfach.selected);
end;
 end;

Problem wenn ich nun meine E-Mails Abrufen möchte bekomme ListenIndex überschreitet das Maximum (0). :(

Danke schon mal im Voraus

sakura 13. Jan 2003 17:59

Re: Problem mit ListenIndex überschreitung
 
Du hast eine 0 basierte Liste, d.h. die Items gehen von 0 bis Count-1
Code:
// Teile der Email durchgehen
For j:=0 to EMail.MessageParts.Count[color=#ff0000]-1[/color] do
begin

[i][color=#3b00ff]// anschließen 0 mit J ersetzen[/color][/i]
//wenn ein Teil Text ist, diesen in Email ablegen
IDmessagePart := Email.messageparts.items[[color=#ff0000]j[/color]];
...:cat:...

The Re@l 13. Jan 2003 18:16

Danke sakura

Ich bin noch anfänger, aber ich hab wieder was gelernt. :D

P.S.

Im obigen code
Code:
if Anzmails > 0 then
begin
sollte so aussehen

Code:
if Anzmails > 0 then
begin
for i:=1 to AnzMails do
begin
Hatte ich zuvor ausgeschnitten und nich gemerkt sorry


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:17 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