Ich würde erstmal dafür sorgen, dass alles nur z.B. 200mal durchlaufen wird, damit du überhaupt sehen kannst, was passiert:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
VAR
KF, KV, P, K, E, G: real;
St,i: integer;
begin
i:=0;
KF:=strtofloat(form1.edit1.text);
KV:=strtofloat(form1.edit2.text);
P:=strtofloat(form1.edit3.text);
St:=0;
repeat
K:=KF+St*KV; //Kosten=Festkosten+Sück*variable Kosten
E:=St*P; // Erlös=Stück*Preis
G:=E-K; // Gewinn=Erlös-Kosten
with form1.stringgrid1 Do
begin
cells[0,St+1]:= inttostr(St);
cells[1,St+1]:= floattostr(K);
cells[2,St+1]:= floattostr(E);
cells[3,St+1]:= floattostr(G);
St:=st+1;
rowcount:=rowcount+1;
end;
inc(i)
until (E>K) or (i>=200);
end;