![]() |
Datei mit Steuerzeichen in StringList laden?
Ist es möglich mit einer normalen StringList (oder etwas anderem was bei Delphi dabei ist) eine Datei die die, die man in folgendem Verzeichnis findet in einen String zu laden?
Ziel ist es: ich möchte einen SubString in der Datei finden und dafür keine extra 3rd Party Unit verwenden. => C:\Users\<name>\AppData\Roaming\Microsoft\Windows\ Recent\CustomDestinations |
AW: Datei mit Steuerzeichen in StringList laden?
Es ist alles möglich.
Delphi-Quellcode:
program Project1;
{$APPTYPE CONSOLE} {$R *.res} uses System.SysUtils, System.Classes; var Stream: TStringStream; filename: string; begin try filename := 'C:\Users\Horst\AppData\Roaming\Microsoft\Windows\Recent\CustomDestinations\e0e944739d076ab.customDestinations-ms'; Stream := TStringStream.Create; Stream.LoadFromFile(filename); Writeln(Stream.DataString); Stream.Free; Readln; except on E: Exception do Writeln(E.ClassName, ': ', E.Message); end; end. |
AW: Datei mit Steuerzeichen in StringList laden?
An Streams habe ich noch nicht gedacht.
Leider ist bei mir DataString immer leer. Selbst wenn die Datei offensichtlich eine Größe > 0Byte hat. |
AW: Datei mit Steuerzeichen in StringList laden?
Zitat:
![]() |
AW: Datei mit Steuerzeichen in StringList laden?
Zitat:
|
AW: Datei mit Steuerzeichen in StringList laden?
Zitat:
Zitat:
Zum Vergleich: diese Unit schafft es die Dateien zu lesen ![]() |
AW: Datei mit Steuerzeichen in StringList laden?
Zitat:
So debugge er es hin! |
AW: Datei mit Steuerzeichen in StringList laden?
Size ist nicht 0.
Size entspricht der Dateigröße in Bytes. |
AW: Datei mit Steuerzeichen in StringList laden?
Zitat:
|
AW: Datei mit Steuerzeichen in StringList laden?
Haben wir denn eine konkrete Beispiel-Datei? Wenn ich mitten in eine "Text"-Datei ein Nullbyte reinpacke hat ReadAllText damit kein Problem:
Delphi-Quellcode:
uses
System.SysUtils, System.Classes, System.IoUtils; const filePath = 'x:\someFile.dat'; DLE = 16; NULL = 0; var bytes: TBytes; stream: TStream; fileContent: String; begin // 1) Datei schreiben TFile.WriteAllText(filePath, 'Vor Steuerzeichen'); bytes := [DLE, NULL]; stream := TFile.OpenWrite(filePath); try stream.Seek(0, TSeekOrigin.soEnd); stream.Write(bytes, 2); finally stream.Destroy(); end; TFile.AppendAllText(filePath, 'Nach Steuerzeichen'); // 2) Datei lesen (einfach) fileContent := TFile.ReadAllText(filePath); WriteLn( fileContent.QuotedString()); ReadLn; end. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:27 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