![]() |
Datei wird nicht gespeichert.
Guten Abend Leute,
Vielleicht koennt Ihr mir weiterhelfen. Ich moechte mir von einer Newsgroup eine Binaire Datei downloaden und auf meiner HD speichern. Ich habe mir eine Globale Stringliste namens (sm) deklariert wo die Segments der Datei geadded werden.
Delphi-Quellcode:
Jetzt wollte Ich durch folgenden Code die Segments mit NNTP1.GetBody aufrufen und auf der HD speichern, ich weiss aber nicht genau ob Ich da richtig liege.
xSegments := xItem.NamedItem['segments'];
for j := 0 to xSegments.SubItemCount - 1 do begin sm.Add(xItem.NamedItem['segments'].SubItems[j].Text); end; Koennt Ihr mir vielleicht bitte helfen? Als Decoder habe ich mir den yDecoder von Sourceforge geholt, muss Ich spaeter aber noch irgendwo einbauen. Woll te erstmal die Datei so auf der HS speichern.
Delphi-Quellcode:
Schonmal Danke im voraus. var msgcount, i, J: integer; MyTestFile: string; begin msgcount:=idnntp1.MsgCount; Memo1.Lines.Add( 'msgcount = ' + inttostr(msgcount) ); IdMessage1.ClearBody; IdMessage1.MessageParts.Clear; IdMessage1.Clear; idmessage1.AttachmentTempDirectory := 'c:\temp\nzbtemp'; try showmessage(sm.Text); idNNTP1.GetBody(sm.Strings[0], idMessage1); <-------- 1st segment: erh5mn$rv1$4@upload.eweka.nl except end; Memo1.Lines.Add( 'encoding = ' + idmessage1.AttachmentEncoding ); Memo1.Lines.Add( 'type = ' + idmessage1.ContentType ); Memo1.Lines.Add( 'transfer encoding = ' + idmessage1.ContentTransferEncoding ); Memo1.Lines.Add( 'attachment count = ' + IntToStr(idmessage1.MessageParts.Count) ); // dump the header if idmessage1.Headers.Count > 0 then for i:=0 to idmessage1.Headers.Count-1 do Memo1.Lines.Add(idmessage1.Headers.Strings[i]); // loop for attachments for J := 0 to Pred( IdMessage1.MessageParts.Count ) do begin if ( IdMessage1.MessageParts.Items[ J ] is TIdAttachment) then begin Memo1.Lines.Add( '** ATTACHMENT # ' + IntToStr(J) ); Memo1.Lines.Add( 'filename = ' + TIdAttachment(IdMessage1.MessageParts.Items[ J ] ).Filename ); Memo1.Lines.Add( 'charset = ' + TIdAttachment(IdMessage1.MessageParts.Items[ J ] ).CharSet ); Memo1.Lines.Add( 'type name = ' + TIdAttachment(IdMessage1.MessageParts.Items[ J ] ).ContentTypeName ); Memo1.Lines.Add( 'descr = ' + TIdAttachment(IdMessage1.MessageParts.Items[ J ] ).ContentDescription ); Memo1.Lines.Add( 'content id = ' + TIdAttachment(IdMessage1.MessageParts.Items[ J ] ).ContentID ); Memo1.Lines.Add( 'id = ' + IntToStr(TIdAttachment(IdMessage1.MessageParts.Items[ J ] ).ID) ); Memo1.Lines.Add( 'index = ' + IntToStr(TIdAttachment(IdMessage1.MessageParts.Items[ J ] ).Index) ); MyTestFile := TIdAttachment(IdMessage1.MessageParts.Items[ J ] ).Filename; showmessage(MyTestFile); exit; <--------------------------- hier rausgehen vor Exception: could not save attachment. if fileexists(MyTestFile) then deletefile(MyTestFile); TIdAttachment(IdMessage1.MessageParts.Items[ J ] ).SaveToFile(MyTestFile) ; <---------------------------------------- hier wird gesaved. end; end; //end; // connected // disconnect try IdNNTP1.Disconnect; except end; Memo1.Lines.Add('end.'); end; Gruss Lucius. |
Re: Bitte Hilfe, Datei wird nicht gespeichert.
*push*
Ist wirklich wichtig. |
Re: Bitte Hilfe, Datei wird nicht gespeichert.
Hi!
Bitte nicht innerhalb von 24h Stunden pushen, vor allem nicht, wenn quasi nur die Nacht dazwischen liegt! Eine weitere Bitte hätte ich noch: Könntest du deinen Titel ändern, sodass das "Bitte Hilfe" wegkommt? Hilfe braucht hier schließlich (fast) jeder! ;) Ciao, Frederic |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:22 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