Имя поля
|
Тип данных
|
Размерность
|
1
|
2
|
3
|
|
T_status
|
|
id_vyd
|
Счетчик
|
Длинное целое
|
id_chit
|
Числовой
|
Длинное целое
|
kniga
|
Числовой
|
Длинное целое
|
T_chitatel
|
id_chit
|
Счетчик
|
Длинное целое
|
Spec
|
Текстовый
|
10
|
nomer_gr
|
Числовой
|
Длинное целое
|
T_form_obuch
|
id_form
|
Счетчик
|
Длинное целое
|
nazv
|
Текстовый
|
10
|
T_group
|
id_group
|
Числовой
|
Длинное целое
|
Spec
|
Текстовый
|
nomer_gr
|
Числовой
|
Длинное целое
|
T_knigi
|
Id_knigi
|
Числовой
|
Длинное целое
|
Nazvanie
|
Текстовый
|
20
|
Avtor
|
Текстовый
|
15
|
god_izdaniya
|
Числовой
|
Целое
|
Zhanr
|
Текстовый
|
10
|
|
t_status
|
|
id_statusa
|
Счетчик
|
Целое
|
status
|
Текстовый
|
10
|
t_vidacha
|
id_vid
|
Счетчик
|
Длинное целое
|
Kniga
|
Текстовый
|
10
|
Chitatel
|
Текстовый
|
10
|
data_vidachi
|
Дата/Время
|
Краткий формат
даты
|
data_sdachi
|
Дата/Время
|
Краткий формат
даты
|
fact_data_sdachi
|
Дата/Время
|
Краткий формат
даты
|
shtraf
|
Числовой
|
Длинное целое
|
kol_knig
|
Числовой
|
Длинное целое
|
t_Zhanr
|
id_zhanra
|
Счетчик
|
Длинное целое
|
Nazvanie
|
Текстовый
|
10
|
3. Разработка
программной среды
3.1
Разработка интерфейса пользователя
Когда модель базы данных разработана, т.е. состав сущностей,
связи между ними, поля-характеристики, определены первичные и внешние ключи,
необходимо создать презентационную логику системы. Все действия, входящие в
этот процесс можно разделить на пять основных групп:
создание таблиц по графическому представлению информационной
системы.
алгоритм работы программной среды. На этом этапе определяется
состав программных модулей, выполняемые ими функции и связи между ними.
разработка интерфейса пользователя,
создание запросов пользователя,
создание форм для ввода и просмотра информации.
3.2 Работа с
данными
Работа пользователя с данным и таблицами осуществляется при
заполнении форм и вкладок, путем прямого ввода данных в связанные с базой поля.
в Моей системе данные хранятся в восьми основных таблицах и двух
вспомогательных. Вкладки ввода данных состоит из полей связанных с базой,
кнопками добавления и удаления. кроме простых текстовых полей на форме
заполнения данных, располагаются и выпадающие списки. Также данные можно
вывести в отчеты.
4.
Документация пользователя
4.1 Системные
требования
Комплектации вычислительной техники должна
быть не ниже, чем следующие параметры:
процессор Intel или AMD тактовой частотой
1000 МНг,
графический адаптер SVGA,
расширение экрана минимум 800 на 600
пикселей,
мышь,
для хранения информации, используемой в
системе требуется
не менее 9 Мб на жестком диске.
Требования к программным средствам:
ЭВМ должна работать с операционными
системами семействаXP, Vista, Windows 7,требуется установленный пакет Microsoft
Office 2007.
4.2
Инструкция пользователя
Для запуска приложения необходимо
произвести двойной щелчок мышью по файлу "Библиотека вуза. exe", после чего перед
пользователем появится форма для входа в систему, которая представлена на
рисунке 4.
Рисунок 3 - Главная форма
На данной форме производится переход по
трем основным формам. "АИС библиотеки вуза" имеет два режима работы:
Администратор, имеет полный доступ и более
удобный переход к формам редактирования данных;
Пользователь, имеет доступ к основным
таблицам,
Кнопка "Читатели" позволяет
перейти на форму "Читатели" где ведется учет читателей библиотеки;
Кнопка "Книги", позволяет
перейти на форму для редактирования книг хранимых в библиотеке.
Форма "Читатели", представлена
на рисунке 4.
Форма "Книги", представлена на
рисунке 5.
Форма "Выдача книг",
представлена на рисунке 6.
Рисунок 4 - Форма "Читатели"
Данная форма позволяет добавить читателя, при выборе пункта
меню "Добавление", также могут быть произведены сортировки по выбору
пункта меню "Сортировки", по выбору пункта меню "Запросы"
возможно, вывести два запроса:
студенты по группе;
список преподавателей;
Рисунок 5 - Форма "Книги"
Данная форма позволяет добавить книги, при выборе пункта меню
"Сортировка" могут быть произведены сортировки, добавление книги
производится выбором пункта меню "Добавление книги".
Рисунок 6 - Форма "Выдача книг"
Данная форма позволяет произвести выдачу книги студенту, при
выборе пункта меню "Сортировка" могут быть произведены сортировки, по
выборки пункта меню "Добавление" производится выдача книг читателю,
пункт меню "Запросы" позволяет вывести два запроса:
Список должников;
Студенты, которые брали книгу.
Рисунок 7 - Форма для добавления новой группы
Данная форма позволяет произвести добавление групп, по нажатию
на кнопку "Добавление" производится добавление новой записи в
таблицу, по нажатию на кнопку "Удалить" производится удаление
выбранной в таблице записи при условии ввода правильного пароля.
Рисунок 8 - Форма добавления жанра
Данная форма позволяет производить добавление жанра для книг,
по нажатию на кнопку "Добавить" производится добавление нового жанра,
по нажатию на кнопку "Удалить" производится удаление выбранной в
таблице записи при условии ввода правильного пароля.
Заключение
Разработанная автоматизированная информационная система
позволяет предоставлять следующие возможности:
информацию о читателях,
информацию о книгах,
информацию о выдаче книг студентам,
информацию о задержках сдачи книг в библиотеку,
начисление штрафов за задержку сдачи книги,
отслеживание оплаты штрафов за просрочку книг,
составление и печать отчетов,
ввод, хранение и обработка информации.
Литература
1. ГОСТ
2.105-95. Единая система конструкторской документации. Общие требования к
текстовым документам. - Введен в действие постановлением Госстандарта РФ от 8
августа 2008 г. N 426.
2. ГОСТ
2.301-68. Единая система конструкторской документации. Форматы. - Утв.
Госстандартом СССР в декабре 2008 г.
. Крёнке,
Д.А., Теория и практика построения баз данных. З-е изд. / Д.А. Крёнке - СПб.:
Питер, 2006 - 859 с.: ил.
. Маленко,
Д.Ю., Новые возможности для разработчиков SQL Server / Д.Ю. Маленко - М.:
СОЛОН-Пресс, 2006. - 208с.: ил.
. Гурвиц,
Г.А., Microsoft Access 2009. Разработка приложений на реальном примере
/ Г.А. Гурвиц - СПб.: БХВ-Петербург, 2007. - 672 с.: ил.
Приложения
Приложение А
(Обязательное)
Выходная документация
Выходной документацией в данной программе
является отчеты, приведенные ниже:
Рисунок А1 - Информация о студентах в определенной группе
Рисунок А2 - Информация о всех преподавателях
Рисунок А3 - Список всех должников с не оплаченным штрафом
Рисунок А4 - Список студентов, которые брали определенную
книгу
Приложение Б
(Справочное)
Листинг программы
unit Unit1;
interface, Messages, SysUtils, Variants, Classes,
Graphics, Controls, Forms,, StdCtrls, Menus;= class (TForm): TButton;:
TButton;: TButton;: TMainMenu;
N1: TMenuItem;: TMenuItem;: TMenuItem;:
TMenuItem;: TMenuItem;: TMenuItem;
N7: TMenuItem;: TMenuItem;Button1Click (Sender:
TObject);Button2Click (Sender: TObject);Button3Click (Sender: TObject);N1Click
(Sender: TObject);N4Click (Sender: TObject);Button4Click (Sender: TObject);N3Click
(Sender: TObject);N5Click (Sender: TObject);N6Click (Sender: TObject);N7Click
(Sender: TObject);N8Click (Sender: TObject);
{ Private declarations }
{$R *. dfm}TForm1. Button1Click (Sender:
TObject);. ShowModal;;TForm1. Button2Click (Sender: TObject);.
ShowModal;;TForm1. Button3Click (Sender: TObject);. ShowModal;;TForm1.
Button4Click (Sender: TObject);. show;;TForm1. N1Click (Sender: TObject);l:
string; p: integer; c,c1: Boolean;: =false;: =false;: =InputBox ('Логин','Введите логин: ','');:
=strtoint (InputBox ('Пароль','Введите пароль:
',''));l='admin' then c: =true else ShowMessage ('Не правильный логин. ');inttostr
(p) ='123456' then c1: =true else ShowMessage ('Не верный пароль');(c=true)
and (c1=true) then N2. Visible: =true;;TForm1. N3Click (Sender: TObject);.
ShowModal;;TForm1. N4Click (Sender: TObject);. Visible: =false;. Close;;TForm1.
N5Click (Sender: TObject);. ShowModal;;TForm1. N6Click (Sender: TObject);.
ShowModal;;TForm1. N7Click (Sender: TObject);. ShowModal;;TForm1. N8Click
(Sender: TObject);. showmodal;;.Unit2;, Classes, DB, ADODB;= class
(TDataModule): TADOConnection;_chitatel: TADOTable;_knigi: TADOTable;:
TDataSource;: TDataSource;_chitatelid_chit: TAutoIncField;_chitatelFio:
TWideStringField;_chitatelid_gr: TIntegerField;_chitatelid_form:
TIntegerField;_chitatelstatus: TIntegerField;_group: TADOTable;_form:
TADOTable;_status: TADOTable;: TDataSource;: TDataSource;:
TDataSource;_chitatelgroup: TStringField;_chitatelform:
TStringField;_chitatelstatus1: TStringField;_knigiId_knigi:
TAutoIncField;_kniginazvanie: TWideStringField;_knigiavtor:
TWideStringField;_knigigod_izdaniya: TWideStringField;_knigiZhanr:
TIntegerField;_zhanr: TADOTable;: TDataSource;_knigizhanr2:
TStringField;_groupid_group: TAutoIncField;_groupspec:
TWideStringField;_groupnomer_gr: TIntegerField;_zhanrid_zhanra:
TAutoIncField;_zhanrnazvanie: TWideStringField;_vidacha: TADOTable;:
TDataSource;_vidachaid_vid: TAutoIncField;_vidachachitatel:
TIntegerField;_vidachadata_vidachi: TDateTimeField;_vidachadata_sdachi:
TDateTimeField;_vidachafact_data_sdachi: TDateTimeField;_vidachashtraf:
TBCDField;_vidachakol_knig: TIntegerField;_vidachachitatel1: TStringField;:
TADOQuery;: TDataSource;id_zhanra: TAutoIncField;nazvanie: TWideStringField;:
TADOQuery;: TDataSource;_vidachaoplata_shtrafa: TBooleanField;: TADOQuery;:
TDataSource;: TADOQuery;: TDataSource;_vidachakniga: TIntegerField;_chit_knig:
TADOTable;_knig: TDataSource;Id_knigi: TAutoIncField;_chit_knigchitat:
TStringField;_chit_knigkinga1: TStringField;_chit_knigid_vyd:
TAutoIncField;_chit_knigid_chit: TIntegerField;_chit_knigkniga:
TIntegerField;_formid_form: TAutoIncField;_formnazv: TWideStringField;_statusid_statusa:
TAutoIncField;_statusstatus: TWideStringField;: TADOQuery;: TDataSource;:
TADOQuery;: TDataSource;
{ Private declarations }
{ Public declarations };: TDataModule2;Unit3,
Unit1, Unit4, Unit5, Unit6, Unit7, Unit8, Unit9;
{$R *. dfm}.Unit3;, Messages, SysUtils, Variants,
Classes, Graphics, Controls, Forms,, ExtCtrls, DBCtrls, Grids, DBGrids, Menus,
StdCtrls;= class (TForm): TDBGrid;: TMainMenu;: TMenuItem;
N2: TMenuItem;: TMenuItem;: TLabel;: TLabel;:
TLabel;: TLabel;: TEdit;: TDBLookupComboBox;: TDBLookupComboBox;:
TDBLookupComboBox;: TButton;
Button2: TButton;: TMenuItem;: TButton;
N4: TMenuItem;: TMenuItem;: TMenuItem;
C1: TMenuItem;N6Click (Sender:
TObject);Button1Click (Sender: TObject);Button2Click (Sender: TObject);N5Click
(Sender: TObject);N2Click (Sender: TObject);N3Click (Sender: TObject);N7Click
(Sender: TObject);Button3Click (Sender: TObject);N4Click (Sender:
TObject);C1Click (Sender: TObject);
{ Private declarations }
{ Public declarations };: TForm3;Unit1, Unit2,
Unit4, Unit5, DB, ADODB, Unit8;
{$R *. dfm}TForm3. N6Click (Sender: TObject);s:
string;. Caption: ='Студенты в группе';
s: =InputBox ('Ввод','Введите номер группы: ','');
if s<>'' then beginDataModule2. Q2 do
begin: =false;. Clear;. Add ('SELECT T_chitatel. id_chit, T_chitatel. Fio,
T_group. spec, T_group. nomer_gr');. Add ('FROM T_group INNER JOIN
(T_form_obuch INNER JOIN T_chitatel ON T_form_obuch. id_form = T_chitatel.
id_form) ON T_group. id_group = T_chitatel. id_gr');. Add ('WHERE ( ( (T_group.
nomer_gr) ='+s+')); ');: =true;;. DBGrid1. DataSource: =DataModule2. DQ2;.
DBGrid1. Columns [0]. visible: =false;. DBGrid1. Columns [1]. Width: =100;.
DBGrid1. Columns [2]. Width: =100;. DBGrid1. Columns [3]. Width: =50;. Label1.
Caption: ='1';. ShowModal;else ShowMessage ('Не введен номер группы');;TForm3.
N7Click (Sender: TObject);. t_chitatel. Sort: ='id_form';;TForm3. Button1Click
(Sender: TObject);DataModule2. t_chitatel do begin;('Fio'). AsString: =edit1.
Text;('id_gr'). AsInteger: =DBLookupComboBox1. KeyValue;('id_form'). AsInteger:
=DBLookupComboBox2. KeyValue;('status'). AsInteger: =DBLookupComboBox3.
KeyValue;;;. Visible: =false;
label2. Visible: =false;. Visible: =false;.
Visible: =false;. Visible: =false;. Visible: =false;. Visible: =false;.
Visible: =false;. Visible: =false;. Visible: =false;. Visible: =false;;TForm3.
Button2Click (Sender: TObject);x: string;
begin('Для операции требуется права администратора! ');:
=InputBox ('Вход','Введите пароль','');
if x='qweasd123asd' then DataModule2. t_chitatel.
Delete;;TForm3. Button3Click (Sender: TObject);. ShowModal;;TForm3. N2Click
(Sender: TObject);. t_chitatel. Sort: ='Fio';;TForm3. N3Click (Sender:
TObject);. t_chitatel. Sort: ='id_gr';;TForm3. N4Click (Sender: TObject);.
Visible: =true;. Visible: =true;. Visible: =true;. Visible: =true;. Visible:
=true;. Visible: =true;. Visible: =true;. Visible: =true;. Visible: =true;.
Visible: =true;. Visible: =true;;TForm3. N5Click (Sender: TObject);. Visible:
=true;. Visible: =true;. Visible: =true;. Visible: =true;. Visible: =true;.
Visible: =true;. Visible: =true;. Visible: =true;. Visible: =true;. Visible:
=true;. Visible: =true;;TForm3. C1Click (Sender: TObject);DataModule2. Q5 do
begin: =false;. Clear;. Add ('SELECT T_chitatel. id_chit, T_chitatel. Fio,
T_status. status');. Add ('FROM T_status INNER JOIN T_chitatel ON T_status.
id_statusa = T_chitatel. status');. Add ('WHERE ( ( (T_status. status) ="Преподаватель")); ');:
=true;;. DBGrid1. DataSource: =DataModule2. DQ5;. DBGrid1. Columns [0].
visible: =false;. DBGrid1. Columns [1]. Width: =100;. DBGrid1. Columns [2].
Width: =100;. Label1. Caption: ='2';. Caption: ='Список преподавателей';. ShowModal;;.Unit4;, Messages, SysUtils,
Variants, Classes, Graphics, Controls, Forms,, ExtCtrls, DBCtrls, Grids,
DBGrids, StdCtrls, Menus;= class (TForm): TDBGrid;: TEdit;: TLabel;: TLabel;:
TEdit;: TEdit;: TLabel;: TLabel;: TDBLookupComboBox;: TButton;: TButton;:
TMainMenu;
N1: TMenuItem;: TMenuItem;: TMenuItem;
N4: TMenuItem;: TButton;: TMenuItem;:
TMenuItem;N4Click (Sender: TObject);Button3Click (Sender: TObject);Button1Click
(Sender: TObject);N2Click (Sender: TObject);N3Click (Sender: TObject);N5Click
(Sender: TObject);N6Click (Sender: TObject);
{ Private declarations }
{ Public declarations };: TForm4;Unit1, Unit2,
Unit3, DB, Unit6;
{$R *. dfm}TForm4. Button1Click (Sender:
TObject);DataModule2. t_knigi do begin;('nazvanie'). AsString: =edit1.
Text;('avtor'). AsString: =edit2. Text;('god_izdaniya'). AsString: =edit3.
Text;('zhanr'). AsInteger: =DBLookupComboBox1. KeyValue;;;. Visible: =false;
label2. Visible: =false;. Visible: =false;
label4. Visible: =false;. Visible: =false;.
Visible: =false;. Visible: =false;. Visible: =false;. Visible: =false;.
Visible: =false;. Visible: =false;. Clear;. Clear;. Clear;;TForm4. Button3Click
(Sender: TObject);. ShowModal;;TForm4. N2Click (Sender: TObject);. t_knigi.
Sort: ='nazvanie';;TForm4. N3Click (Sender: TObject);. t_knigi. Sort:
='avtor';;TForm4. N4Click (Sender: TObject);. Visible: =true;. Visible: =true;.
Visible: =true;. Visible: =true;. Visible: =true;. Visible: =true;. Visible:
=true;. Visible: =true;. Visible: =true;. Visible: =true;. Visible:
=true;;TForm4. N5Click (Sender: TObject);. t_knigi. Sort:
='god_izdaniya';;TForm4. N6Click (Sender: TObject);. t_knigi. Sort:
='zhanr';;.Unit5;, Messages, SysUtils, Variants, Classes, Graphics, Controls,
Forms,, StdCtrls, Grids, DBGrids;= class (TForm): TDBGrid;: TEdit;: TEdit;:
TLabel;: TLabel;: TButton;: TButton;Button1Click (Sender: TObject);Button2Click
(Sender: TObject);
{ Private declarations }
{ Public declarations };: TForm5;Unit1, Unit2,
Unit3, Unit4;
{$R *. dfm}TForm5. Button1Click (Sender:
TObject);(edit1. Text<>'') and (edit2. Text<>'') then begin.
t_group. Insert;. t_group. FieldByName ('spec'). AsString: =edit1. Text;.
t_group. FieldByName ('nomer_gr'). AsInteger: =strtoint (edit2. Text);.
t_group. Post;. Clear;. Clear;else ShowMessage ('Поля не могут быть пустыми! ');;TForm5.
Button2Click (Sender: TObject);
var x: string;('Для операции требуется права администратора!
');: =InputBox ('Вход','Введите пароль','');
if x='qweasd123asd' then DataModule2. t_group.
Delete;;.Unit6;, Messages, SysUtils, Variants, Classes, Graphics, Controls,
Forms,, Grids, DBGrids, StdCtrls;= class (TForm): TDBGrid;: TEdit;: TButton;:
TLabel;: TButton;Button1Click (Sender: TObject);Button2Click (Sender: TObject);
{ Private declarations }
{ Public declarations };: TForm6;Unit1, Unit2,
Unit3, Unit4, Unit5, DB;
{$R *. dfm}TForm6. Button1Click (Sender:
TObject);datamodule2. t_zhanr do begin;edit1. text<>'' then FieldByName
('nazvanie'). asstring: =edit1. Text else ShowMessage ('Название не может быть
пустым! ');
post;
end;. Clear;;TForm6. Button2Click (Sender:
TObject);. t_zhanr. Delete;;.Unit7;, Messages, SysUtils, Variants, Classes,
Graphics, Controls, Forms,, Grids, DBGrids, StdCtrls, DBCtrls, Menus;= class
(TForm): TDBGrid;: TDBLookupComboBox;: TEdit;: TEdit;: TButton;: TButton;:
TLabel;: TLabel;: TLabel;: TLabel;: TDBLookupComboBox;: TDBGrid;: TMainMenu;:
TMenuItem;: TMenuItem;: TButton;: TMenuItem;: TMenuItem;: TStringGrid;:
TMenuItem;Button1Click (Sender: TObject);DBLookupComboBox2Click (Sender:
TObject);DBGrid2CellClick (Column: TColumn);Button2Click (Sender:
TObject);N2Click (Sender: TObject);Button3Click (Sender: TObject);N4Click (Sender:
TObject);N5Click (Sender: TObject);FormCreate (Sender: TObject);
{ Private declarations }
{ Public declarations };: TForm7;,l:
integer;Unit1, Unit2, Unit3, Unit4, Unit5, Unit6, DB, ADODB, Unit8, Unit9;
{$R *.
dfm}TForm7. Button1Click (Sender: TObject);g,m,d,g1,m1,d1: word;
datevd,datesd,datefc: TDateTime; s,sh, i: integer; gg: string;: =strtodate
(edit1. Text);: =strtodate (edit3. Text);(datevd,g,m,d);(datefc,g1,m1,d1);:
=d+10;: =EncodeDate (g,m,d);: =d1-d;s>0 then sh: =s*15*StringGrid1.
RowCount-1;s=0 then sh: =0;s<0 then sh: =0;DataModule2. t_vidacha do
begin;('chitatel'). AsInteger: =DBLookupComboBox1. KeyValue;('data_vidachi').
AsDateTime: =strtodate (edit1. text);('data_sdachi'). AsDateTime:
=datesd;('fact_data_sdachi'). AsDateTime: =strtodate (edit3. Text);('shtraf').
AsInteger: =sh;('kol_knig'). AsInteger: =StringGrid1. RowCount-1;sh=0 then
FieldByName ('oplata_shtrafa'). AsBoolean: =true else FieldByName
('oplata_shtrafa'). AsBoolean: =false;;;I: = 1 to StringGrid1. RowCount-1 do
beginDataModule2. t_chit_knig do begin;('id_chit'). AsInteger:
=DBLookupComboBox1. KeyValue;('kniga'). Asinteger: =strtoint (stringGrid1.
cells [1,1]);;;;. Visible: =false;
Label2.
Visible: =false;. Visible: =false;. Visible: =false;. Visible: =false;.
Visible: =false;. Visible: =false;. Visible: =false;. Visible: =false;.
Visible: =false;
button1.
visible: =false;. Visible: =false;. Visible: =false;. Show;. Caption: ='Читатели книг';;TForm7. Button2Click
(Sender: TObject);
var x:
string;('Для операции требуется права администратора! ');: =InputBox
('Вход','Введите пароль','');
if
x='123456' then DataModule2. t_vidacha. Delete;;TForm7. Button3Click (Sender:
TObject);. Text: =datetostr (date);. Text: =datetostr (date);;TForm7.
DBGrid2CellClick (Column: TColumn);
var
k,b,a: integer;
l:
=l+1;. RowCount: =l+1;. cells [0,l]: =DataModule2. Q1. FieldByName
('nazvanie'). AsString;. cells [1,l]: =inttostr (DataModule2. Q1. FieldByName
('Id_knigi'). Asinteger);;TForm7. DBLookupComboBox2Click (Sender:
TObject);DataModule2. Q1 do begin. clear;: =false;. Add ('SELECT T_Zhanr.
id_zhanra, T_knigi. Id_knigi, T_knigi. nazvanie');
sql. Add
('FROM T_Zhanr INNER JOIN T_knigi ON T_Zhanr. id_zhanra = T_knigi. Zhanr');.
Add ('WHERE ( ( (T_Zhanr. id_zhanra) ='+inttostr (DBLookupComboBox2. KeyValue) +')) ');: =true;;.
Columns [0]. Visible: =false;. Columns [1]. Visible: =false;;TForm7. FormCreate
(Sender: TObject);: =0;. ColWidths [0]: =100;;TForm7. N2Click (Sender:
TObject);. Visible: =true;. Visible: =true;. Visible: =true;. Visible: =true;.
Visible: =true;. Visible: =true;. Visible: =true;. Visible: =true;. Visible:
=true;. Visible: =true;. visible: =true;. Visible: =true;. Visible:
=true;;TForm7. N4Click (Sender: TObject);s: string;. Caption: ='Список должников';DataModule2. Q5 do begin: =false;.
Clear;. Add ('SELECT T_chitatel. Fio, T_knigi. nazvanie, T_vidacha. shtraf,
T_vidacha. oplata_shtrafa');. Add ('FROM T_knigi INNER JOIN (T_chitatel INNER
JOIN T_vidacha ON T_chitatel. id_chit = T_vidacha. chitatel) ON T_knigi.
Id_knigi = T_vidacha. kniga');. Add ('WHERE ( ( (T_vidacha. shtraf) >0) AND
( (T_vidacha. oplata_shtrafa) =False)); ');: =true;;. Label1. Caption: ='3';.
DBGrid1. DataSource: =DataModule2. DQ5;. DBGrid1. Columns [0]. Width: =100;.
DBGrid1. Columns [1]. Width: =100;. DBGrid1. Columns [2]. Width: =50;. DBGrid1.
Columns [3]. Width: =50;. ShowModal;;TForm7. N5Click (Sender: TObject);s:
string;. Caption: ='Список студентов которые брали книгу';:
=InputBox ('Ввод','Введите id книги:
','');DataModule2. Q7 do begin: =false;. Clear;. Add ('SELECT T_chitatel. Fio, T_knigi. nazvanie, T_knigi. Id_knigi');. Add ('FROM
T_chitatel INNER JOIN (T_knigi INNER JOIN chit_knig ON T_knigi. Id_knigi =
chit_knig. kniga) ON T_chitatel. id_chit = chit_knig. id_chit');. Add ('WHERE (
( (T_knigi. Id_knigi)
='+s+')); ');
active:
=true;;. label1. Caption: ='4';. DBGrid1. DataSource: =DataModule2. DQ7;.
DBGrid1. Columns [0]. Width: =100;. DBGrid1. Columns [1]. Width: =100;.
DBGrid1. Columns [2]. visible: =false;. ShowModal;;.Unit8;, Messages, SysUtils,
Variants, Classes, Graphics, Controls, Forms,, Grids, DBGrids, StdCtrls,
comobj;= class (TForm): TDBGrid;: TButton;: TLabel;Button1Click (Sender:
TObject);
{
Private declarations }
{
Public declarations };: TForm8;: variant;: integer;Unit1, Unit2, Unit3, Unit4, Unit5,
Unit6, Unit7;
{$R *.
dfm}TForm8. Button1Click (Sender: TObject);label1. Caption='1' then begin:
=CreateOleObject ('Excel. Application');. workbooks. add (ExtractFilePath
(Application. ExeName) +'zapr. xlsx');. WorkBooks [1]. WorkSheets [1]. cells [1,2].
value: =Form8. Caption;. WorkBooks [1]. WorkSheets [1]. cells [3,2]. value: ='Группа: '+inttostr (DataModule2. Q2. FieldByName
('nomer_gr'). AsVariant);. WorkBooks [1]. WorkSheets [1]. cells [3,3]. value:
='Специальность: '+DataModule2. Q2. FieldByName
('spec'). AsVariant;. WorkBooks [1]. WorkSheets [1]. cells [5,1]. value: ='№';.
WorkBooks [1]. WorkSheets [1]. cells [5,2]. value: ='Фамилия';. Q2. first;i: =1 to DataModule2. Q2.
RecordCount do begin. WorkBooks [1]. WorkSheets [1]. cells [i+5,1]. value: =i;.
WorkBooks [1]. WorkSheets [1]. cells [i+5,2]. value: =DataModule2. Q2.
FieldByName ('fio'). AsVariant;. Q2. next;;. Visible: = true;;label1.
Caption='2' then begin: =CreateOleObject ('Excel. Application');. workbooks.
add (ExtractFilePath (Application. ExeName) +'zapr. xlsx');. WorkBooks [1].
WorkSheets [1]. cells [1,2]. value: =Form8. Caption;. WorkBooks [1]. WorkSheets
[1]. cells [2,1]. value: ='№';. WorkBooks [1]. WorkSheets [1]. cells [2,2].
value: ='Фамилия';. Q5. first;i: =1 to
DataModule2. Q5. RecordCount do begin. WorkBooks [1]. WorkSheets [1]. cells
[i+2,1]. value: =i;. WorkBooks [1]. WorkSheets [1]. cells [i+2,2]. value:
=DataModule2. Q5. FieldByName ('fio'). AsVariant;. Q5. next;;. Visible: =
true;;label1. Caption='3' then begin: =CreateOleObject ('Excel. Application');.
workbooks. add (ExtractFilePath (Application. ExeName) +'zapr. xlsx');.
WorkBooks [1]. WorkSheets [1]. cells [1,2]. value: =Form8. Caption;. WorkBooks
[1]. WorkSheets [1]. cells [2,1]. value: ='№';. WorkBooks [1]. WorkSheets [1].
cells [2,2]. value: ='Фамилия';. WorkBooks [1]. WorkSheets
[1]. cells [2,3]. value: ='Название книги';.
WorkBooks [1]. WorkSheets [1]. cells [2,4]. value: ='Штраф';. WorkBooks [1]. WorkSheets [1]. cells
[2,5]. value: ='Оплачено? ';. Q5. first;i: =1 to
DataModule2. Q5. RecordCount do begin. WorkBooks [1]. WorkSheets [1]. cells
[i+2,1]. value: =i;. WorkBooks [1]. WorkSheets [1]. cells [i+2,2]. value:
=DataModule2. Q5. FieldByName ('fio'). AsVariant;. WorkBooks [1]. WorkSheets
[1]. cells [i+2,3]. value: =DataModule2. Q5. FieldByName ('nazvanie').
AsVariant;. WorkBooks [1]. WorkSheets [1]. cells [i+2,4]. value: =DataModule2.
Q5. FieldByName ('shtraf'). AsVariant;. WorkBooks [1]. WorkSheets [1]. cells
[i+2,5]. value: =DataModule2. Q5. FieldByName ('oplata_shtrafa'). AsVariant;.
Q5. next;;. Visible: = true;;label1. Caption='4' then begin: =CreateOleObject
('Excel. Application');. workbooks. add (ExtractFilePath (Application. ExeName)
+'zapr. xlsx');. WorkBooks [1]. WorkSheets [1]. cells [1,2]. value: =Form8. Caption;.
WorkBooks [1]. WorkSheets [1]. cells [2,1]. value: ='№';. WorkBooks [1].
WorkSheets [1]. cells [2,2]. value: ='Фамилия';.
WorkBooks [1]. WorkSheets [1]. cells [2,3]. value: ='Название книги: '+DataModule2. Q7.
FieldByName ('nazvanie'). AsVariant;;. Q7. first;i: =1 to DataModule2. Q7.
RecordCount do begin. WorkBooks [1]. WorkSheets [1]. cells [i+2,1]. value: =i;.
WorkBooks [1]. WorkSheets [1]. cells [i+2,2]. value: =DataModule2. Q7.
FieldByName ('fio'). AsVariant;. Q7. next;;. Visible: = true;;;.Unit9;,
Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, Grids,
DBGrids, comobj, StdCtrls;= class (TForm): TDBGrid;: TButton;Button1Click
(Sender: TObject);
{
Private declarations }
{
Public declarations };: TForm9;: variant;, j: integer;Unit1, Unit2, Unit3,
Unit4, Unit5, Unit6, Unit7, Unit8;
{$R *.
dfm}TForm9. Button1Click (Sender: TObject);: =CreateOleObject ('Excel.
Application');. workbooks. add (ExtractFilePath (Application. ExeName)
+'chitateli_knig. xlsx');. WorkBooks [1]. WorkSheets [1]. cells [2,2]. value:
='Читатель';. WorkBooks [1]. WorkSheets
[1]. cells [2,3]. value: ='Книга';. t_chit_knig. first;i: =1 to
DataModule2. t_chit_knig. RecordCount do begin. WorkBooks [1]. WorkSheets [1].
cells [i+2,1]. value: =i;. WorkBooks [1]. WorkSheets [1]. cells [i+2,2]. value:
=DataModule2. t_chit_knig. FieldByName ('chitat'). AsVariant;. WorkBooks [1].
WorkSheets [1]. cells [i+2,3]. value: =DataModule2. t_chit_knig. FieldByName
('kinga1'). AsVariant;. t_chit_knig. next;;. Visible: = true;;.Unit10;,
Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, StdCtrls;=
class (TForm): TLabel;FormCreate (Sender: TObject);
{
Private declarations }
{
Public declarations };: TForm10;
{$R *.
dfm}TForm10. FormCreate (Sender: TObject);
begin. Caption:
='Программу разработал студент Группы Ас-464/к. '+#13+' Шкаликов Юрий. ';;.