Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Примеры и задачи.doc
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
3.66 Mб
Скачать

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:

class (TForm)

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