Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Datei von der Festplatte in einen FileStream schreiben (https://www.delphipraxis.net/29305-datei-von-der-festplatte-einen-filestream-schreiben.html)

Zacherl 7. Sep 2004 13:07


Datei von der Festplatte in einen FileStream schreiben
 
Hi,

wie kann ich eine Datei von der Festplatte in einen FileStream schreiben?

scp 7. Sep 2004 13:56

Re: Datei von der Festplatte in einen FileStream schreiben
 
Das ist ja der Vorteil: Du brauchst die Datei nicht in den Filestream schreiben, sondern du musst sie nur "verknüpfen":

Delphi-Quellcode:
var
  fs : TFileStream;
begin
  fs := TFileStream.Create('C:\eine.datei', fmOpenReadWrite);
  try
    // Machwashier
  finally
    fs.Free;
  end;
end;
Du hast direkten Zugriff auf die Daten der Datei und kannst sie dementsprechend direkt auslesen oder verändern.

Dax 7. Sep 2004 13:58

Re: Datei von der Festplatte in einen FileStream schreiben
 
Kommt drauf an, wie du das meinst.

Wenn du einfach eine Datei kopieren willst, dann geht das so:
Delphi-Quellcode:
var InFile, OutFile: TFIleStream;
begin
  InFile := TFileStream.Create(DateiName, fmOpenRead);
  OutFile := TFileStream.Create(ZielName, fmCreate);
  OutFile.CopyFrom(InFile, 0);
end;
Das kopiert den kompletten Inhalt der Datei DateiName in die Datei ZielName.

Wenn das nicht das ist, was du meinst, dann weiss ich es auch nicht.

Manzoni 7. Sep 2004 14:04

Re: Datei von der Festplatte in einen FileStream schreiben
 
Delphi-Quellcode:
var myfile : TFileStream;
begin
  myfile:=TFileStream.Create('C:\meineDatei.dat',fmOpenRead);
  ...
  FreeAndNil(myfile);
end;
Guck mal in der OH nach TFilestream.

Christian Seehase 7. Sep 2004 15:42

Re: Datei von der Festplatte in einen FileStream schreiben
 
Moin Dax,

Du hast den Resourcenschutzblock und die Freigabe der Objekte vergessen ;-)

Zacherl 7. Sep 2004 16:35

Re: Datei von der Festplatte in einen FileStream schreiben
 
Danke


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:01 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