Einzelnen Beitrag anzeigen

Delphi-Freund

Registriert seit: 13. Dez 2009
12 Beiträge
 
#11

Re: Wertetabellen und Funktionen

  Alt 9. Feb 2010, 20:49
Also die wertetabelle ist teil meines programmes... man kann eben anfangswert (aw) endwert (ew) und schrittweite (s) eingeben...
Delphi-Quellcode:
procedure TForm1.BitBtn1Click(Sender: TObject);
 var a,b,caw,ew,s,x,y:Real;
    n:Integer;
begin
   a:=StrToFloat(Edit1.Text);
   b:=StrToFloat(Edit2.Text);
   c:=StrToFloat(Edit3.Text);
   aw:=StrToFloat(Edit4.Text);
   ew:=StrToFloat(Edit5.Text);
   s:=StrToFloat(Edit6.Text);
   x:=aw;
   n:=0;
     while x<=ew do
      begin
        n:=n+1;
        y:=a*(sqr(x))+b*x+c;
        StringGrid1.cells[0,n]:=FloatToStrF(x,ffFixed,10,3);
        StringGrid1.cells[1,n]:=FloatToStrF(y,ffFixed,10,3);
        x:=x+s;
      end;
     StringGrid1.RowCount:=n+1;
end;
Und nun bin ich soweit, dass die Funktion "falsch herum" dargestellt wird... nun würde ich aber die Funktion gerne noch skarlieren sprich das man mit ner scrollbar die einheit des koordinatensystems bestimmen kann...
Delphi-Quellcode:
procedure TForm1.BitBtn6Click(Sender: TObject);
var a,b,c,aw,ew,s:Real;
begin
with form1.PaintBox1.Canvas do
  begin
    Brush.Color := clWhite;
    rectangle(-1,-1,form1.PaintBox1.Width+1, form1.PaintBox1.Height+1);
    Pen.Color := clBlack;
    TextOut(form1.PaintBox1.Width-8, form1.PaintBox1.Height Div 2+8, 'x');
    TextOut(form1.PaintBox1.Width DIV 2-8, 8, 'y');
    TextOut(form1.PaintBox1.Width-5, form1.PaintBox1.Height Div 2-7, '>');
    TextOut(form1.PaintBox1.Width DIV 2-3, 0, '^');
    MoveTo(0, form1.PaintBox1.Height div 2);
    LineTo(form1.PaintBox1.Width-1, form1.PaintBox1.Height div 2);
    MoveTo(form1.PaintBox1.Width div 2, 0);
    LineTo(form1.PaintBox1.Width div 2, form1.PaintBox1.Height-1);
  end;
  aw:=StrToFloat(Edit4.Text);
  ew:=StrToFloat(Edit5.Text);
  s:=StrToFloat(Edit6.Text);
  form1.PaintBox1.Canvas.MoveTo(trunc(aw)+form1.PaintBox1.Height div 2,trunc(a*sqr(aw)+b*aw+c)+form1.PaintBox1.Height div 2);
  repeat
    begin
      aw:=aw+s;
      form1.PaintBox1.Canvas.LineTo(trunc(aw)+form1.PaintBox1.Height div 2,trunc(a*sqr(aw)+b*aw+c)+form1.PaintBox1.Height div 2);
      end;
  until aw=ew;
end;
Wäre euch dankbar für hilfe

mfg Delphi-Freund

[edit=mkinzler]Code-Tags durch Delphi-Tags ersetzt; Was spricht den eigentlich gegen den richtigen Tag Mfg, mkinzler[/edit]
  Mit Zitat antworten Zitat