Имя поля | Тип данных | Описание |
Nazvanie | Alpha | Текст |
Bal | Short | Короткое числовое |
Kolvo | Short | Короткое числовое |
Таблица 1.4 – Структура таблицы Kurs.
Имя поля | Тип данных | Описание |
KFam | Alpha | Текст |
KName | Alpha | Текст |
KOtch | Alpha | Текст |
KSpec | Alpha | Текст |
Pred1 | Alpha | Текст |
Pred1 | Alpha | Текст |
Pred1 | Alpha | Текст |
Связи таблиц показаны на рисунке 2.1.
Рис. 2.1 Связи таблиц.
Поле Nazvanie в таблице Abitur ключевое. В нём хранятся данные о названиях специальностей. В поле Spec в таблице Abitur хранятся данные о специальности, на которую поступает конкретный абитуриент.
В данной базе данных на основе запросов составлены все отчёты. Запросы написаны в режиме SQL.
Отчёт для вывода всех абитуриентов составлен на следующем запросе:
select *
from abitur.db
Отчёт для вывода абитуриентов не сдавших документы составлен на следующем запросе:
select *
from abitur.db
WHERE (att=false) or (med=false) or (spravka=false) or (foto=false)
Отчёт для вывода абитуриентов со с/б больше 8 составлен на следующем запросе:
select *
from abitur.db
where ([RusYaz]+[RusLit]+[BelYaz]+[BelLit]+[Matem]+[Inform]+ [CHOG]+[InYaz]+[Geogr]+[Him]+[Fizkult]+[IstBel]+[Vsemirst])/13)>8
Отчёт для вывода информации о экзаменах составлен на следующем запросе:
select *
from ekzam.db
Отчёт для вывода информации о специальностях составлен на следующем запросе:
select *
from spec.db
Отчёт для вывода абитуриентов посещающих курсы составлен на следующем запросе:
select *
from kurs.db
Отчёт для вывода иногородних абитуриентов составлен на следующем запросе:
select *
from abitur.db
where City Not Like "Минск"
Отчёт для вывода поступивших абитуриентов составлен на следующем запросе:
select *
from abitur.db
where postup=true
order by spec
Выходными документами в данной программе являются отчёты, построенные на основе запросов. Предусмотренные в программе отчёты приведены в приложении 2.
Тесты на использование программы показали, что для корректной работы программы необходимо вводить данные согласно ниже приведённым инструкциям.
При использовании программы в поля с числовыми значениями (оценки абитуриентов) необходимо вводить только цифры, другая информация не вводится. В поля с логическими данными (отметка о поступлении и поданные документы) нужно вводить только слова “True” или “False”, при вводе другой информации программа выдаёт сообщение об ошибке и её необходимо перезапустить.
Программа предназначена для учёта абитуриентов в средних специальных учебных заведениях с тремя вступительными экзаменами и общепринятым набором приёма документов (аттестат (диплом), мед. справка, справка о семейном положении, фото).
Также назначением программы является вывод следующих отчётов:
- все абитуриенты;
- абитуриенты, не сдавшие документы;
- абитуриенты со средним балом больше восьми;
- информация о экзаменах;
- информация о специальностях;
- абитуриенты, посещающие курсы;
- иногородние абитуриенты;
- поступившие;
Для запуска программы необходимо запустить файл Abitur.exe, который находится в каталоге программы. При запуске программы появится окно, приведённое на рисунке 3.1.
Рис. 3.1 Окно программы при запуске
Для добавления записей необходимо нажать кнопку добавить запись (все кнопки имеют подсказки при наведении на них курсора), для удаления записей, необходимо нажать на кнопку удалить запись. Для изменения данных нужно сделать двойной щелчок левой кнопки мыши на необходимой ячейке, вписать новые данные и нажать клавишу ввод на клавиатуре.
При нажатии на кнопку отчёты появляется окно программы «Отчёты» (Рис 3.2), предназначенное для вывода отчётов.
Рис 3.2 Окно программы «Отчёты»
В окне программы «Отчёты» нужно выбрать нужный отчёт, нажать кнопку вывод, и в появившимся окне нажать кнопку OK.
Для выхода из программы можно нажать кнопку Close или меню файл -> выход или закрыть как стандартное окно Windows.
Для корректной работы программы в ячейки с числовыми данными нужно вводить только числовые значения.
Для вывода справки в программе нажмите F1.
В программе вместо логических «Да» и «Нет» используются “True” и “False” соответственно.
Для установки программы на компьютер, необходимо скопировать всё содержимое каталога с программой.
В ходе выполнения работы были закреплены знания по созданию и проектированию баз данных в среде BorlandDelphi 7, а также приобретены практические навыки в создании программных приложений на данном языке программирования.
Результатом проделанной работы является база данных «Приёмная комиссия», выполняющая все необходимые задачи данного курсового проекта.
Листинг программы
Файл fmAbiturU:
unit fmAbiturU;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, StdCtrls, Buttons, DBCtrls, Grids, DBGrids, Menus;
type
TfmAbitur = class(TForm)
Panel1: TPanel;
Panel2: TPanel;
Splitter1: TSplitter;
Panel3: TPanel;
DBGrid1: TDBGrid;
DBGrid2: TDBGrid;
DBNavigator1: TDBNavigator;
BitBtn1: TBitBtn;
Button1: TButton;
MainMenu1: TMainMenu;
N1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
N4: TMenuItem;
N5: TMenuItem;
procedure Button1Click(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure N4Click(Sender: TObject);
procedure N5Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
fmAbitur: TfmAbitur;
implementation
uses dmAbiturU, Unit1, Unit2, Unit3;
{$R *.dfm}
procedure TfmAbitur.Button1Click(Sender: TObject);
begin
Otch.Visible:=true;
Otch.Enabled:=true;
end;
procedure TfmAbitur.N2Click(Sender: TObject);
begin
fmAbitur.Close;
end;
procedure TfmAbitur.N4Click(Sender: TObject);
begin
Form2.Visible:=true;
Form2.Enabled:=true;
end;
procedure TfmAbitur.N5Click(Sender: TObject);
begin
Form3.Visible:=true;
Form3.Enabled:=true;
end;
end.
Файл dmAbiturU:
unit dmAbiturU;
interface
uses
SysUtils, Classes, DB, DBTables;
type
TDM = class(TDataModule)
Database1: TDatabase;
Spec: TTable;
DataSource1: TDataSource;
Abitur: TTable;
DataSource2: TDataSource;
private
{ Private declarations }
public
{ Public declarations }
end;
var
DM: TDM;
implementation
uses fmAbiturU;
{$R *.dfm}
end.
Файл Unit1:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, RpCon, RpConDS, RpConBDE, RpDefine, RpRave, DB,
DBTables, Buttons;
type
TOtch = class(TForm)
Query1: TQuery;
RvProject1: TRvProject;
RvQueryConnection1: TRvQueryConnection;
Button1: TButton;
Button2: TButton;
Label1: TLabel;
Label2: TLabel;
Query2: TQuery;
RvProject2: TRvProject;
RvQueryConnection2: TRvQueryConnection;
Button3: TButton;
Label3: TLabel;
Button4: TButton;
Query3: TQuery;
RvProject3: TRvProject;
RvQueryConnection3: TRvQueryConnection;
Label4: TLabel;
Button5: TButton;
Query4: TQuery;
RvProject4: TRvProject;
RvQueryConnection4: TRvQueryConnection;
Label5: TLabel;
Button6: TButton;
Query5: TQuery;
RvProject5: TRvProject;
RvQueryConnection5: TRvQueryConnection;
Label6: TLabel;
Label7: TLabel;
Button7: TButton;
Query6: TQuery;
RvProject6: TRvProject;
RvQueryConnection6: TRvQueryConnection;
Label8: TLabel;
Button8: TButton;
Query7: TQuery;
RvProject7: TRvProject;
RvQueryConnection7: TRvQueryConnection;
Label9: TLabel;
Button9: TButton;
Query8: TQuery;
RvProject8: TRvProject;
RvQueryConnection8: TRvQueryConnection;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure FormClose(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure Button6Click(Sender: TObject);
procedure Button7Click(Sender: TObject);
procedure Button8Click(Sender: TObject);
procedure Button9Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Otch: TOtch;
implementation
uses fmAbiturU;
{$R *.dfm}
procedure TOtch.Button1Click(Sender: TObject);
begin
RvProject1.Execute;
end;
procedure TOtch.Button2Click(Sender: TObject);
begin
Otch.close;
end;
procedure TOtch.FormClose(Sender: TObject);
begin
fmAbitur.enabled:=true;
end;
procedure TOtch.Button3Click(Sender: TObject);
begin
RvProject2.Execute;
end;
procedure TOtch.Button4Click(Sender: TObject);
begin
RvProject3.Execute;
end;
procedure TOtch.Button5Click(Sender: TObject);
begin
RvProject4.Execute;
end;
procedure TOtch.Button6Click(Sender: TObject);
begin
RvProject5.Execute;
end;
procedure TOtch.Button7Click(Sender: TObject);
begin
RvProject6.Execute;
end;
procedure TOtch.Button8Click(Sender: TObject);
begin
RvProject7.Execute;
end;
procedure TOtch.Button9Click(Sender: TObject);
begin
RvProject8.Execute;
end;
end.
Файл Unit2:
unit Unit2;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons;
type
TForm2 = class(TForm)
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
BitBtn1: TBitBtn;
Label5: TLabel;
Label6: TLabel;
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form2: TForm2;
implementation
{$R *.dfm}
end.
Файл Unit3:
unit Unit3;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons;
type
TForm3 = class(TForm)
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
BitBtn1: TBitBtn;
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form3: TForm3;
implementation
{$R *.dfm}
end.
Список использованных источников
1. Культин Н.Б. Delphi в задачах и примерах. – СПб.: БХВ-Петербург, 2004. – 288 с.: ил.
2. Шкрыль А.А. Разработка клиент-серверных приложений в Delphi. – СПб.: БХВ-Петербург, 2006.
3. www.delphikingdom.com