![]() |
AW: Ersatz von Indy mit Visual Studio 2015 und Mimekit/Mailkit
Zitat:
|
AW: Ersatz von Indy mit Visual Studio 2015 und Mimekit/Mailkit
Zitat:
Sorry hätte ich auch direkt machen können..
Delphi-Quellcode:
Hinweis:
function LoadEMFFileToMsg(AFileName: string;Msg : TIdMessage):boolean;
var tmpStringList : TStringList; tmpStream : TMemoryStream; tmpBuffer : array[0..4] of AnsiChar; i : integer; begin result := false; try if UpperCase(ExtractFileExt(AFileName)) = '.EML' then begin tmpStringList := TStringList.Create; try tmpStringList.LoadFromFile(AFileName); // Bugfix mit '.' statt '..' wenn durch Zeilenumbruch der '.' alleine in der Zeile steht // Microsoft hällt sich nicht RFC und speichert dann nur mit '.' statt '..'! for i := 0 to tmpStringList.Count -1 do begin if tmpStringList[i] = '.' then tmpStringList[i] := '..'; end; tmpStream := TMemoryStream.Create; try tmpStringList.SaveToStream(tmpStream); tmpStream.Position := tmpStream.Size -5; tmpStream.Read(tmpBuffer,5); if tmpBuffer <> #13#10'.'#13#10 then tmpStream.WriteBuffer(#13#10'.'#13#10,5); tmpStream.Position := 0; Msg.LoadFromStream(tmpStream); result := true; finally tmpStream.Free; end; finally tmpStringList.Free; end; end; except end; end; Diese Routine benutze unter Delph 6, es könnte somit Probleme mit Unicode in neueren Delphis geben ;) Indy 10. Hiermit bekomme ich eigendlich alle EMLs von Outlook oder Thunderbird geladen.. |
AW: Ersatz von Indy mit Visual Studio 2015 und Mimekit/Mailkit
Zitat:
Zitat:
Delphi-Quellcode:
:zwinker:
if (tmpStringList.Count > 0) and (tmpStringList[tmpStringList.Count-1] <> '.') then
tmpStringList.Add('.'); |
AW: Ersatz von Indy mit Visual Studio 2015 und Mimekit/Mailkit
Hmm..
Ich hab mal meine eigene Routine noch mal angeschaut... eigentlich kann ich immer ein
Delphi-Quellcode:
machen, bevor ich die Stingliste in den Stream packe.
tmpStringList.Add('.');
Denn vorher werden aus allen '.' -> '..' somit würde die Abfrage nach dem '.' in der letzten Zeile eh immer false ergeben.. Ach.. Das mit Except end; war einfach nur Faulheit ;) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:08 Uhr. |
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