№16. Оятқыш сағат
Жұмыстың мақсаты – көрсетілген уақытта оятатын оятқыш сағаттың бағдарламасын жасау. Пішінде қазіргі уақыт пен ояту уақыты бөлек-бөлек көрсетіліп тұруы тиіс.
27-сурет
Жұмысты іске асырудың бағдарламасы:
var
Hour,Min: word; // индикатордағы уақыт
AlHour, AlMin: word; //оятқышқа орнатылған уақыт AlHour:AlMin
// бағдарлама жұмысының басталуы
procedure TForm1.FormCreate(Sender: TObject);
begin
Hour := HourOf(Now);
Min := MinuteOf(Now);
Label1.Caption := IntToStr(Hour);
if Min < 10
then Label2.Caption := '0'+IntToStr(Min)
else Label2.Caption := IntToStr(Min);
end;
// таймерден түсетін сигнал
procedure TForm1.Timer1Timer(Sender: TObject);
var
cHour,cMin: word;
begin
// ағымдағы уақытты алу
cHour := HourOf(Now);
cMin := MinuteOf(Now);
if Timer1.Tag = 0 //экрандағы бағдарлама терезесі
then begin
{ ағымдағы уақытпен индикаторда көрінген уақыттың сәйкестігін тексеру}
if cHour <> Hour then
begin
Hour := cHour;
Label1.Caption := IntToStr(Hour);
end;
if cMin <> Min then
begin
Min := cMin;
if min <10
then Label2.Caption := '0' + IntToStr(Min)
else Label2.Caption := IntToStr(Min);
end;
// (:) қос нүктенің жыпылықтауын қаматамасыз ету
if Label3.Visible
then Label3.Visible := False
else label3.Visible := True;
end
else // бағдарлама терезесі жасырылған, сигнал
// жіберу сәтінің келгендігін тексеру
if (cHour = AlHour) and (cMin = AlMin)
// сигнал !
then begin
Form2.Show;
Timer1.Tag := 0;
Timer1.Interval := 1000;
end;
end;
// UpDown1 шерту оятқыш -сағаттың сигнал беру уақытын өзгертеді
procedure TForm1.UpDown1Click(Sender: TObject; Button: TUDBtnType);
begin
if UpDown1.Position < 10
then Label4.Caption := '0' + IntToStr(UpDown1.Position)
else Label4.Caption := IntToStr(UpDown1.Position);
end;
// UpDown1 шерту оятқыш-минуттың сигнал беру уақытын өзгертеді
procedure TForm1.UpDown2Click(Sender: TObject; Button: TUDBtnType);
begin
if UpDown2.Position < 10
then Label5.Caption := '0' + IntToStr(UpDown2.Position)
else Label5.Caption := IntToStr(UpDown2.Position);
end;
// OK батырмасын шерту
procedure TForm1.Button1Click(Sender: TObject);
begin
// оятқышты орнату
AlHour := UpDown1.Position;
AlMin := UpDown2.Position;
Timer1.Tag := 1;
Form1.Hide; //
Timer1.Interval := 3000; // әрбір 3 секунд сайын тексеру
end;
end.10>
Достарыңызбен бөлісу: |