Delphi-Quellcode:
procedure TMainForm.graph_buttonClick(Sender: TObject);
var
i:integer;
begin
//Deklarieren von Variablen
a:=strtofloat(a_edit.text);
b:=strtofloat(b_edit.text);
c:=strtofloat(c_edit.text);
//In Wertetabelle einfügen
//Für späteren Gebrauch
for i:=0 to 10 do
begin
x:=strtofloat(stringgrid1.cells[0,i]);
y:=a*sqr(x)+b*x+c;
stringgrid1.cells[1,i]:=floattostr(y);
end;
//KoordinatenSys Umdrehen
SetMapMode(paintbox1.Canvas.Handle, MM_LOENGLISH);
{ | +y
|
-x --------> +x
|
| -y
}
//In die Mitte setzen
SetViewPortOrgEx(Paintbox1.Canvas.Handle, (Paintbox1.Width div 2) + Paintbox1.Left, (Paintbox1.Height div 2) + Paintbox1.Top, nil);
//KoSys begrenzen
point.x:=0;
point.y:=200;
Paintbox1.Canvas.PenPos:=Point;
Paintbox1.Canvas.Rectangle(-200,200,200,-200);
//waagerechter Strich
point.x:=-200;
point.y:=0;
Paintbox1.Canvas.PenPos:=Point;
Paintbox1.Canvas.Lineto(200,0);
//senkrechter Strich
point.x:=0;
point.y:=200;
Paintbox1.Canvas.PenPos:=Point;
Paintbox1.Canvas.Lineto(0,-200);
for i:=0 to 10 do
begin
point.x:=strtoint(stringgrid1.Cells[0,i]);
point.y:=strtoint(stringgrid1.Cells[1,i]);
point2.x:=strtoint(stringgrid1.Cells[0,i+1]);
point2.y:=strtoint(stringgrid1.cells[1,i+1]);
//Vergrösserung des Massstabes
point.x:=point.x+5;
point.Y:=point.y+5;
point2.x:=point2.x+5;
point2.Y:=point2.y+5;
paintbox1.Canvas.PenPos:=Point;
paintbox1.Canvas.LineTo(Point2.x,Point2.y);
end;
end;
//Benennen
procedure TMainForm.FormCreate(Sender: TObject);
var
i:integer;
begin
for i:=0 to 10 do
begin
stringgrid1.cells[0,i]:=inttostr(i);
end;
end;
end.
Fehlermeldung:
Zitat:
''' kein gültiger Integerwert.
Ich hab keine Ahnung woran das liegen könnte.
Erreichen will, ich dass der mir anhand von Daten aus einer Stringgrid einen Graphen zu einer quadratischen Funktion gibt.
Der Fehler kommt auf dem graph_button.
Das ist natürlich nicht das ganze Programm.
Hoffe ihr könnt mir n Tip geben, wo der Fehler liegt.
mfg
Rene