Und das eine "end;" kommt zu früh, die Datei soll ja nur gelesen werden, wenn es sie auch gibt.
Delphi-Quellcode:
procedure TForm1.meldung_einClick(Sender: TObject);
var z: integer; //Laufvariable
s: string;
datei: TextFile;
Position: integer; //Position, ab der die einzelnen Zeilen kopiert werden sollen
begin
Position := 5;
If OpenDialog1.Execute then
If not FileExists then
MessageDlg('Keine Datei Ausgewählt!', mtWarning, [mbOK], 0)
else
begin
AssignFile(datei, OpenDialog1.FileName);//Vorbereitung zur Auslesung
reset(datei);
z := 0;
txt_eingabe.clear;
repeat //benötigte Zeilen auslesen
inc(z);
readln(datei, s);
txt_eingabe.Lines.Add(Copy(s, Position));
until z = 40;
CloseFile(datei);
end; //erst hier ist der Block zu Ende
end;
Ein Ressourcenschutzblock (try-finally) wäre ggf. nicht schlecht, ich hab den aber auch mal weggelassen.