- •Часть 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
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, MMSYSTEM, // для доступа к PlaySound Alarm2__l_; // для доступа к стартовой форме программы type
TForm2 = class(TForm)
Buttonl: TButton;
Labell: TLabel;
procedure ButtonlClick(Sender: TObject);
procedure FormActivate(Sender: TObject);
public
/ public declarations }
var
Form2: TForm2;
iiiplementation
($r *.dfm}
procedure TForm2.ButtonlClick(Sender: TObject);
begin
Form2.Hide; // скрыть окно с сообщением
Forml.Show; // сделать доступным главное окно end; procedure TForm2. FormActivate (Sender: TObject);
begin
Labell.Caption := Forml.Edit1.Text; // текст сообщения PlaySoundCtada.wav1,0,SND_ASYNC); // звуковой сигнал
end;
end.
61. Напишите программу "Будильник". Форма программы приведена на рис. 1.67. После того как пользователь установит время сигнала и щелкнет на кнопке ОК, окно программы должно исчезнуть с экрана, а значок программы — появиться на системной панели (рис. 1.68). Окно программы должно появиться на экране в установленное время. Появление окна должно сопровождаться звуковым сигналом.
"nit Alarm_; interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls,
ExtCtrls, ComCtrls,
ShellAPI, // для доступа к Shell_NotifyIcon
DateUtils, MPlayer;
192
Часть ■
193
Р
ис.
1.67.
Форма
программы Будильник
Будильник
Рис. 1.68. Значок программы
Будильник во время ее работы
должен находиться
на системной панели
procedure DeleteTrayIcon(n: procedure SetSound;
p
rivate
{ Private declarations }
public
{ Public declarations }
end;
var
Forml: TForml;
integer)
type
TForml
= Timerl:
Label1: Label2:
Label3:
Label4: UpDownl
Label5:
UpDown2
Label6:
Shape1: Label7: Buttonl
Shape2:
Label8:
TTimer;
TLabel;
TLabel;
TLabel;
TLabel; : TUpDown;
TLabel; : TUpDown;
TLabel;
TShape ;
TLabel; : TButton;
TShape;
TLabel;
procedure FormClose(Sender: TObject; var Action: TCloseActioiiM procedure FormCreate(Sender: TObject); procedure TimerITimer(Sender: TObject); procedure UpDownlClick(Sender: TObject;
Button: TUDBtnType); procedure UpDown2Click(Sender: TObject;
Button: TUDBtnType); procedure ButtonlClick(Sender: TObject);
// **** эти объявления вставлены сюда вручную procedure CreateTrayIcon(n: integer; Tip: String);
Implementation
Имя WAV-файла, который должен находиться в системном каталоге Media, программа берет из командной строки. Если параметр не указан, будильник воспроизводит звук, который располагается в файле sound.wav, который должен находиться в том же каталоге, что и выполняемый файл программы.
($R *.dfm}
var
Hour,Min: word; // время на индикаторе
AlHour, AlMin: word; // будильник установлен на AlHour-.AlMin
MediaPlayer : TMediaPlayer; // компонент MediaPlayer обеспечивает воспроизведение
// звукового сигнала
// начало работы программы
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);
7 Зак. 939
194
