AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi ÿþ* -> Textdatei wird nicht vollständig geladen!
Thema durchsuchen
Ansicht
Themen-Optionen

ÿþ* -> Textdatei wird nicht vollständig geladen!

Ein Thema von viperen · begonnen am 15. Okt 2006 · letzter Beitrag vom 15. Okt 2006
Antwort Antwort
Seite 1 von 2  1 2      
viperen

Registriert seit: 1. Nov 2005
49 Beiträge
 
#1

ÿþ* -> Textdatei wird nicht vollständig geladen!

  Alt 15. Okt 2006, 09:50
Hallo!

Ich versuche seit gestern abend ( ) 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!
  Mit Zitat antworten Zitat
Balu der Bär
(Gast)

n/a Beiträge
 
#2

Re: ÿþ* -> Textdatei wird nicht vollständig geladen!

  Alt 15. Okt 2006, 09:53
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).
  Mit Zitat antworten Zitat
Benutzerbild von DGL-luke
DGL-luke

Registriert seit: 1. Apr 2005
Ort: Bad Tölz
4.149 Beiträge
 
Delphi 2006 Professional
 
#3

Re: ÿþ* -> Textdatei wird nicht vollständig geladen!

  Alt 15. Okt 2006, 09:58
Das ist ganz eindeutig das Symptom, wenn man Unicode-Text in ein ANSI-Format lädst.

Du brauchst also Unicdoe-fähige Komponenten.
Lukas Erlacher
Suche Grafiktablett. Spenden/Gebrauchtangebote willkommen.
Gotteskrieger gesucht!
For it is the chief characteristic of the religion of science that it works. - Isaac Asimov, Foundation I, Buch 1
  Mit Zitat antworten Zitat
Benutzerbild von chaosben
chaosben

Registriert seit: 27. Apr 2005
Ort: Görlitz
1.358 Beiträge
 
Delphi XE2 Professional
 
#4

Re: ÿþ* -> Textdatei wird nicht vollständig geladen!

  Alt 15. Okt 2006, 09:59
Zitat von viperen:
PS: Datei hat *.txt Endung!
Das heißt nicht, das es auch ein Text-Datei ist. Das was du da schreibst, sieht mehr nach einer Datei aus, die Zeichen enthält, die man schlecht as Text darstellen kann. Wahrscheinlich ist in der Datei ein 0-Byte enthalten, was dazu führt, das deine Text-Komponente aufhört den Text darzustellen.

Öffne die Datei zu Spass doch mal mit einem Hexeditor. Wahrscheinlich wirst du dich wundern.
Benjamin Schwarze
If I have seen further it is by standing on the shoulders of Giants. (Isaac Newton)
  Mit Zitat antworten Zitat
viperen

Registriert seit: 1. Nov 2005
49 Beiträge
 
#5

Re: ÿþ* -> Textdatei wird nicht vollständig geladen!

  Alt 15. Okt 2006, 10:01
Also angefangen habe ich mit

Memo1.Lines.LoadFromFile('textdatei.txt'); dann kam

Stringlist.LoadFromFile('textdatei.txt'); anschließend

Delphi-Quellcode:
AssignFile(f,'textdatei.txt');
Reset(f);
repeat
  Readln(f,s);
  Memo1.Lines.Add(s)
until eof(f);
CloseFile(f);
und dann noch

Eine Stream erstellt mit der Textdatei.txt und dann

Memo1.Lines.LoadFromStream(Stream); soo..

Gedacht habe ich mir vielleicht die Datei Zeichenweise auszulesen aber ich weiß nicht wie ich das machen soll..


Zitat von chaosben:
Zitat von viperen:
PS: Datei hat *.txt Endung!
Das heißt nicht, das es auch ein Text-Datei ist. Das was du da schreibst, sieht mehr nach einer Datei aus, die Zeichen enthält, die man schlecht as Text darstellen kann. Wahrscheinlich ist in der Datei ein 0-Byte enthalten, was dazu führt, das deine Text-Komponente aufhört den Text darzustellen.

Öffne die Datei zu Spass doch mal mit einem Hexeditor. Wahrscheinlich wirst du dich wundern.
Ähmm.. es ist ein ganz normaler Text in der Datei...

Da ist am Anfang ein Datum, dann sind Dateinamen aufgelistet. Geöffnet habe ich Sie mit dem Windows Editor...

Zitat von DGL-luke:
Das ist ganz eindeutig das Symptom, wenn man Unicode-Text in ein ANSI-Format lädst.

Du brauchst also Unicdoe-fähige Komponenten.
Und wie mach ich das?? Oder wo finde ich eine?
  Mit Zitat antworten Zitat
Benutzerbild von DGL-luke
DGL-luke

Registriert seit: 1. Apr 2005
Ort: Bad Tölz
4.149 Beiträge
 
Delphi 2006 Professional
 
#6

Re: ÿþ* -> Textdatei wird nicht vollständig geladen!

  Alt 15. Okt 2006, 10:05
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 Hier im Forum suchenTNT-Controls. Ob die JVCL Unicode-fähig ist, weiß ich nicht.
Lukas Erlacher
Suche Grafiktablett. Spenden/Gebrauchtangebote willkommen.
Gotteskrieger gesucht!
For it is the chief characteristic of the religion of science that it works. - Isaac Asimov, Foundation I, Buch 1
  Mit Zitat antworten Zitat
viperen

Registriert seit: 1. Nov 2005
49 Beiträge
 
#7

Re: ÿþ* -> Textdatei wird nicht vollständig geladen!

  Alt 15. Okt 2006, 10:08
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?
  Mit Zitat antworten Zitat
Benutzerbild von DGL-luke
DGL-luke

Registriert seit: 1. Apr 2005
Ort: Bad Tölz
4.149 Beiträge
 
Delphi 2006 Professional
 
#8

Re: ÿþ* -> Textdatei wird nicht vollständig geladen!

  Alt 15. Okt 2006, 10:14
Zeichenweise?

Du kannst sie in einem Stream laden:

Delphi-Quellcode:
with TFileStream.Create('file.txt',fmOpenRead) do
while Position < Size do
  Read(c,sizeof(c));
Damit liest du jedes einzelne Zeichen der Datei file.txt nacheinander in die Char-Variable c ein.
Lukas Erlacher
Suche Grafiktablett. Spenden/Gebrauchtangebote willkommen.
Gotteskrieger gesucht!
For it is the chief characteristic of the religion of science that it works. - Isaac Asimov, Foundation I, Buch 1
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.755 Beiträge
 
Delphi 10.4 Sydney
 
#9

Re: ÿþ* -> Textdatei wird nicht vollständig geladen!

  Alt 15. Okt 2006, 10:20
Zitat von DGL-luke:
Zeichenweise?

Du kannst sie in einem Stream laden:

Delphi-Quellcode:
with TFileStream.Create('file.txt',fmOpenRead) do
while Position < Size do
  Read(c,sizeof(c));
Damit liest du jedes einzelne Zeichen der Datei file.txt nacheinander in die Char-Variable c ein.
Vielleicht vorher noch die Position auf 0 setzen.

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
r2c2

Registriert seit: 9. Mai 2005
Ort: Nordbaden
925 Beiträge
 
#10

Re: ÿþ* -> Textdatei wird nicht vollständig geladen!

  Alt 15. Okt 2006, 10:22
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
Kaum macht man's richtig, schon klappts!
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:42 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz