Einzelnen Beitrag anzeigen

ulrich.b

Registriert seit: 21. Sep 2005
Ort: Kattau (AT)
79 Beiträge
 
Delphi 2009 Professional
 
#10

Re: Indy IdDeconderMIME.Decodestring konvertiert falsch

  Alt 13. Mai 2009, 15:14
Bitte kein AssignFile/Reset/Readln/... verwenden (muffiger Pascal Style).

Sondern, ... TFileStream !!!

Oder fürs String parsen (iss bei dir nämlich auch grausig): TStringList und StringList.LoadFromFile('1.xml');

Delphi-Quellcode:
var
F,F2:TextFile;
field,value:string;
Line:Ansistring;
line2:widestring;
PdfBytes: TBytes;
//IdDecoderMIME1: TIdDecoderMIME;
OutStream: TFileStream;
begin
  //IdDecoderMIME1 := TIdDecoderMIME.Create(Self);

  AssignFile(F,'1.xml');
  Reset(F);
  while not EOF(F) do
  begin
    Readln(F,line);
    field := copy(line,Pos('<',line)+1,Pos('>',line)-Pos('<',line)-1);
    line := copy(line,Pos('>',line)+1,length(line)-Pos('>',line));
    if Pos('</',line) > 0 then
      value := copy(line,1,Pos('</',line)-1)
    else
      value := line;
    if field = 'FileDatathen
    begin
      PdfBytes := IdDecoderMIME1.DecodeBytes(value);
    end;
  end;

  OutStream := TFileStream.Create('generated_1.pdf', fmCreate);
  try
    OutStream.WriteBuffer(PdfBytes[0], Length(PdfBytes));
  finally
    OutStream.Free;
  end;
end;
Funktioniert bei mir (zumindest mit der aktuellen Indy-Version)!
  Mit Zitat antworten Zitat