Entwickler-Ecke

Dateizugriff - TFileStream laden und speichern


F.Art - So 19.03.06 13:02
Titel: TFileStream laden und speichern

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
procedure TForm1.Button1Click(Sender: TObject);
var
   FileStream:TFileStream;
begin
FileStream := TFileStream.Create('D:\test.exe', fmOpenRead or fmShareExclusive);
FileStream := TFileStream.Create('D:\test2.exe', fmCreate or fmShareDenyWrite);
FileStream.Free;
showmessage('fertig');
end;


Ich möchte eine Datei in ein Stream einladen und danach wieder in eine neue abspeichern.
Mit dem obrigen Code wird die neue Datei immer nur 0kb groß. Was mache ich falsch?

Moderiert von user profile iconChristian S.: Code- durch Delphi-Tags ersetzt
Moderiert von user profile iconGausi: Topic aus Delphi Language (Object-Pascal) / CLX verschoben am So 19.03.2006 um 12:10


Gausi - So 19.03.06 13:10

so ganz grob ausm Kopf:


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
procedure TForm1.Button1Click(Sender: TObject);
var
   FileStream: TMemoryStream;
begin
  FileStream := TMemoryStream.Create;
  FileStream.LoadFromFile(alteDatei);
  FileStream.SaveToFile(neueDatei);
  FileStream.Free;
  showmessage('fertig');
end;

Zum Kopieren von Dateien gibts aber besser Methoden. Einfach mal danach suchen ;-)


F.Art - So 19.03.06 15:00

thx funkt so.
ich will nicht einfach eine datei kopieren.
ich musste die datei als stream haben damit ich ihn verschlüsseln kann und dann wieder verschlüsselt ab zu speichern.


F.Art - So 19.03.06 20:58

Eine kleinigkeit fehlt mir noch.
Wie kann ich die grösse der Datei in Bites auslesen lassen und in einen String abgeben?


NetZwerg - Mi 05.04.06 13:20

Größe ist in Stream.Size abgespeichert.