Delphi/Lazarus: MemoryStream in FileStream laden und speichern
Info von Delphianer | 29.07.2013 um 14:23
In diesem kleinen Beispiel möchte ich euch zeigen, wie ihr einen MemoryStream in einen FileStream laden und danach speichern könnt.
Der Code sowohl für Delphi als auch Lazarus sieht so aus:
var fs: TFileStream; begin // ms ist ein gegebener TMemoryStream fs := TFileStream.Create('C:\test.txt', fmCreate); try if ms.Size>0 then begin ms.Position:=0; fs.CopyFrom(ms, ms.Size); end; finally fs.free; end; end;
Im Beispiel ist "ms" unser MemoryStream, den wir speichern möchten. Mit fs.CopyFrom(ms, ms.Size) kopieren wir den MemoryStream in seiner vollen Länge in den FileStream "fs". Wichtig ist es hier, vorher sicherzustellen, dass die Position von "ms" auf 0 steht bzw wir diese Position auf 0 setzen. Ansonsten kann der Stream nicht von vorne gelesen werden.
Lazarus und Umlaute/Unicode Zeichen in Dateinamen
Wenn man das Beispiel mit Lazarus nutzt und im Dateinamen der Datei (hier "C:\test.txt") Umlaute oder andere Unicode-Zeichen erwartet, sollte man im Beispiel TFileStream einfach durch TFileStreamUTF8 an den beiden Stellen (Deklaration und Create) ersetzen. Sonst kann es hier zu einem Fehler kommen.
Über den Autor
Der Autor hat keine Kurzbeschreibung seines Profils angegeben.
Profil anzeigen
Ähnliche Themen
Lazarus: Datei als Byte-Array laden und Byte-Array als Datei speichern
Tutorial | 0 Kommentare
Delphi: Mehrzeilige Caption für TLabel (zur Laufzeit und Design Zeit)
Tutorial | 1 Kommentar
Bild vor dem Upload im Browser verkleinern
Tutorial | 5 Kommentare
Delphi/Lazarus: 3 Wege um eine Zahl auf X Nachkommastellen zu runden
Tutorial | 0 Kommentare
Delphi/Lazarus: Kommandozeilen Parameter Tutorial Teil 1: Senden
Tutorial | 0 Kommentare
Lazarus: Betriebssystem erkennen (Compiler Switch)
Tutorial | 3 Kommentare
Delphi: Globale Behandlung von Fehlermeldungen (Exceptions)
Tutorial | 0 Kommentare
Wichtiger Hinweis
Bitte beachten Sie: Die Beiträge auf askingbox.de sind Beiträge von Nutzern und sollen keine professionelle Beratung ersetzen. Sie werden nicht von Unabhängigen geprüft und spiegeln nicht zwingend die Meinung von askingbox.de wieder. Mehr erfahren.
Jetzt mitmachen
Stellen Sie Ihre eigene Frage oder schreiben Sie Ihren eigenen Artikel auf askingbox.de. So gehts.