sooo...
also das hier ist erstmal die Prozedur die Ausgeführt wird:
Delphi-Quellcode:
procedure TForm1.Button4Click(Sender: TObject);
var l,i:integer;
var x,y,xe,xo,ye,yo,xn,yn: extended;
var xwerte:array[1..20] of integer;
var ywerte:array[1..20] of integer;
term: string;
begin
xe:=160;
xo:=150;
ye:=140;
yo:=150;
term:=edit1.text;
l:=length(term);
i:=1;
repeat
if term[i]='x' then begin
insert('*',term,i);
inc(i);
l:=length(term);
end;
inc(i);
until i=l+1;
l:=length(term);
memo1.text := 'x f(x)';
memo1.Font.Name := 'Courier New';
x := -5;
repeat
y := termToReal(term,x);
memo1.lines.Add(formatfloat(' 0.0 ;-0.0 ', x) + formatfloat('0.###',y));
xn:=x*(xe-xo)+xo;
xwerte[x+6]:=xn;
yn:=y*(ye-yo)+yo;
ywerte[x+6]:=FloattoInt(yn);
x := x + 1/2;
until x > 5; //Fehler: "until x = 5.5", da extended nicht exakt
end;
"termtoreal(term,x)" ist der angespochene Parser (
http://delphi.zsg-rottenburg.de/parser.html). Denn Parser habe ich von der angegeben Seite kopiert. Die Ergebnisse dieses Parser sind nun Extended und genau diese würde ich gern in Integer umwandeln, denn mit Extended werten kann ich leider keinen Graph zeichnen.
Wenn ich es ausführe sieht es dann so aus: s. Anhang.
Was kann ich jetzt machen, denn round ging auch irgendwie nicht. Oder muss ich bei round noch irgendwelche parameter angeben? Wie wird round angewendet?
MFG
checker