![]() |
ListBox.Items.LoadFromFile geht nur bis NULL Zeichen
Hallo,
ich möchte eine Text Datei komplett einlesen und in einer ListBox anzeigen. Die Textdatei kann allerdings alle möglichen Zeichen ethalten. Ab dem ersten NULL Zeichen wird nichts mehr in die Listbox geschrieben. Gibt es da eine Möglichkeit ohne, daß ich das Textfile ändere. Greetz Alex |
Re: ListBox.Items.LoadFromFile geht nur bis NULL Zeichen
Na klar gibt es da Möglichkeiten, aber das Einlesen bis zum ersten 0x00 ist eigentlich ungewöhnlich. Das wäre Stringende und nicht Dateiende.
Könnte es sein, daß die Größe der Datei nicht stimmt? Gruß K-H |
Re: ListBox.Items.LoadFromFile geht nur bis NULL Zeichen
Dateigröße sollte in Ordung sein.
Die Datei wurde vorher vom Programm mit AssignFile und Writeln erstellt. Die Zeichenkette, die das Laden abbricht ist in Notepad++ "NUL NUL BS BS CAN BEL" Die Zeichen werden im Windows Editor nicht angezeigt. |
Re: ListBox.Items.LoadFromFile geht nur bis NULL Zeichen
Zitat:
Eine Lösung wäre die Datei zeilenweise einzulesen und jede Zeile einzel in die Listbox einzufügen. Oder man speichert es gleich so ab, dass eben keine 0x00 Zeichen innerhalb der Zeichenkette vorkommen. |
Re: ListBox.Items.LoadFromFile geht nur bis NULL Zeichen
Zitat:
Wenn Du
Code:
mit writeln schreibst, dann steht
'Das ist text'
Code:
in der Datei. Seit seligen Dos-Zeiten sind Zeichen wie BEL oder BS eigentlich überflüssig (in Text-Dateien).
Das ist text0x0D0x0A
Gruß K-H [edit]Die Datei würde mich mal interessieren[/edit] [edit1] Ich hab nicht mehr an die Feinheiten bei Tstrings und string gedacht![/edit1] |
Re: ListBox.Items.LoadFromFile geht nur bis NULL Zeichen
@p80286 Du hast es erraten was ich hier mache.
Ich hab jetzt an der Datenspeicherung angesetzt. for i := 0 to Length(LogString) do if LogString[i] = NULL then LogString[i] := ' '; entfernt fast alle NUL Zeichen, komischerweise nicht alle. :gruebel: Ich hätt die LogFiles eigendlich gern zu 100% wie die Daten aus der Leitung kommen. |
Re: ListBox.Items.LoadFromFile geht nur bis NULL Zeichen
Kann es sein das du eine Unicode-Textdatei hast? Öffne Sie mal im Notepad und gehe dann auf speichern unter. WElche Codierung wird im "Speichern unter" Dialog angeboten?
|
Re: ListBox.Items.LoadFromFile geht nur bis NULL Zeichen
Zitat:
Da bietet sich doch eher so etwas wie ein Hexeditor an. Den gibt es zwar nicht als Standardkomponente aber er ist doch relativ schnell geschrieben. Gruß K-H |
Re: ListBox.Items.LoadFromFile geht nur bis NULL Zeichen
Notepad++ sagt es ist ANSI
|
Re: ListBox.Items.LoadFromFile geht nur bis NULL Zeichen
Die gekapselten Windows-Komponenten sind in C geschrieben, also ist die #0 das Ende.
Delphi hört deßhalb, aus Kompatiblitätsgründen, auch bei einer #0 auf mit Einlesen (für TStringList und Co.). |
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:26 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