![]() |
[Problem] indy - filestream
howdy....
ich benutze :
Code:
nur funktioniert das nicht richtig... sobald das file erstellt ist, kann man manuell ( explorer) nicht darauf zugreifen, und es wird eine grösse von <1gb für zb. eine txt-file angezeitgt?
für den clienten...
var fs: TFileStream; dat:tstringlist; path:string; begin try dat:=TStringlist.create; dat.add(memo1.Text); dat.savetofile('c:\rc.txt'); idtcpclient1.writeln('file'); idtcpclient1.writeln(edit3.text); except panel1.Caption:='Übertragungsfehler !'; end; with IdTCPClient1 do begin fs := TFileStream.Create('c:\rc.txt', fmOpenRead or fmShareDenyWrite); //Datei in FileStream einlesen try try OpenWriteBuffer; WriteStream(fs, true, true, 0); CloseWriteBuffer; except CancelWriteBuffer; raise; end; finally fs.Free; end; end; -------------- für den server: var fs: TFileStream; SizeOfIncomingStream: integer; a,b,c:string; begin if a='file' then begin b:=athread.connection.readln; fs := TFileStream.Create(b, fmCreate or fmShareExclusive); with AThread.Connection do try SizeOfIncomingStream := ReadInteger; //Größe des Streams empfangen ReadStream(fs, SizeOfIncomingStream); //und übergeben finally fs.Free; end; end; kann mir jmd helfen das problem zu lösen??? |
Re: [Problem] indy - filestream
1. Benutz bitte ein vernünftige Formatierung für deinen Quelltext, damit man ihn besser lesen kann...
2. Du kannst gleich Memo1.Lines.SaveToFile machen 3. Wenn du nur Text aus einem Memo übertragen willst, dann benutz doch die Funktion SendStrings(Memo1.Lines) und ReadStrings (ab Indy Version 9) 4. Wie man korrekt Dateien überträgt, kannst du hier im Forum in verschiedenen Threads finden, such einfach mal danach |
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:16 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