
- •Часть 1
- •Implementation
- •Implementation
- •Implementation
- •Часть 1
- •Implementation
- •Implementation
- •Implementation
- •IBplementation
- •Implementation
- •Часть 1
- •Implementation
- •Implementation
- •Implementation
- •Implementation
- •Implementation
- •Interface
- •Часть 1
- •Interface
- •Часть 1 I. 104
- •Implementation
- •Implementation
- •Implementation
- •Часть I
- •Р ис. 1.46. Окно программы Звуки Windows
- •Implementation
- •Interface
- •Implementation
- •Interface
- •Implementation
- •Interface
- •Implementation
- •Interface
- •Implementation
- •Implementation
- •Implementation
- •Implementation
- •Implementation
- •Interface
- •Часть 1
- •168 Част
- •Implementation
- •Часть 1
- •Interface uses
- •Implementation
- •Interface
- •Implementation
- •Часть 1
- •Часть 1 I Примеры и задачи
- •Часть 1 I Примеры и задачи
- •Implementation
- •205 Часть
- •Interface
- •Implementation
- •216 Часть 1
- •Поле т ип Размер Информация
- •Часть 1
- •Implementation
- •Interface
- •Implementation
- •Implementation
- •Часть 2 Таблица 2.2 (окончание)
- •252 Часть 2
- •Часть 2 I Delphi — краткий справочник
- •Часть 2
Interface uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, saper_l;
type
TAboutForm = class(TForm) Buttonl: TButton; Label1: TLabel; Label2: TLabel;
procedure ButtonlClick(Sender: TObject); private
/ Private declarations } public
{ Public declarations } end;
var
AboutForm: TAboutForm;
Implementation
($R *.DFM}
procedure TAboutForm.ButtonlClick(Sender: TObject); begin
ModalResult := mrOk; end;
end.
60. Напишите программу "Будильник". Форма программы приведена на рис. 1.66. После того как пользователь установит время сигнала, задаст текст напоминания и щелкнет на кнопке ОК, окно программы должно исчезнуть с экрана. В установленное время на экране должно появиться окно с напоминанием. Появление окна должно сопровождаться звуковым сигналом.
■г Сейчас -4 ■ г Сигнал ■.
00:00 '; : 00 : СЮ ~]~]
Сообщение
ок I: ф|:::::::::::
Р
ис.
1.66. Форма программы Будильник
/ Будильник. Модуль главной формы. ) unit Alarm2_l_;
interface
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, ComCtrls, DateUtils;
type
TForml = class(TForm) Timerl: TTimer; Label1: TLabel; Label2: TLabel; Label3: TLabel; Label4: TLabel; UpDownl: TUpDown; Label5: TLabel; UpDown2: TUpDown; Shape1: TShape; Label7: TLabel; Buttonl: TButton; Shape2: TShape; Label8: TLabel; Editl: TEdit; Label6: TLabel; Label9: TLabel;
procedure FormCreate(Sender: TObject); procedure TimerlTimer(Sender: TObject);
189
procedure UpDownlClick(Sender: TObject;
Button: TUDBtnType);
procedure UpDown2Click(Sender: TObject;
Button: TUDBtnType);
procedure ButtonlClick(Sender: TObject);
private
/ Private declarations j public
( Public declarations I end;
var
Forml: TForml;
implementation uses Alarm2_2_; {$R *.dfm}
var
Hour,Min: word; // время на индикаторе
AlHour, AlMin: word; // будильник установлен на AlHour.
// начало работы программы
procedure TForml.FormCreate(Sender: TObject);
begin
Hour := HourOf(Now);
Min := MinuteOf(Now);
Labell.Caption := IntToStr(Hour);
if Min < 10
then Label2.Caption := 'O'+IntToStr(Min) else Label2.Caption := IntToStr(Min); end;
// сигнал от таймера
procedure TForml.TimerITimer(Sender: TObject);
var
cHour,cMin: word; gin
// получить текущее время
cHour := HourOf(Now);
cMin := MinuteOf(Now);
AlMin
и задачи
if Timerl.Tag = 0 // окно программы на экране then begin
! проверим, совпадает ли текущее время
с отображаемым на индикаторе } if cHour <> Hour then begin
Hour := cHour;
Labell.Caption := IntToStr(Hour) ; end;
if cMin <> Min then begin
:= '0' + IntToStr(Min) := IntToStr(Min);
Min := cMin; if min <10
then Label2.Caption else Label2.Caption end;
// обеспечим мигание двоеточия if Label3.Visible
then Label3.Visible := False else Iabel3.Visible := True; end
else // окно программы скрыто, контролируем // наступление момента подачи сигнала if (cHour = AlHour) and (cMin = AlMin)
// сигнал ! then begin
Form2.Show; Timerl.Tag := 0; Timerl.Interval := 1000; end; end;
// щелчок на UpDownl изменяет
// время сигнала будильника — часы
Procedure TForml.UpDownlClick(Sender: TObject; Button: TUDBtnType)
begin
if UpDownl.Position < 10
then Label4.Caption := '0' +
IntToStr(UpDownl.Position)
190
end;
else Label4.Caption := IntToStr(OpDownl.Position);
private declarations j
// щелчок на UpDown2 изменяет
// время сигнала будильника — минуты
procedure TForml.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 TForml.ButtonlClick(Sender: TObject); begin
// установить будильник AlHour := UpDownl.Position; AlMin := UpDown2.Position; Timerl.Tag := 1; Forml.Hide; //
Timerl.Interval := 3000; // проверять каждые З секунды end;
end.
{ Будильник. Модуль окна сообщения. } unit Alarm2_2_;