Witam.
Mam na informatykę zrobić stoper. Znalazłem stoper analogowy w internecie i wszystko działa. Wygląda on tak:
Ale chciałbym zmienić w nim parę rzeczy takich jak obrazek, żeby ten zegarek urozmaicić trochę, dodać jakąś tarczę znalezioną w internecie, albo po prostu jak dodać liczby i zmienić kolory w tym? Może mi ktoś pomóc? I jeszcze chciałbym żeby pod spodem był pokazywany czas, da radę to jakoś zrobić?
Tutaj jest kod tego wszystkiego:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, jpeg;
type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
Label1: TLabel;
Timer1: TTimer;
Button3: TButton;
Image1: TImage;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
procedure FormPaint(Sender: TObject);
procedure Button3Click(Sender: TObject);
private
public
{ Public declarations }
end;
var
Form1: TForm1;
s : Integer =1;
o : Integer =100;
r : integer =85;
x,y,x1,y1,x2,y2,i : integer;
implementation
{$R *.dfm}
//Startowanie
procedure TForm1.Button1Click(Sender: TObject);
begin
Timer1.Enabled := True ;
end;
//Zatrzymanie
procedure TForm1.Button2Click(Sender: TObject);
begin
timer1.enabled:=false;
end;
//Resetowanie
procedure TForm1.Button3Click(Sender: TObject);
begin
x:=0;
y:=0;
s:=1;
timer1.enabled:=false;
Canvas.Pen.Width := 2;
Canvas.Ellipse(10,10,190,190);
Canvas.MoveTo(o, o);
Canvas.LineTo(100 , 10);
for I := 0 to 11 do
begin
x1 := round((cos(PI * (i*30-90) / 180))*90);
y1 := round((sin(PI * (i*30-90) / 180))*90);
x2 := round((cos(PI * (i*30-90) / 180))*80);
y2 := round((sin(PI * (i*30-90) / 180))*80);
Canvas.MoveTo(x1+o, y1+o);
Canvas.LineTo(x2+o, y2+o);
end;
end;
//Opreacja wykonywana bezpośrednio po starcie
procedure TForm1.FormPaint(Sender: TObject);
begin
Canvas.Pen.Width := 2;
Canvas.Ellipse(10,10,190,190);
Canvas.MoveTo(o, o);
Canvas.LineTo(100 , 10);
for I := 0 to 11 do
begin
x1 := round((cos(PI * (i*30-90) / 180))*90);
y1 := round((sin(PI * (i*30-90) / 180))*90);
x2 := round((cos(PI * (i*30-90) / 180))*80);
y2 := round((sin(PI * (i*30-90) / 180))*80);
Canvas.MoveTo(x1+o, y1+o);
Canvas.LineTo(x2+o, y2+o);
end;
end;
//Operacja wykonywana sekwencyjnie
procedure TForm1.Timer1Timer(Sender: TObject);
begin
Canvas.Pen.Color := clBlack;
Canvas.Pen.Width := 2;
Canvas.Ellipse(10,10,190,190);
x := round((cos(PI * (s*6-90) / 180))*r);
y := round((sin(PI * (s*6-90) / 180))*r);
Canvas.MoveTo(o, o);
Canvas.LineTo(x+o , y+o);
Inc(s);
for I := 0 to 11 do
begin
x1 := round((cos(PI * (i*30-90) / 180))*90);
y1 := round((sin(PI * (i*30-90) / 180))*90);
x2 := round((cos(PI * (i*30-90) / 180))*80);
y2 := round((sin(PI * (i*30-90) / 180))*80);
Canvas.MoveTo(x1+o, y1+o);
Canvas.LineTo(x2+o, y2+o);
end;
end;
end.
Jeszcze raz proszę o pomoc w urozmaiceniu tego stopera, żeby to nie było taki jak teraz ponure.
Z góry dzięki.

Nie umiem programować i mi trzeba dobitnie jak coś…dlatego mógłbyś mi to jakoś bardziej wytłumaczyć?