Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Dateien mittels Stream versenden (Internet) (https://www.delphipraxis.net/8667-dateien-mittels-stream-versenden-internet.html)

mandumoal 9. Sep 2003 20:34


Dateien mittels Stream versenden (Internet)
 
Hi !
Ich will über meinen Chat (idTCPServer un Client) Dateien versenden können. Dazu hab ich bis jetzt nur die Möglichkeit
WriteStream-ReadStream gefunden. Da ich noch nie mit Streams gearbeitet habe weiss ich nicht wie ich das jetzt anstellen soll!
Wenn jemand ein Tutorial zum Thema 'Stream' Anzubieten hat dann nur her damit :D !
Falls man es auch ohne große Probleme hier erklären kann wäre mir damit auch sehr geholfen.

mfg mandumoal

Ultimator 30. Apr 2004 22:15

Re: Dateien mittels Stream versenden (Internet)
 
Such mal im Forum nach "Dateien AND indy". Da müsstest du eigentlich fündig werden.

Mein 100. Post *freu* :party:

kiar 30. Apr 2004 22:20

Re: Dateien mittels Stream versenden (Internet)
 
Zitat:

Mein 100. Post *freu*
und was für einer !!!!!!!!!!!!!! :shock:

Dani 1. Mai 2004 00:24

Re: Dateien mittels Stream versenden (Internet)
 
Hi mandumoal,

Zitat:

Aus der Online-Hilfe:
Streams sind einfach nur eine Möglichkeit, Daten zu lesen und zu schreiben. Streams stellen eine gemeinsame Schnittstelle für das Lesen und Schreiben von bzw.auf unterschiedliche Medien bereit, wie beispielsweise [Festplatten- und RAM-]Speicher, Strings, Sockets oder Blob-Streams.
Da du Dateien von der Festplatte versenden willst, brauchst du einen TFileStream.
Das könnte dann etwa so aussehen:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var FS: TFileStream;
begin
 try
  FS := TFileStream.Create('C:\Existierende Datei.dat', fmOpenRead + fmShareDenyWrite);
  TCP1.WriteStream(FS, true, true);
 finally
  If FS<>nil then FS.Free;
 end;
end;
Mit TFileStream.Create weist du FS eine Datei zu. Da wir die Datei nur lesen möchten, öffnen wir sie im Modus fmOpenRead. Und weil wir nicht wollen, dass irgendein Programm in die Datei schreibt, während wir sie auslesen, verbieten wir mit fmShareDenyWrite allen anderen Programmen, die Datei mit Schreibzugriff zu öffnen.
Ist die Datei nicht vorhanden, löst Create eine Exception aus, also solltest du evtl. vorher mit FileExists(..) prüfen, ob die Datei existiert.

Ich hoffe das war irgendwie hilfreich :wink:

Gruß,
Dani


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:00 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz