tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
3
ZUGRIFFE
8841
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    pascalplus pascalplus ist offline Mitglied Bronze
    Registriert seit
    Dec 2004
    Ort
    Bettlach (SO/CH)
    Beiträge
    41
    Hallo

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

    Normalerweise mache ich dies mit folgendem Code:
    Code :
    1
    2
    3
    
    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?
     

  2. #2
    vop vop ist offline Mitglied Platin
    Registriert seit
    Mar 2004
    Beiträge
    676
    Verwende als Variablentyp string.

    Einfacher geht es aber vielleicht, wenn Du eine Memokomponente verwendest.
    (das geht allerdings nur unter Delphi/Kylix/Lazarus)

    Memo1.LoadFromfile(Dateiname);

    anschließend kannst du auf den gesamten Text mit
    Memo1.Text
    und auf einzelne Zeilen (wenn nötig) mit
    Memo1.Lines[i] zugreifen

    vop
    Geändert von vop (05.10.06 um 16:36 Uhr) Grund: war mal wieder zu schnell beim Lesen
     

  3. #3
    pascalplus pascalplus ist offline Mitglied Bronze
    Registriert seit
    Dec 2004
    Ort
    Bettlach (SO/CH)
    Beiträge
    41
    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.
     

  4. #4
    vop vop ist offline Mitglied Platin
    Registriert seit
    Mar 2004
    Beiträge
    676
    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
     

Ähnliche Themen

  1. Text aus datei einlesen und in string umwandeln
    Von drachentor1 im Forum Java
    Antworten: 2
    Letzter Beitrag: 26.09.10, 14:51
  2. Text Datei einlesen und ausgeben
    Von sakizzo im Forum Java
    Antworten: 7
    Letzter Beitrag: 10.03.10, 20:19
  3. Text aus Datei in eine JTextArea einlesen?
    Von flashray im Forum Java
    Antworten: 7
    Letzter Beitrag: 14.03.06, 15:29
  4. Text aus Datei einlesen
    Von lukasulrich im Forum .NET Archiv
    Antworten: 2
    Letzter Beitrag: 13.05.05, 22:33
  5. Text Datei einlesen? (C#)
    Von lukasulrich im Forum C/C++
    Antworten: 3
    Letzter Beitrag: 13.05.05, 07:38