Розробка програмного забезпечення “Бюро знайомств”
МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ КОРАБЛЕБУДУВАННЯ
ім. адм. Макарова
Херсонський
філіал
Кафедра
інформаційних технологій
Курсова
робота
З ДИСЦИПЛІНИ
“Об’єктно
– орієнтоване програмування”
ТЕМА:
Розробка програмного
забезпечення “Бюро
знайомств”
Виконав:
Перевірив:
Херсон 2004
Ход
работы программы
Модуль Proect1 содержит информацию о всех 7-ми Формах.
Форма 1 (Unit1) состоит из 6-ти кнопок и хранит процедуры их обработки:
- Кнопка Новая анкета позволяет создать новую анкету клиента, содержащую данные о нем.
- Кнопка Просмотр анкет выводит список ранее зарегистрированных клиентов.
- Кнопка Работа с архивом открывает таблицу, содержащую личные данные клиентов о себе и раздел анкет по полу.
- Кнопка Просмотр архива открывает таблицу архива, содержащую личные данные и параметры клиентов.
- Кнопка Просмотр сохраненных приглашений открывает диалоговое окно, содержащее информацию о текущем приглашении пары (по умолчанию в кафе “Ночной Тарзан”).
- Кнопка Выход завершает работу программы Бюро знакомств.
Форма 2 (Unit 2) создаёт новую анкету, содержащую такие поля: Дата, Регистрационный номер (задаётся автоматически), Фамилия, Имя, Отчество, Пол, Возраст, О себе, Требования. Так же имеются 2 кнопки: OK – сохраняет новую, заполненную анкету, Cancel - отменяет создание новой анкеты.
Форма 3 (Unit3) – это форма, просмотра анкет, она содержит такие заполненные поля: Рег №, Дата регистрации, Имя, Фамилия, Возраст, Пол, данные клиента о себе и требования к партнёру. Так же есть строка поиска по регистрационному номеру и две кнопки: Удалить – удаляет полностью выбранную анкету, Выход – закрывает форму Просмотр анкет.
Форма 4 (Unit4) содержит таблицу, содержащую личные данные клиентов и сортировку пар по полу. Имеются 3 кнопки: Занести в архив – занос в архив выбранной пары, Выход – завершение работы с архивом, Подготовить приглашение – открывает окно подготовки приглашения пары в кафе “Ночной Тарзан” на вечер знакомства с кандидатом женского пола и кандидатом мужского пола. Далее приглашение можно сохранить нажатием кнопки Сохранить, либо отменить приглашение, нажатием кнопки Выйти.
Форма 5 (Unit5) состоит из строк для просмотра всех данных клиента: регистрационный номер, дата регистрации, пол, данные о себе, требования, возраст, ФИО. Так же имеется кнопка Выход – завершающая просмотр данной формы.
Форма 6 (Unit 6) открывает окно подготовки приглашения пары в кафе “Ночной Тарзан” на вечер знакомства с кандидатом женского пола и кандидатом мужского пола. Далее приглашение для дальнейшего редактирования можно сохранить нажатием кнопки Сохранить, что открывает окно диалога сохранения файла и сохраняем текстовую область Mtmo1 в указанный файл, либо отменить приглашение, нажатием кнопки Выйти.
Форма 7 (Unit7) представляет собой окно, для просмотра готовых приглашений тех пар, которым были назначены встречи, тут же можно отредактировать приглашение и сохранить заново. Имеются 3 кнопки:
Открытие приглашения – открытие готового приглашения, путём вывода окна диалога, которое открывает файл. В этом окне происходит заполнение текстовой области Memo1 из указанного файла;
Сохранить приглашение – даёт возможность сохранить новое, отредактированное приглашение путём открытия окна диалога сохранения файла и сохраняется текстовая область Memo1 в указанный файл;
Выход
– завершение работы Unite7.
Текст программы
program Project1;
uses
Forms,
Unit1 in 'Unit1.pas' {Form1},
Unit2 in 'Unit2.pas' {Form2},
Unit3 in 'Unit3.pas' {Form3},
Unit4 in 'Unit4.pas' {Form4},
Unit5 in 'Unit5.pas' {Form5},
Unit6 in 'Unit6.pas' {Form6},
Unit7 in 'Unit7.pas'
{Form7};
{$R *.res}
begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.CreateForm(TForm2, Form2);
Application.CreateForm(TForm3, Form3);
Application.CreateForm(TForm4, Form4);
Application.CreateForm(TForm5, Form5);
Application.CreateForm(TForm6, Form6);
Application.CreateForm(TForm7, Form7);
Application.Run;
end.
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
Button4: TButton;
Button3: TButton;
Button5: TButton;
Button6: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure Button6Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
uses Unit2, Unit3, Unit4, Unit5,
Unit7;
{$R *.dfm}
procedure TForm1.Button1Click(Sender:
TObject);//Процедура
begin
form2.ShowModal; //показ формы Form2. Форма открывается в режиме при котором другие формы не доступны
end;
procedure TForm1.Button2Click(Sender: TObject);//Процедура обработки клика кнопки "Просмотр анкет"
begin
Form3.showmodal;//показ формы Form3. Форма открывается в режиме при котором другие формы не доступны
end;
procedure TForm1.Button4Click(Sender:
TObject);//Процедура
begin
Close;//Закрытие формы Form1, что означает выход из программы
end;
procedure TForm1.Button3Click(Sender: TObject);//Процедура обработки клика кнопки "Работа с архивом"
begin
form4.ShowModal;//показ формы Form4. Форма открывается в режиме при котором другие формы не доступны
end;
procedure TForm1.Button5Click(Sender: TObject);//Процедура обработки клика кнопки "Просмотр архива"
begin
form5.Table1.Open; //откритие таблицы Table1 находящейся на форме FORM5
form5.ShowModal; //показ формы Form5. Форма открывается в режиме при котором другие формы не доступны
end;
procedure TForm1.Button6Click(Sender: TObject);
begin
form7.ShowModal;//показ формы Form7. Форма открывается в режиме при котором другие формы не доступны
end;
end.
unit Unit2;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DBCtrlsEh,
Mask, DBCtrls, DB, DBTables, StdCtrls, Buttons;
type
TForm2 = class(TForm)
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
DBMemo1: TDBMemo;
DBMemo2: TDBMemo;
Table1: TTable;
DataSource1: TDataSource;
DBEdit1: TDBEdit;
DBEdit2: TDBEdit;
DBEdit3: TDBEdit;
DBEdit4: TDBEdit;
DBDateTimeEditEh1: TDBDateTimeEditEh;
DBEdit5: TDBEdit;
Label6: TLabel;
Label7: TLabel;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
DBEdit6: TDBEdit;
Label8: TLabel;
procedure FormCreate(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form2: TForm2;
implementation
uses Unit3;
{$R *.dfm}
procedure TForm2.FormCreate(Sender: TObject);//При показе, активации и создании формы Form2 выполняются действия:
begin
Table1.Open;//Открывается таблица Table1
table1.Append;//Добавляется в конец таблицы новая строка в таблицу Table1
table1.FieldByName('date').
table1.Post; //Сохранение изменений
table1.edit; //Начинаем
изменения в таблице Table1 в текущей сторке
end;
procedure TForm2.BitBtn1Click(Sender:
TObject);//Процедура
begin
table1.Post; //Сохранение изменений
close;//Закрытие формы Form2
end;
procedure TForm2.BitBtn2Click(Sender: TObject);
begin
table1.Cancel;//отмена изменений
table1.Delete;//Удаление текущей строки в таблице Table1
close;//Закрытие формы
Form2
end;
procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction);//Процедура обработки событя при закрытии формы Form2
begin
form3.Table1.Refresh;//
end;
end.
unit Unit3;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, DBCtrls, Grids, DBGrids, Buttons, ExtCtrls, DB,
DBTables;
type
TForm3 = class(TForm)
DataSource1: TDataSource;
Table1: TTable;
Panel1: TPanel;
DBGrid1: TDBGrid;
DBMemo1: TDBMemo;
DBMemo2: TDBMemo;
Button1: TButton;
Button2: TButton;
Label1: TLabel;
Label2: TLabel;
Edit1: TEdit;
Label3: TLabel;
procedure FormCreate(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Edit1Change(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form3: TForm3;
implementation
{$R *.dfm}
procedure TForm3.FormCreate(Sender: TObject); //прцедура обработки события при создании формы Form3
begin
table1.Open;//Открытие таблицы table1
end;
procedure TForm3.BitBtn1Click(Sender:
TObject);//Процедура
begin
table1.Delete;//Удаление текущей строки в таблице Table1
end;
procedure TForm3.Button2Click(Sender:
TObject);//Процедура
begin
Close;//Закрытие Form3
end;
procedure TForm3.Edit1Change(Sender: TObject);
begin
Try
Table1.FindKey([strtoint(
except
Showmessage('Не верный параметр для поиска'); //в солучае возникновения ошибки будет дано сообщение
end;
end;
end.
unit Unit4;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, DB,
Grids, DBGrids, DBTables;
type
TForm4 = class(TForm)
Table1: TTable;
Table2: TTable;
Table3: TTable;
DBGrid1: TDBGrid;
DBGrid2: TDBGrid;
DataSource1: TDataSource;
DataSource2: TDataSource;
Button1: TButton;
Button2: TButton;
Button3: TButton;
procedure Button2Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure Button3Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form4: TForm4;
implementation
uses Unit6;
{$R *.dfm}
procedure TForm4.Button2Click(Sender: TObject);
begin
close;
end;
procedure TForm4.Button1Click(Sender:
TObject);//Процедура
begin
//table1.Open;
//table2.Open;
table1.DisableControls;//
table2.DisableControls;//
table3.Open;//Открываем таблицу Table3
table3.Append;//Добавляем в конец таблицы новую строку
table3.FieldByName('reg').
table3.FieldByName('date').
table3.FieldByName('pol').
table3.FieldByName('osebe').
table3.FieldByName('treb').
table3.FieldByName('name').
table3.FieldByName('family').
table3.FieldByName('father').
table3.Post;//Сохраняем изменения в таблице Table3
table3.Append;//Добавляем в конец таблицы новую строку
table3.FieldByName('reg').
table3.FieldByName('date').
table3.FieldByName('pol').
table3.FieldByName('osebe').
table3.FieldByName('treb').
table3.FieldByName('name').
table3.FieldByName('family').
table3.FieldByName('father').
table3.Post;//Сохраняем изменения в таблице Table3
Button3Click(Sender);//Вызов
процедуры Button3Click(см
table1.Delete;//Удаляем текущую строку из таблицы TABLE1
table2.Delete;//Удаляем текущую строку из таблицы TABLE2
table1.EnableControls;//
table2.EnableControls;//
table1.Refresh;//Обновляем данные в таблице Table1
table2.Refresh;//Обновляем
данные в таблице Table1
end;
procedure TForm4.FormShow(Sender: TObject); //При показе формы Form4 выполняются действия:
begin
table1.Open;//открытие таблицы Table1
table2.Open;//открытие таблицы Table2
end;
procedure TForm4.FormClose(Sender: TObject; var Action: TCloseAction);//При закрытии формы Form4 выполняются действия:
begin
table1.Close;//Закрытие таблицы Table1
table2.Close;//Закрытие таблицы Table2
end;
procedure TForm4.Button3Click(Sender:
TObject);//Процедура
var ff:textfile;//Объявление типа файловой переменной
begin
assignfile(ff,'c:\Prigl.txt');
rewrite(ff);//Перезапись файла
Writeln(ff,'Приглашение в кафе "Ночной Тарзан"');//Добавляем строку в файл
Writeln(ff,'На вечер
знакомства с '+table1.fieldbyname('Family')
Writeln(ff,' и '+table2.fieldbyname('
closefile(ff);//Закрытие файла
form6.Memo1.Lines.
form6.ShowModal;//показ формы Form6. Форма открывается в режиме при котором другие формы не доступны
end;
end.
unit Unit5;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, DBCtrls, ExtCtrls, DB, DBTables, Grids,
DBGrids;
type
TForm5 = class(TForm)
DataSource1: TDataSource;
DBGrid1: TDBGrid;
Table1: TTable;
Panel1: TPanel;
DBMemo1: TDBMemo;
DBMemo2: TDBMemo;
BitBtn1: TBitBtn;
Label1: TLabel;
Label2: TLabel;
procedure BitBtn1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form5: TForm5;
implementation
{$R *.dfm}
procedure TForm5.BitBtn1Click(Sender: TObject);
begin
close;//закрытие формы Form5
end;
end.
unit Unit6;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls;
type
TForm6 = class(TForm)
Memo1: TMemo;
Panel1: TPanel;
Button1: TButton;
Button2: TButton;
SaveDialog1: TSaveDialog;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form6: TForm6;
implementation
{$R *.dfm}
procedure TForm6.Button1Click(Sender: TObject);
begin
if SaveDialog1.Execute then
memo1.Lines.SaveToFile(
end;
procedure TForm6.Button2Click(Sender: TObject);
begin
Close;//Закрытие формы
end;
end.
unit Unit7;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls;
type
TForm7 = class(TForm)
OpenDialog1: TOpenDialog;
SaveDialog1: TSaveDialog;
Panel1: TPanel;
Memo1: TMemo;
Button1: TButton;
Button2: TButton;
Button3: TButton;
procedure Button3Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);