Thema: Delphi Paintbox1.Canvas.TextOut

Einzelnen Beitrag anzeigen

KOTRET

Registriert seit: 25. Mai 2005
5 Beiträge
 
#1

Paintbox1.Canvas.TextOut

  Alt 30. Mai 2005, 23:31
Hi Leute!

Folgendes Problem: Auf Knopfdruck soll eine Paintbox (bereits mit einer Skala und Hilfslinien versehen) mit passenden Werten an den Achsen beschriftet werden. Das dumme ist, dass dies erst passiert (zumindest optisch), wenn man den Button 2 mal drückt, beim ersten Mal tut sich einfach nix...

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);

const g=9.81;
var hoehe,xt,t,v:Real;
 n:Integer;
 sknum:string;

begin
 hoehe:=StrToFloat(Edit1.text);
 v:=StrToFloat(Edit2.text);

 t:=sqrt(2*hoehe/g); // Flugzeit
 xt:=v*t; // Flugweite

// yt:=(-g/2)*sqr(t))+hoehe;

for n:=1 to 11 do
begin
 if xt<11 then sknum:=FloatToStrF(((xt/510)*(n*45)),ffFixed,1,1);
 if xt<1 then sknum:=FloatToStrF(((xt/510)*(n*45)),ffFixed,1,2)
 else sknum:=FloatToStr(round((xt/510)*(n*45)));
Form1.Paintbox1.Canvas.TextOut((n*45+30)-8,332,sknum);
end;

Label5.caption:='Flugweite: '+FloatToStr(xt)+' m';
Label8.Caption:='Flugzeit: '+FloatToStr(t)+' s';

end;
Findet hier irgendjemand nen Grund warum das so ist?

Die Paintbox wird gleich beim Start des Programms gezeichnet, die Werte aber erst auf Knopfdruck ausgegeben (solln sich nach den eingetippten Werten (hoehe und v) richten

Gruß, KOTRET
  Mit Zitat antworten Zitat