Entwickler-Ecke

Dateizugriff - Zugriff auf Leerzeile - Exception EAccessViolation


NewComer - Fr 24.01.03 10:17
Titel: Zugriff auf Leerzeile - Exception EAccessViolation
Habe gerade begonnen mich mit Delph zu beschäftigen und stehe vor einem Problem:

Folgender Code


Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
          system.Assign (text_datei,opendialog1.FileName);
          reset(text_datei);

          while not eof(text_datei) do
          begin
            readln(text_datei,text_zeilen);
            zeichen := text_zeilen[1];
            .........


Läuft in der letzten Zeile auf eine Exeception "Lesen von Adresse 00000000" sobald sich in der Datei eine Leerzeile befindet. Kann mir Jemand erklären wie es zu dem Fehler kommt und wie ich ihn beseitigen kann ???

Für die Hilfe vorab vielen Dank.

Moderiert von user profile iconKlabautermann: Code-Tags hinzugefügt.


Klabautermann - Fr 24.01.03 10:23

Hallo,

der Fehler wird in dieser Zeile auftreten:

Quelltext
1:
zeichen := text_zeilen[1];                    

Denn hier greifst du auf das erste Zeichen der Zeile zu, wenn diese aber leer ist, muss es einen Fehler geben.
Deshalb ist hier eine Prüfung auf diesen Sonderfall nötig:

Quelltext
1:
2:
IF (text_zeilen <> '') THEN
  zeichen := text_zeilen[1];


Gruß
Klabautermann


NewComer - Fr 24.01.03 10:28

Ich nehme an das bezeichnet man als typischen Anfängerfehler :oops:

Vielen Dank für Hilfe