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