Da wir nicht wirklich wissen, was du da vorhast...
Rücke erstmal deinen Quellcode richtig ein, nur so kannst du ihn richtig verstehen...
Delphi-Quellcode:
procedure TForm1.InDieMemoFelderSchreiben(var Textdatei,Textdatei2: String);
var
zv : integer;
zv2 :integer;
Pruefstring : String ;
begin
zv := 0;
zv2 := 0;
if FileExists(Textdatei) and FileExists(Textdatei2) then begin
Zwischenspeicher.LoadFromFile(Textdatei);
Zwischenspeicher2.LoadFromFile(Textdatei2);
end
Pruefstring := Zwischenspeicher[Zv];
If Pruefstring = 'Montag' Then begin
Label1.Caption := Zwischenspeicher[Zv];
inc(Zv) ;
end;
Pruefstring := Zwischenspeicher[Zv];
While not (PruefString = 'Dienstag') do begin
Memo1.Lines.Add(Zwischenspeicher[Zv]);
inc(Zv);
Pruefstring := Zwischenspeicher[Zv];
end;
If Pruefstring = 'Dienstag' Then begin
Label2.Caption := Zwischenspeicher[Zv];
inc(Zv) ;
Pruefstring := Zwischenspeicher[Zv];
end;
While not (PruefString = 'Mittwoch') do begin
Memo2.Lines.Add(Zwischenspeicher[Zv]);
inc(Zv);
Pruefstring := Zwischenspeicher[Zv];
If Pruefstring = 'Mittwoch' Then begin
Label3.Caption := Zwischenspeicher[Zv];
inc(Zv) ;
Pruefstring := Zwischenspeicher[Zv];
end;
While not (PruefString = 'Donnerstag') do begin
Memo3.Lines.Add(Zwischenspeicher[Zv]);
inc(Zv);
Pruefstring := Zwischenspeicher[Zv];
end;
If Pruefstring = 'Donnerstag' Then begin
Label4.Caption := Zwischenspeicher[Zv];
inc(Zv) ;
Pruefstring := Zwischenspeicher[Zv];
end;
While not (PruefString = 'Freitag') do begin
Memo4.Lines.Add(Zwischenspeicher[Zv]);
inc(Zv);
Pruefstring := Zwischenspeicher[Zv];
end;
If Pruefstring = 'Freitag' Then begin
Label5.Caption := Zwischenspeicher[Zv];
inc(Zv) ;
Pruefstring := Zwischenspeicher[Zv];
end;
While not (PruefString = 'Samstag') do begin
Memo5.Lines.Add(Zwischenspeicher[Zv]);
inc(Zv);
Pruefstring := Zwischenspeicher[Zv];
end;
If Pruefstring = 'Samstag' Then begin
Label6.Caption := Zwischenspeicher[Zv];
inc(Zv) ;
Pruefstring := Zwischenspeicher[Zv];
end;
While not (PruefString = 'Sonntag') do begin
Memo6.Lines.Add(Zwischenspeicher[Zv]);
inc(Zv);
Pruefstring := Zwischenspeicher[Zv];
end;
If Pruefstring = 'Sonntag' Then begin
Label7.Caption := Zwischenspeicher[Zv];
inc(Zv) ;
Pruefstring := Zwischenspeicher[Zv];
end;
While not (PruefString = 'Ende') do begin
Memo7.Lines.Add(Zwischenspeicher[Zv]);
inc(Zv);
Pruefstring := Zwischenspeicher[Zv];
If Pruefstring = 'Ende' Then begin
Label8.Caption := Zwischenspeicher2[Zv2];
inc(Zv2) ;
Pruefstring := Zwischenspeicher2[Zv2];
end;
While not (PruefString = 'Dienstag') do begin
Memo8.Lines.Add(Zwischenspeicher2[Zv2]);
inc(Zv2);
Pruefstring := Zwischenspeicher2[Zv2];
end;
end;
end;
end;
Das mit den Schleifen würde ich nochmal überdenken. Führe die Schleife solange durch, wie etwas nicht eintrifft, Nichts ist auch <> 'Dienstag' oder 'Ende'. Nirgends ist eine Prüfung vorhanden, die kontrolliert, ob man die Zeilenanzahl einer Stringliste überschritten hat, genau dann knallt es.