1. Нам нужно глобально объявить несколько переменных, то есть чтобы можно было использовать эти переменные в любой процедуре или функции. Для этого Окне редактора Кода находим оператор VAR и после него пишем:
Hour,Sec,min,a,b:longint;
Переменная Hour и Min будут использоваться для отображение счётчика, а переменны A и B для вычисления общего времени (нужно для Timer).
2.Компонент Timer1 будет использоваться, если аудио файл не выбран. Когда пройдёт заданное время, то выводиться сообщение без звукового сигнала. В свойство OnTimer нужно вставить следующий код:
timer4.Enabled:=false; // выключить таймер 3
timer1.Enabled:=false;// выключить таймер 1
BitBtn4.Click;//нажать кнопку
ShowMessage('Напоменание о:"'+ edit1.Text +'"');// вывести сообщение
BitBtn3.Enabled:=true;//можно нажимать на кнопку
BitBtn2.Enabled:=false; //нельзя нажимать на кнопку
3.Компонент Timer2 будет использоваться, если аудио файл должен воспроизвестись. Когда пройдёт заданное время, то выводиться сообщение с звуковым сигналом. В свойство OnTimer нужно вставить следующий код:
mediaplayer1.Open;// Открыть аудио-файл
mediaplayer1.Play;// Воспроизвести файл
timer4.Enabled:=false; //выключить таймер3
timer2.Enabled:=false;// выключить таймер2
BitBtn4.Click;// нажать кнопку
ShowMessage('Напоменание о:"'+ edit1.Text +'"');// вывести сообщение
mediaplayer1.Stop;// выкличить аудио-файл
BitBtn2.Enabled:=true;// на кнопку можно нажимать
4.Компонент Timer3 будет использоваться для показа счётчика. В свойство OnTimer нужно вставить следующий код:
Label1.Caption:='Осталось: '+IntToStr(hour)+' час.'+IntToStr(min-1)+' мин.'+IntToStr(sec-1)+' сек.';// надпись на метке
sec:=sec-1;// переменную sec уменьшить на 1
if sec = 0 then begin // если sec = 0 то
sec:=59;
min:=min-1;// переменную min уменьшить на 1
end;
if (min = 0) and (hour>0) and (sec>0)then begin // если min=0 и hour =0 и sec = 0 то
hour:=hour-1;// hour уменьшить на 1
min:=60; // min присвоить 60
end;
- 19 -
5.В свойство OnChange компонента ComboBox1, пишем следующий код для оприделения сколько часов выбрал пользователь:
case ComboBox3.ItemIndex of // если пользователь выбрал, то а:=значению
0: a:=0;
1: a:=60*60000;
2: a:=2*(60*60000);
3: a:=3*(60*60000);
4: a:=4*(60*60000);
5: a:=5*(60*60000);
end;
6.В свойство OnChange компонента ComboBox2, пишем следующий код для оприделения сколько минут выбрал пользователь:
case Combobox1.ItemIndex of //если пользователь выбрал, то в b:= значению
0: b:=0;
1: b:=60000;
2: b:=2*60000;
3: b:=3*60000;
4: b:=4*60000;
5: b:=5*60000;
6: b:=10*60000;
7: b:=15*60000;
8: b:=20*60000;
9: b:=25*60000;
10: b:=30*60000;
11: b:=35*60000;
12: b:=40*60000;
13: b:=45*60000;
14: b:=50*60000;
15: b:=55*60000;
7.В свойство OnClick нужно вставить следующий код, для того чтобы разрешить воспроизвести аудио-файл или запретить:
if CheckBox1.State = cbChecked then // если естьгалочка то
BitBtn2.Enabled:=true // можно нажимать на кнопку для выбора аудио-файл
else // или
BitBtn2.Enabled:=false; // нельзя нажимать на кнопку для выбора аудио-файл
8. В кнопку для выбора аудио-файла нужно вставить следующий код:
if opendialog1.Execute then // открыть окно выбора файла
mediaplayer1.FileName:=opendialog1.FileName; // записать путь к файлу в MediaPlayer
9. В кнопку для остановки таймера нужно вставить код:
timer1.Enabled:=false;// выключить таймер 1
timer2.Enabled:=false;// выключить таймер 2
timer4.Enabled:=false;// выключить таймер 4
{Написать на Label1 }
label1.Caption:='Осталось: '+inttostr(0)+' час.'+IntToStr(0)+' мин.'+IntToStr(0)+' сек.';
BitBtn4.Enabled:=false;// можно нажимать на кнопку
- 20 -
10.При нажатие на кнопку «Ok» должно провериться будет ли воспроизводиться аудио-файл или нет. Так же нужно вычислить время работы таймера, а для компонента Timer нужно ввести мили секунды и включиться таймер для счётчика. Для этого в свойство OnClick нужно вставить код:
if checkbox1.Checked = true then // если включен аудио-файл, то
Begin
timer2.Interval:=a+b; //установить время таймера
timer2.Enabled:=true;// включить таймер
End
else // или
Begin
timer1.Interval:=a+b;//установить время таймера
timer1.Enabled:=true;// включить таймер
end;
BitBtn4.Enabled:=true;// можно нажимать на кнопку
Timer4.Enabled:=true;// включить таймер
sec:=60;// sec:=60
min:=b div 60000; // min:= b разделить на 60000
hour:=combobox3.ItemIndex;
end;
11. В кнопку «Закрыть» нужно вставить оператор: ‘ Close; ’.
На этом создание интерфейса закончено, можно скомпилировать и запустить проект, клавишей F9, должно быть похоже на рис.2.5.
Рис.2.5
Программа в процессе работы
Теперь только осталось соединить всё в одну программу. Заходим, Delphi, в меню Project | Add to Project и выбираем наши программы. В главной программе в OnClick кнопок нужно вставить оператор:
XXX.Show; // показать форму с именем XXX
Вместо XXX нужно написать название формы той или иной программы.
- 21 -
Заключение
В процессе разработке программы я укрепил свои навыки работы в среде программирования Delphi и научился создавать и работать с базами данных через таблицы Paradox 7. Но так как я только учусь программированию, то конечно у программы есть некоторые недостатки:
1. Не сохраняется «Начертание», то есть нельзя сохранить стиль текста (курсив, жирный, полужирный и т.д.).
2. Нету «Органайзер»’а.
Эти недостатки будут решены.
- 22 -
Список использованной литературы
1. А.Я. Архангельский «Программирование в Delphi 6», Москва, ЗАО «Издательство БИНОМ», 2001 г., 1120 с.
2. «Delphi World» - статьи. (www.delphiworld.narod.ru).
- 23 -