Entwickler-Ecke

Delphi Language (Object-Pascal) / CLX - Fehler: Versuch hinter der Datei zu lesen


Tigu - Mo 16.10.06 12:16
Titel: Fehler: Versuch hinter der Datei zu lesen
Hallo Leute!

Ich wollte eigentlich nur in mein Programm einbauen, dass nur die angegebenen Zeichen einer Datei geladen werden sollen, aber ich bekomme immer die Fehlermeldung EInOutError 'Versuch hinter der Datei zu lesen'. :gruebel:

Kann mir jemand sagen, wo mein Fehler im Quelltext ist. Währe super.


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
var b:integer;
    f: File of char;
    geschrieben:char;
begin
b:=SpinEdit1.Value;
if fileexists (edit3.Text) then
 begin
 Assignfile(f,edit3.Text);
 Reset(f);
 while b>0 do                        // mit not (eof(f)) do funktioniert alles    
  begin
  Read(f,geschrieben);               //hier taucht die Fehlermeldung auf
  Memo.lines.Add(geschrieben);
  end;
 closefile(f);
 dec(b);
end;
end;


Vielen Dnak für eure Hilfe
Tigu


jakobwenzel - Mo 16.10.06 12:41

wie wärs mit

Delphi-Quelltext
 
10:
{ ... }
while (b>0and not eof(f) do


Damit wird ein zu großer wert in B abgefangen.


Delete - Mo 16.10.06 18:47

[quote="user profile iconTigu"]Hallo Leute!

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
var b:integer;
    f: File of char;
    geschrieben:char;
begin
b:=SpinEdit1.Value;
if fileexists (edit3.Text) then
 begin
 Assignfile(f,edit3.Text);
 Reset(f);
 while b>0 do                        // mit not (eof(f)) do funktioniert alles    
  begin
   Read(f,geschrieben);               //hier taucht die Fehlermeldung auf
   Memo.lines.Add(geschrieben);
  end//GG: wo wird hier der wert von B vermindert???
 closefile(f);
 dec(b);
end;
end;


Mal ordentlich einrücken und alles klärt sich auf... :twisted:


Sinspin - Mo 16.10.06 19:13

warum um alles in der welt muss denn dauernd wer sofort das forum mit sachen quälen die jedem mal passieren können und die auch jeder selber lößen kann wenn er ein bisschen seinen quelltext anschaut.
Ansonsten:
ich schließ mich mal dem Grenzgaenger an.
und wenn du das erledigt hast beobachtest du einfach einmal deine variablen beim einzelschrittdurchlauf.