Text aus Datei einlesen

pascalplus

Mitglied
Hallo

Ich möchte mit Pascal einen Text aus einer Text-Datei einlesen lassen.

Normalerweise mache ich dies mit folgendem Code:
Code:
Assign (datei, pfad);
Reset (datei);
ReadLn (datei, text);
datei ist vom Typ "Text".
pfad und text vom Typ "String".

Nun habe ich das Problem, dass mein Text mehr als 255 Zeichen lang ist und sich alles auf einer Zeile befindet.
Wenn ich nun die Variable text auf den Typ "Text" umwandle, bekomme ich einen Fehler ausgeliefert.

Welchen Variablentyp soll ich also text zuweisen, dass es keinen Fehler produziert, aber trotzdem mehr als 255 Zeichen gelesen werden können?
 

vop

Erfahrenes Mitglied
Verwende als Variablentyp string.

Einfacher geht es aber vielleicht, wenn Du eine Memokomponente verwendest.
(das geht allerdings nur unter Delphi/Kylix/Lazarus)
Code:
Memo1.LoadFromfile(Dateiname);

anschließend kannst du auf den gesamten Text mit
Code:
Memo1.Text

und auf einzelne Zeilen (wenn nötig) mit
Code:
Memo1.Lines[i]
zugreifen

vop
 
Zuletzt bearbeitet:

pascalplus

Mitglied
Gibt es wirklich keine andere Möglichkeit?

Weil beim Variablentyp String kann man ja nur 255 Zeichen abspeichern, und der Text ist eben länger als 255 Zeichen.

Die Memokomponenten funktionieren auch nicht, da ich alles andere beretis mit FreePascal geschrieben habe.
 

vop

Erfahrenes Mitglied
Schildere doch bitte, was du weiter mit dem Text vorhast.
Übrigens, wenn Du Freepascal einsetzt, dann wäre evtl. Lazarus für dich eine Alternative.
Lazarus ist eine Delphi-Portierung, die auf FreePascal aufbaut.
Dort gibt es dann auch Memo-Komponenten.

Ist ein String wirklich auf 255 Zeichen beschränkt, bei FreePascal?

Alternativ könntest du natürlich ein Char-Array / Byte-Array verwenden
MeinText : array [0..64000] of char;

und dann mit Nullterminierenden Strings arbeiten (PChar).

Aber eigentlich dachte ich, dass Strings auch mehr als 255 Zeichen aufnehmen können sollten.

Gruß
vop