Рефераты. Записная книжка на Delphi 7

procedure TBaseForm.SaveGrid; // имя процедуры

var

  f: textfile;

  x, y: integer;

begin

  assignfile(f, 'Base.zap');// открыть файл ‘Base’

  rewrite(f); // переписать файл

  writeln(f, StringGrid1.colcount); //просмотр  значения столбцов

  writeln(f, StringGrid1.rowcount);// просмотр  значения строк

  for X := 0 to StringGrid1.colcount - 1 do // начало цикла записи значения каждой ячейки

    for y := 0 to StringGrid1.rowcount - 1 do

      writeln(F, StringGrid1.cells[x, y]);

  closefile(f);//закрыть файл

end;

А для загрузки: аналогичным способом объявим процедуру загрузки: ‘Procedure LoadGrid’, а процедура загрузки имеет следующий код:

procedure TBaseForm.LoadGrid;

var

  f: textfile;

  temp, x, y: integer;

  tempstr: string;

begin

  assignfile(f, 'Base.zap'); // открыть файл ‘Base’

  reset(f); // Сбить файл

  readln(f, temp); //Прочитать файл

  StringGrid1.colcount := temp; // выставить количество столбцов

  readln(f, temp); // прочитать файл

  StringGrid1.rowcount := temp; //выставить количество строк

  for X := 0 to StringGrid1.colcount - 1 do // начало цикла заполнения каждой ячейки

    for y := 0 to StringGrid1.rowcount - 1 do

    begin

      readln(F, tempstr);

      StringGrid1.cells[x, y] := tempstr;

    end;

  closefile(f); // закрыть файл

end;

- 15 -

  Для загрузки нужно в свойство OnCreate формы вставить следующий оператор: ‘LoadGrid;’

  Для сохранения нужно в свойство OnClose формы вставить следующий оператор: ‘SaveGrid;’.

Напишем названия колонок, для этого в свойство OnCreate формы вставим следующий код:

with stringgrid1 do begin

Cells[0,0]:=' № '; //названия колонки с координатами

Cells[1,0]:='Фамилия'; //названия колонки с координатами

Cells[2,0]:='Имя'; //названия колонки с координатами

Cells[3,0]:='Отчество'; //названия колонки с координатами

Cells[4,0]:='Адрес'; //названия колонки с координатами

Cells[5,0]:='Телефон'; //названия колонки с координатами

  Всё на этом создание программы «Справочник друзей» закончен. Теперь можно скомпилировать и запустить программу. Если всё правильно, то можно сохранить эту программу.

«Media Player»


Постановка задачи

 

  “Media Player” – программа, которая должна воспроизводить музыкальные композиции и видео-файлы. В Delphi есть универсальный компонент MediaPlayer, который выполняет нужные нам функции. Так же на форме будет 2 кнопки для открытия файла и для выхода из программы.

Создания интерфейса

 

В свойстве Caption формы введём текст: ‘Media Player’, а в свойстве формы Name введём имя формы: ‘MediaP’. В свойстве формы AutoSize нужно выставить True, для то чтобы форма изменяла размер вместе с компонентами.

  Переносим компонент MediaPlayer с закладки System на форму. Переносим 2 кнопки BitBtn с закладки Additional и компонент OpenDialog с закладки Dialogs.


Описание процедур и функций


  Одну кнопку называем: «Открыть файл», а вторую:«Закрыть».

Настраиваем Filter компонента OpenDialog1: Filter Name: ‘Видео-файлы и музыка’, Filter: ‘*.avi;*.mp3;*.wav’. 

В кнопку «Открыть файл» вставляем следующий код:

if opendialog1.Execute then // открытия окна выбора файла

if opendialog1.FileName = '' then writeln ('Вы не выбрали файл!!!')                                                                          

else begin // или

mediaplayer1.FileName:=opendialog1.FileName; // занести путь к файлу

mediaplayer1.Open;//открыть файл

end;

  Теперь в кнопку «Закрыть» нужно вставить оператор ‘Close;’.

Всё на этом создание программы «Media Player» закончен. Теперь можно скомпилировать и запустить программу. Сохраните этот проект.      

– 16 –

«CD-Rom»


Постановка задачи

  Так как нам нужно только открыть или закрыть лоток CD-Rom’а, то можно использовать только 2 кнопки, потому что при закрытии лотка CD-Rom’а можно и закрыть программу.


Создание интерфейса

В свойстве Caption формы введём текст: ‘CD-Rom’, а в свойстве формы Name введём имя формы: ‘CDRom’. 

Перенесём 2 кнопки BitBtn на форму. Подпишим каждую кнопку, например так: «Открыть CD» и «Закрыть CD». Выставим для каждой кнопки соответственную пиктограмму.


Описание процедур и функций

Чтобы работала программа нужно подключить модуль MMSystem в USES формы.

Для кнопки  которая будет открывать лоток, нужен следующий код:

mciSendString('Set cdaudio door open wait', nil, 0, handle);

Для кнопки  которая будет закрывать лоток, нужен следующий код:

mciSendString('Set cdaudio door closed wait', nil, 0, handle);


  Всё на этом создание программы «CD-Rom» закончен. Теперь можно скомпилировать и запустить программу. Сохраните этот проект.


«Напомнить о…»


Постановка задачи

 

  Так как нам нужно чтобы через заданное время, выводилось какое либо сообщение, то нам нужно два компонента для выбора промежутка времени (часы и минуты), компонент для ввода нужного сообщения. Так как ещё будет звуковой сигнал, то проще всего будет использовать компонент MediaPlayer. На форме будет писаться сколько осталось время.


Создание интерфейса

  Окно для ввода сообщения и для настройки времени будут находиться внутри компонента GroupBox. Этот компонент нужно перетащить на форму с закладки Standard. Для того чтобы можно было написать сообщение, будем использовать компонент Edit который находиться на той же странице, его нужно перетащить на компонент GroupBox1. Свойство формы AutoSize выставить True.

Теперь перенесём ещё один компонент GroupBox и в него вставим два компонента ComboBox, которые нужны для выбора времени. Перенесём на GroupBox2 компонент CheckBox, который будет показывать воспроизвести аудио-файл или ненужно.

Перенесём на форму 4 кнопки BitBtn. Нужен компонент OpenDialog через который будет


- 17 -

выбор аудио-файла, его можно найти на закладке Dialogs.

  Нужно 3 компонента Timer. 2 Timer’а будут использоваться в зависимости нужно ли проигрывать аудио-файл или нет, а 3 для показа сколько время осталось. Для всех 3х таймеров в их свойствах Enabled нужно выставить False.

  Перенесём на форму MediaPlayer с закладки System в какой то компонент GroupBox,что даст возможность не мешать размерам формы так как MediaPlayer не будет виден.

  Когда всё сделать, то расположите все компоненты как показано на рис.2.4

 




Рис.2.4

Процесс создания интерфейса









  Изменим надписи на компонентах.

  В свойстве Caption формы введём текст: ‘Напомнить о…’, а в свойстве формы Name введём имя формы: ‘Memory’.

  Так как в GroupBox1 находиться компонент Edit1  и используется для создании сообщения, то в свойстве Caption компонента GroupBox1 можно ввести: ‘Напомнить о:’.

В свойстве Text, компонента Edit1, нужно стереть текст.

    Так как в GroupBox2 находятся два компонента ComboBox  которые используется для установки времени, а компонент CheckBox1 для воспроизведения файла, то в свойстве Caption компонента GroupBox2 можно ввести: ‘Настройки’. В свойстве Caption компонента CheckBox1 можно ввести: ‘Воспроизвести аудио-файл’.

  Так как Label1 будет показывать счётчик, то в его свойство Caption можно ввести начальное значение счётчика: ‘Осталось: 0 час. 0 мин. 0 сек.’.

  Кнопку BitBtn1 подпишем: ‘Аудио-файл’, так как при нажатие на кнопку будем выбирать аудио-файл.

  Кнопку BitBtn2 подпишем: ‘Остан.таймер’, так как при нажатие на кнопку будет выключаться таймер.

  Кнопку BitBtn4 подпишем: ‘Ok’, так как при нажатие на кнопку программа начнёт свою работу.

  Кнопку BitBtn4 подпишем: ‘Закрыть’, так как при нажатие на кнопку будет закрываться программа, но таймер не перестанет работать.

  В свойстве Items компонента ComboBox1 нужно вставить названия часов, например, введём, в столбик, без запятых, в столбик: ‘0 часов,1 час,2 часа,3 часа,4 часа,5 часов’. А в ComboBox2 можно вставить, без запятых, в столбик: ‘0 мин.,1 мин.,2 мин.,3 мин.,4 мин.,5 мин.,10 мин.,15 мин.,20 мин.,25 мин.,30 мин.,35 мин.,40 мин.,45 мин.,50 мин.,55 мин.’.

 

- 18 -

Для каждой кнопки можно выставить пиктограмму, для этого есть свойство кнопок  Glyph.

Описание процедур и функций


   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 -


Страницы: 1, 2, 3, 4



2012 © Все права защищены
При использовании материалов активная ссылка на источник обязательна.