![]() |
Datei Byteweise einlesen und in String speichern
Erst einmal ein nettes Hallo meinerseits, bin neu hier.
:duck: Bevor jetzt jemand kommt, das Thema hatten wir schon X-Mal, nein, ich habe gesucht und keine direkte Antwort auf meine Fragen gefunden. Problem: Ich möchte eine x beliebige Datei nehmen, und die einzelnen Bytes alle einzeln einlesen, dass sie in einem String temporär zwischengespeichert werden. Umgekehrt soll es auch möglich sein, das String wieder als Datei abzuspeichern. Es ist möglich, den Inhalt einer Datei in ein Memofeld zu laden, alles kein Problem. Aber ich möchte die einzelnen Bytes als Ascii Zeichen direkt in einem String haben, z.B. von einer Exe Datei. Inkl. den Steuerzeichen, also die nicht Buchstaben. Zum einen könnte man das über TFileStream lösen, aber hier die Zeichen in String umzuwandeln dauert sehr lange, kann auch sein dass meine Prozedur einfach nur uneffektiv ist, da ich auf jedes Zeichen einzeln zugreife. Kann man gleich alles mit einmal in ein String packen? Also ich suche eine schnelle Prozedur, wie ich eine x-Beliebige Datei in ein String packen kann, und den Text dann wieder als Datei abspeichern kann. Für eure Hilfe wäre ich sehr dankbar^^ |
Re: Datei Byteweise einlesen und in String speichern
textfile könnte dir helfen...
![]() EDIT: Übrigens: Willkommen in der DP :dp: , und das ist wohl oder übel das falsche Forum für die Frage ^^. |
Re: Datei Byteweise einlesen und in String speichern
|
Re: Datei Byteweise einlesen und in String speichern
du mußt einfach nur unktionen verwenden, welche keiner Stringbehandlung unterliegen.
z.B.:
Delphi-Quellcode:
alternativ geht alles was wie [oh]{TStream.}ReadBuffer[/oh] oder
FS: TFileStream;
S: String; FS := TFileStream.Create('Da.tei', fmOpenRead); SetLength(S, FS.Size); FS.ReadBuffer(S[1], FS.Size); FS.Destroy; ![]() also nicht so wie Read und ReadLn. [edit] mit Fehlerprüfung ala FileToString und StringToFile kommt's natürlich noch besser :stupid: |
Re: Datei Byteweise einlesen und in String speichern
Danke für die Antwort. Werde mir das morgen mal in Ruhe durcharbeiten, wenn ich Zeit habe, und dann schreiben, ob ich mein Problem damit lösen konnte.
Ich hab auch noch nen paar andere Probleme, aber eins nach dem anderen :thumb: Warum bin ich nicht schon früher auf die Idee gekommen hier Hilfe zu suchen, ich hoffe ich kann auch mal helfen. |
Re: Datei Byteweise einlesen und in String speichern
Ich habe mal meine byteweise Suche in großen Dateien geändert von
read(f,c) in oben genanntes. Ein Super Geschwindigkeitsvorteil. Mit alter Funktion mindestens 20 sek. mit neuer Funktion ca. 1-2 sek. Super!!!!!!! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:38 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