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 MSG-Text in einem TMemo anzeigen? (https://www.delphipraxis.net/44521-msg-text-einem-tmemo-anzeigen.html)

smart 20. Apr 2005 12:37


MSG-Text in einem TMemo anzeigen?
 
Wie kann man von der Indy- IdMessage Komponente den MSG-Text in einem TMemo anzeigen lassen?

RedDust 20. Apr 2005 13:04

Re: MSG-Text in einem TMemo anzeigen?
 
Kann dir zwar nicht sagen wie man dies Speziell abfängt aber ich hab' da eine Routiene die ich immer mal wieder gerne einsetze.

Delphi-Quellcode:
type
  ...
    procedure Fehlerhandler(Sender: TObject; E: Exception);
  private
  ...

implementation

procedure TForm1.Fehlerhandler(Sender: TObject; E: Exception);
var nachricht : string;
begin
  ShowMessage('Es trat folgender Fehler auf:' + #13 + #13 + E.Message);
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  Application.OnException := Fehlerhandler;
end;
Is vielleicht nicht die beste Lösung aber zumindest ein Anfang

smart 20. Apr 2005 13:25

Re: MSG-Text in einem TMemo anzeigen?
 
Nein, jetzt haben wir uns falsch verstanden. Ich meinte nicht die Fehler sondern EMailtext. Ich habe mich da dumm ausgedrückt.

Delphi-Quellcode:
procedure TForm1.ListBox1DblClick(Sender: TObject);
Var
intIndex:Integer;
begin
If POP.Connected Then POP.Disconnect;
POP.Connect;
POP.Retrieve(ListBox1.ItemIndex + 1, IdMessage1);
Caption := IntToStr(ListBox1.ItemIndex); Exit;
if IdMessage1.MessageParts.Items[intIndex] is TIdText then
begin
   Memo1.Lines.Clear;
   Memo1.Lines.AddStrings(TIdText(IdMessage1.MessageParts.Items[intIndex]).Body);
end;
If POP.Connected Then POP.Disconnect;
end;

Sharky 20. Apr 2005 14:41

Re: MSG-Text in einem TMemo anzeigen?
 
Hai smart,

Du must in einer Schleife die einzelnen Messageparts durchlaufen. Zur Zeit wird die Variable intIndex bei deinem Code ja nicht verwendet ;-) Ausserdem hast Du da ein schönes Exit mitten in deinem Code stehen

Code:
procedure TForm1.ListBox1DblClick(Sender: TObject);
Var
  intIndex:Integer;
begin
  If POP.Connected Then POP.Disconnect;
  POP.Connect;
  POP.Retrieve(ListBox1.ItemIndex + 1, IdMessage1);
  Caption := IntToStr(ListBox1.ItemIndex); [b]Exit[/b];
  if IdMessage1.MessageParts.Items[intIndex] is TIdText then // intIndex ist nicht gesetzt.
  begin
    Memo1.Lines.Clear;
    Memo1.Lines.AddStrings(TIdText(IdMessage1.MessageParts.Items[intIndex]).Body);
  end;
  If POP.Connected Then POP.Disconnect;
end;

smart 20. Apr 2005 14:51

Re: MSG-Text in einem TMemo anzeigen?
 
Hi Sharky!

Ich werde warnsinnig! Da habe ich doch tatsächlich „Exit“ übersehen und suche schon einige Stunden warum der Code nicht läuft. Da fällt einem nichts mehr zu ein. Vielen Dank für Dein Hinweis. Jetzt klappt es. Aber bitte.... nicht lachen.


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