Als Hausaufgabe sollen wir ein Programm schreiben bei dem man die Parameter für eine quadratische Funktion eingibt und dann eine Wertetabelle erstellt wird. Die Eingabe und Berechnung der Y-Werte funktioniert, allerdings hapert es an der Ausgabe mit dieser Fehlermeldung: Index Out of range Cell[Col=1 Row=2} / In Datei 'grids.pas' in Zeile 8675.
Ich vermute das es daran liegt, das man keine Variablen benutzen darf um eine Zelle anzusprechen (In meinem Code also 's').
Nun meine Frage: gibt es eine andere Möglichkeit mit einer Schleife Werte in die Tabelle zu schreiben?
Hier mein Code:
Code: Alles auswählen
procedure TForm1.Button1Click(Sender: TObject);
var
a, b, c, x, y : real;
x_start, x_sw: real; {x_sw = Schrittweite}
x_anzahl, i, s : integer;
begin
a := StrToFloat(Edit1.text);
b := StrToFloat(Edit2.text);
c := StrToFloat(Edit3.text);
x_start := StrToFloat(Edit4.text);
x_anzahl := StrToInt(Edit5.text) + 1;
x_sw:= StrToFloat(Edit6.text);
Stringgrid1.Cells[0,0] := 'x';
Stringgrid1.Cells[1,0] := 'y';
Stringgrid1.RowCount := x_anzahl;
x := x_start;
s := 1;
For i := 1 to x_anzahl do
begin
y := a*x*x + b*x + c;
x := x + x_sw;
Stringgrid1.Cells[1,s] := FloatToStr(y);
s := s + 1;
end;
end;
