Het is gelukt hoor. Voor het geval iemand hierin geinteresseerd is, post ik hierbij de gebruikte code, misschien (lees: zeer waarschijnlijk) zien jullie fervente experts nog enkele verbeteringen.
Code:
procedure TInspect.FormShow(Sender: TObject);
var
f : TextFile;
begin
Caption := Source.tblReceived.FieldByName('Subject').AsString;
qryAttachments.SQL.Text := 'SELECT Filename FROM Attachments WHERE MessageID = ''' +
MessageID.Text + ''';';
qryAttachments.Active := True;
AssignFile(f, 'msg.html');
ReWrite(f);
Write(f, '<TABLE WIDTH="100%" BORDER=1><TR><TD>');
Write(f, '<TABLE WIDTH="100%" BORDER=0 BGCOLOR="silver">');
Write(f, '<TR><TD WIDTH=100><B>MessageID:</B></TD> <TD>' + MessageID.Text + '</TD></TR>');
Write(f, '<TR><TD WIDTH=100><B>Date:</B></TD> <TD>' + msgDate.Text + '</TD></TR>');
Write(f, '<TR><TD WIDTH=100><B>From:</B></TD> <TD>' + From.Text + '</TD></TR>');
Write(f, '<TR><TD WIDTH=100><B>To:</B></TD> <TD>' +
Source.tblAccounts.FieldByName('DisplayName').AsString + '</TD></TR>');
if Length(CC.Text) > 1 then
Write(f, '<TR><TD WIDTH=100><B>CC:</B></TD> <TD>' + CC.Text + '</TD></TR>');
if Length(CC.Text) > 1 then
Write(f, '<TR><TD WIDTH=100><B>BCC:</B></TD> <TD>' + msgBCC.Text + '</TD></TR>');
Write(f, '<TR><TD WIDTH=100><B>Subject:</B></TD> <TD>' + theSubject.Text + '</TD></TR>');
Write(f, '</TABLE>');
Write(f, '</TD></TR></TABLE>');
if Pos('<!DOCTYPE', Message.Text) = 0 then
Write(f, '<PRE><FONT FACE="Times New Roman">');
Write(f, Message.Text);
if Pos('<!DOCTYPE', Message.Text) = 0 then
Write(f, '</FONT></PRE>');
CloseFile(f);
htmlMessage.Navigate(ExtractFilePath(Application.ExeName) + '/msg.html');
while not (htmlMessage.ReadyState = READYSTATE_COMPLETE) do
Application.ProcessMessages;
DeleteFile('msg.html');
end;
Edit: Enkele (te) lange regels verdeeld over twee regels
Bookmarks