Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 08.12.2009, 21:19
Delphi-nopro Delphi-nopro вне форума
Прохожий
 
Регистрация: 08.12.2009
Сообщения: 1
Репутация: 10
По умолчанию Помошь с часами

Код:
unit Unit2;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ComCtrls, ExtCtrls, StdCtrls;

type
  TForm2 = class(TForm)
    Image1: TImage;
    Timer1: TTimer;
    MonthCalendar1: TMonthCalendar;
    Label1: TLabel;
    DateTimePicker1: TDateTimePicker;
    procedure Timer1Timer(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form2: TForm2;

implementation

{$R *.dfm}
            var
            xt,yt,x1,y1,y2,x2,y3,x3:integer;
            n,t:double;
            i:byte;
procedure TForm2.Timer1Timer(Sender: TObject);
begin
label1.caption:=Timetostr(time);
image1.Canvas.pen.Color:=clblack;
image1.Canvas.font.Name:='arial';
Image1.canvas.pen.width:=1;
image1.Canvas.font.Size:=12;
for i  := 1 to 12 do
begin
xt:=150+round(100*sin(6.28*30*I/360));
Yt:=150+round(100*cos(6.28*30*I/360));
image1.canvas.TEXTOUT(xt,yt,inttostr(i));
end;
// преобразование компьютерной системы координат в часовую систему координат


n:=n+1;
//chasovay
Image1.canvas.moveto(150,150);
x3:=round(40*sin(6.28*n/216000));
Y3:=round(40*cos(6.28*n/216000));
Image1.canvas.lineto(x3,y3);
// minutnay strelka
Image1.canvas.moveto(150,150);
x2:=round(60*sin(6.28*n/3600));
Y2:=round(60*cos(6.28*n/3600));
Image1.canvas.lineto(x2,y2);
//sekundnay strelka
Image1.canvas.moveto(150,150);
x1:=round(90*sin(6.28*n/60));
Y1:=round(90*cos(6.28*n/60));
Image1.canvas.lineto(x1,y1);
//pauza
for T := 1 to 20000000 do
//stiranie ciferblata i strelok
Image1.canvas.brush.color:=clWhite;
end;
end.
Admin: Пользуемся тегами!

// преобразование компьютерной системы координат в часовую систему координат
как мне это сделать на этом шаге

Последний раз редактировалось Admin, 08.12.2009 в 21:51.
Ответить с цитированием
  #2  
Старый 08.12.2009, 23:26
Аватар для Electronic_Arts
Electronic_Arts Electronic_Arts вне форума
Местный
 
Регистрация: 13.07.2006
Адрес: на земле
Сообщения: 562
Версия Delphi: Delphi 11
Репутация: 18
Восклицание

кое что поправил держи
Код:
procedure TForm2.drawing;
const
  rad1=100;
  rad2=100;
  dx=150;
  dy=150;
  len1=2;
  len2=1.5;
  len3=1.1;
var
  i: integer;
  X, Y, xh, yh, xm, ym, xs, ys: integer;
  Now: TDateTime;
  hour, min, sec, msec: word;
  hour1, min1, sec1: real;
begin
for i := 1 to 12 do
  begin
  X := trunc(-sin(((pi/6)*(i-1))-pi+(pi/6))*rad1) + dx;
  Y := trunc(cos(((pi/6)*(i-1))-pi+(pi/6))*rad2) + dy;
  image1.Canvas.TextOut(x,y,inttostr(i));
  end;
Now := Time;
DecodeTime(Now,hour,min,sec,msec);
if hour>12 then hour := hour - 12;
hour1 := hour + min/60;
Xh := trunc(-sin(((pi/6)*(hour1-1))-pi+(pi/6))*(rad1/len1))
  + dx;
Yh := trunc(cos(((pi/6)*(hour1-1))-pi+(pi/6))*(rad2/len1))
  + dy;
image1.Canvas.Pen.Color:=clred;;
image1.Canvas.MoveTo(dx, dy);
Image1.canvas.lineto(xh,yh);
// minutnay strelka
min1 := min/5;
Xm := trunc(-sin(((pi/6)*(min1-1))-pi+(pi/6))*(rad1/len2))
  + dx;
Ym := trunc(cos(((pi/6)*(min1-1))-pi+(pi/6))*(rad2/len2))
  + dy;
image1.Canvas.Pen.Color:=clred;;
image1.Canvas.MoveTo(dx, dy);
Image1.canvas.lineto(xm,ym);
//sekundnay strelka
sec1 := sec/5;
Xs := trunc(-sin(((pi/6)*(sec1-1))-pi+(pi/6))*(rad1/len3))
  + dx;
Ys := trunc(cos(((pi/6)*(sec1-1))-pi+(pi/6))*(rad2/len3))
  + dy;
image1.Canvas.Pen.Color:=clred;;
image1.Canvas.MoveTo(dx, dy);
Image1.canvas.lineto(xs,ys);
end;

procedure TForm2.Timer1Timer(Sender: TObject);
begin
drawing;
end;
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 02:51.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025