Analogové hodiny - delphi
Níže je uveden pouze náhled materiálu. Kliknutím na tlačítko 'Stáhnout soubor' stáhnete kompletní formátovaný materiál ve formátu DOC.
Analogové hodiny=delphi
unit Unit1;
procedure TForm1.forma(Sender: TObject);
begin
Label1.Caption:=DateToStr(now);
Label2.Caption:=TimeToStr(now);
end;
procedure TForm1.Timer1Timer(Sender: TObject);
var h,m,s,ms: word;
uhel:real;
x,y:real;
begin
repaint();
Label2.Caption:=TimeToStr(now);
DecodeTime(now,h,m,s,ms);
//sekundy
Canvas.MoveTo(width div 2, height div 2);
Canvas.Pen.Color:=clGreen;
Canvas.Pen.Width:=1;
uhel := ((2*pi)/60)*s-pi/2;
x:=cos(uhel);
y:=sin(uhel); //spočtení souřednic
x:=x*(width div 3);
y:=y*(height div 3); //úpava poloměru
x:=x+(width div 2);
y:=y+(height div 2); //posun do středu formuláře
Canvas.LineTo(trunc(x),trunc(y));
//minuty
Canvas.Pen.Width:=2;
Canvas.Pen.Color:=clBlack;
Canvas.MoveTo(width div 2, height div 2);
uhel := ((2*pi)/60)*m-pi/2;
x:=cos(uhel);
y:=sin(uhel); //spočtení souřednic
x:=x*(width div 3);
y:=y*(height div 3); //úpava poloměru
x:=x+(width div 2);
y:=y+(height div 2); //posun do středu formuláře
Canvas.LineTo(trunc(x),trunc(y));
//hodiny
If h>12 then h:=h - 12;
Canvas.Pen.Width:=4;
Canvas.Pen.Color:=clBlack;
Canvas.MoveTo(width div 2, height div 2);
uhel := ((2*pi)/12)*h-pi/2;
x:=cos(uhel);
y:=sin(uhel); //spočtení souřednic
x:=x*(width div 4);
y:=y*(height div 4); //úpava poloměru
x:=x+(width div 2);
y:=y+(height div 2); //posun do středu formuláře
Canvas.LineTo(trunc(x),trunc(y));
end;
end.