Ich weis, die Arrays sind ziemlich groß, aber bis jetzt habe ich nur die Werte 2, 3 und 4 für a ausprobiert. Der Fehler tritt immer auf.
Aufgerufen wird die "eingabe" nur in der Prozedur Edit1KeyDown:
Delphi-Quellcode:
Me = Record
zeit: Integer;
doppelt: boolean;
end;
Ar = Record
zeit, t: Integer;
end;
var
Form2: TForm2;
El: Array of Ar;
Mo: Array of Me;
Re: Array of Array of Integer;
Vo: Array of boolean;
a,n,zahler1: Integer;
procedure eingabe;
begin
{...}
end;
procedure berechne;
begin
{...}
end;
procedure TForm2.Edit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
If Key =13
Then
begin
eingabe;
If (zahler1 = a+2)
Then berechne;
zahler1:= zahler1+1;
end;
end;
procedure TForm2.Button2Click(Sender: TObject);
begin
zahler1:=0;
end;
procedure TForm2.Form2Show(Sender: TObject);
begin
zahler1:= 0;
end;
end.
Ein richtiges Programmende habe ich nicht programiert. Ich benutze einfach das Kreuz oben rechts um das Programm zu schliesen.