![]() |
ÿþ* -> Textdatei wird nicht vollständig geladen!
Hallo!
Ich versuche seit gestern abend ( :shock: ) eine Textdatei in ein Memofeld oder Stringlist zu laden... Leider ohne Erfolg! Es wird immer nur "ÿþ" und dann das erste Zeichen aus der Datei angezeigt. Könnt ihr mir bitte helfen?! Danke! PS: Datei hat *.txt Endung! |
Re: ÿþ* -> Textdatei wird nicht vollständig geladen!
Es wäre sinnvoll wenn du uns einfach mal deinen Code wie du es bereits probiert hast zeigst.
Ansonsten ginge das doch einfach per Memo.Lines.LoadFromFile(Datei). :gruebel: |
Re: ÿþ* -> Textdatei wird nicht vollständig geladen!
Das ist ganz eindeutig das Symptom, wenn man Unicode-Text in ein ANSI-Format lädst.
Du brauchst also Unicdoe-fähige Komponenten. |
Re: ÿþ* -> Textdatei wird nicht vollständig geladen!
Zitat:
Öffne die Datei zu Spass doch mal mit einem Hexeditor. Wahrscheinlich wirst du dich wundern. :) |
Re: ÿþ* -> Textdatei wird nicht vollständig geladen!
Also angefangen habe ich mit
Delphi-Quellcode:
dann kam
Memo1.Lines.LoadFromFile('textdatei.txt');
Delphi-Quellcode:
anschließend
Stringlist.LoadFromFile('textdatei.txt');
Delphi-Quellcode:
und dann noch
AssignFile(f,'textdatei.txt');
Reset(f); repeat Readln(f,s); Memo1.Lines.Add(s) until eof(f); CloseFile(f); Eine Stream erstellt mit der Textdatei.txt und dann
Delphi-Quellcode:
soo..
Memo1.Lines.LoadFromStream(Stream);
Gedacht habe ich mir vielleicht die Datei Zeichenweise auszulesen aber ich weiß nicht wie ich das machen soll.. :pale: Zitat:
Da ist am Anfang ein Datum, dann sind Dateinamen aufgelistet. Geöffnet habe ich Sie mit dem Windows Editor... Zitat:
|
Re: ÿþ* -> Textdatei wird nicht vollständig geladen!
Die Windows-API ist unicodefähig. Du müsstest dir also eine Textbox erstellen, in die kannst du dann unicode reinschreiben.
Ansonsten gibts noch die ![]() |
Re: ÿþ* -> Textdatei wird nicht vollständig geladen!
Tatsächlich.. es sind 0 Bytes dazwischen..
Was soll ich nun tun?! Ist das wegen dem Unicode? Rein aus Interesse: Wie kann ich denn überhaupt Dateien Zeichenweise auslesen? |
Re: ÿþ* -> Textdatei wird nicht vollständig geladen!
Zeichenweise?
Du kannst sie in einem Stream laden:
Delphi-Quellcode:
Damit liest du jedes einzelne Zeichen der Datei file.txt nacheinander in die Char-Variable c ein.
with TFileStream.Create('file.txt',fmOpenRead) do
while Position < Size do Read(c,sizeof(c)); |
Re: ÿþ* -> Textdatei wird nicht vollständig geladen!
Zitat:
Grüße Klaus |
Re: ÿþ* -> Textdatei wird nicht vollständig geladen!
Auf dem Weg wäre es auch möglich ohne TNT-Controls die Datei einzulesen. Einfach Byteweise vorgehen und #0, sowie die ersten 2 Bytes überlesen. Oder in n Widestring packen und den in ANSI-Konvertieren. Dabei gehen allerdings alle nicht-ANSI-Zeichen verloren. Besser also gleich Unicode-fähige Komponenten nehmen...
mfg Christian |
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:45 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