Class TFormClock (unit Datetime) |
Inherits from
TForm
procedure BtnCancelClick(Sender: TObject);
procedure BtnSelectClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
TFormClock Implementation
procedure FormDestroy(Sender: TObject);
Create Pen
procedure FormPaint(Sender: TObject);
Draw minute points on Panel
function GetClkTime: TDateTime;
procedure SBAmPmDownClick(Sender: TObject);
procedure SEDminChange(Sender: TObject);
procedure SEDsecChange(Sender: TObject);
procedure SEHourChange(Sender: TObject);
Rectifies overflow on second counter
procedure SEMinChange(Sender: TObject);
procedure SESecChange(Sender: TObject);
procedure SetClkDateTime(ClkTime: TDateTime);
Set Clock TimeSet Spin Edit Values
procedure SetClkTime(H, M, S: Word);
Get clock timeGet clock time
procedure CalculateAngles;
Hour Hand angle
procedure DrawClockFace;
procedure DrawHand(Angle, Scale : real; AWidth : integer);
Draw clock face on window
procedure DrawHands;
Draw a clock hand
procedure DrawMinBlocks;
Calc Radius of clock
procedure FixDmin;
Rectifies overflow on hour counter
procedure FixDsec;
Rectifies overflow on minute counter
procedure FixHour;
The following procedures rectify overflow on the
spin editsEnsure date part is not lost
procedure FixMin;
Rectifies overflow on ten minute counter
procedure FixSec;
Rectifies overflow on 10 second counter
function HourAngle(Hour, Min: word): real;
Minute Hand angle
function MinuteAngle(Min: word): real;
Internal Clock time and selected clock timeSet Spin Edit Values
procedure SetTime;
Draw clock Hands
BtnCancel : TBitBtn;
BtnSelect : TBitBtn;
EditAmPm : TEdit;
Label1 : TLabel;
Label2 : TLabel;
Label3 : TLabel;
Label4 : TLabel;
Panel2 : TPanel;
Panel3 : TPanel;
PBClock : TPaintBox;
SBAmPm : TSpinButton;
SEDmin : TSpinEdit;
SEDsec : TSpinEdit;
SEHour : TSpinEdit;
SEMin : TSpinEdit;
SESec : TSpinEdit;
CentrePt : TPoint;
ClockTime : TDateTime;
Width of Clock rectangles
FPen : TPen;
Radius : integer;
Clock Centre
RectWidth : integer;
Clock Radius
SelectedTime : TDateTime;
procedure BtnCancelClick(Sender: TObject);
procedure BtnSelectClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
TFormClock Implementation
procedure FormDestroy(Sender: TObject);
Create Pen
procedure FormPaint(Sender: TObject);
Draw minute points on Panel
function GetClkTime: TDateTime;
procedure SBAmPmDownClick(Sender: TObject);
procedure SEDminChange(Sender: TObject);
procedure SEDsecChange(Sender: TObject);
procedure SEHourChange(Sender: TObject);
Rectifies overflow on second counter
procedure SEMinChange(Sender: TObject);
procedure SESecChange(Sender: TObject);
procedure SetClkDateTime(ClkTime: TDateTime);
Set Clock Time
Set Spin Edit Values
procedure SetClkTime(H, M, S: Word);
Get clock time
Get clock time
procedure CalculateAngles;
Hour Hand angle
procedure DrawClockFace;
procedure DrawHand(Angle, Scale : real; AWidth : integer);
Draw clock face on window
procedure DrawHands;
Draw a clock hand
procedure DrawMinBlocks;
Calc Radius of clock
procedure FixDmin;
Rectifies overflow on hour counter
procedure FixDsec;
Rectifies overflow on minute counter
procedure FixHour;
The following procedures rectify overflow on the
spin edits
Ensure date part is not lost
procedure FixMin;
Rectifies overflow on ten minute counter
procedure FixSec;
Rectifies overflow on 10 second counter
function HourAngle(Hour, Min: word): real;
Minute Hand angle
function MinuteAngle(Min: word): real;
Internal Clock time and selected clock time
Set Spin Edit Values
procedure SetTime;
Draw clock Hands
BtnCancel : TBitBtn;
BtnSelect : TBitBtn;
EditAmPm : TEdit;
Label1 : TLabel;
Label2 : TLabel;
Label3 : TLabel;
Label4 : TLabel;
Panel2 : TPanel;
Panel3 : TPanel;
PBClock : TPaintBox;
SBAmPm : TSpinButton;
SEDmin : TSpinEdit;
SEDsec : TSpinEdit;
SEHour : TSpinEdit;
SEMin : TSpinEdit;
SESec : TSpinEdit;
CentrePt : TPoint;
ClockTime : TDateTime;
Width of Clock rectangles
FPen : TPen;
Radius : integer;
Clock Centre
RectWidth : integer;
Clock Radius
SelectedTime : TDateTime;