Автоматизированная информационная система библиотеки высшего учебного заведения

Особенности создания автоматизированной информационной системы для системного администратора библиотеки. Функции ввода и обновления данных и печати документов. Технологическая последовательность выполнения процедур системы, инструкция пользователя.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 12.03.2013
Размер файла 430,0 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Содержание

  • Введение
  • 1. Анализ и постановка задачи
  • 1.1 Описание предметной области проектируемой ИС
  • 1.2 Ограничение проектного решения
  • 1.3 Определение требований
  • 2. Проектирование базы данных
  • 2.1 Определение сущностей
  • 2.2 Определение взаимосвязей между сущностями
  • 2.3 Задание первичных и альтернативных ключей, определение атрибутов сущностей
  • 2.4 Представление использования
  • 2.5 Описание физической модели
  • 3. Разработка программной среды
  • 3.1 Разработка интерфейса пользователя
  • 3.2 Работа с данными
  • 4. Документация пользователя
  • 4.1 Системные требования
  • 4.2 Инструкция пользователя
  • Заключение
  • Литература
  • Приложения

Введение

Темой курсового проекта является автоматизированная информационная система библиотеки вуза.

Разработанная система создана для работы системного администратора.

В результате работы системы создается пакет документов.

Система обеспечена стандартными функциями ввода и обновления данных и печати документов.

В презентационной логике системы отражена технологическая последовательность выполнения процедур системы (в частности создание справочной информации, учетной информации, запросов и отчетов).

С помощью языка моделирования UML представлены классы пользователей системы, определяются требования к ним, и дается описание с точки зрения пользователя, что является основой для создания диаграмм использования, которые описывают отдельные части системы и систему в целом.

Для работы в системе разработана инструкция пользователя, в которой дается описание основных форм и элементов управления на этих формах, а также описание системных и программных сообщений.

Система разработана в среде программирования Delphi в связи с предпочтениями разработчика.

1. Анализ и постановка задачи

1.1 Описание предметной области проектируемой ИС

Библиотека включает в себя абонементы, читальные залы и справочную систему каталогов и картотек. Читателями библиотеки вуза имеют право быть: студенты всех форм обучения, профессорско-преподавательский состав университета, аспиранты, ассистенты и другие сотрудники подразделений вуза, слушатели подготовительного отделения (ПО), факультета повышения квалификации (ФПК), стажеры, абитуриенты. Различные категории читателей среди прочих обладают характеристиками, специфическими для своей категории: для студентов это название факультета, номер группы, для преподавателя - название кафедры, степень, звание и т.д. Слушатели ФПК, абитуриенты, стажеры - разовые читатели - имеют право пользоваться только читальными залами. За нарушение правил пользования библиотекой читатели лишаются права пользования всеми пунктами обслуживания библиотеки на установленные администрацией сроки (от 1 до 6 месяцев). В случае утери или порчи книг читатель обязан заменить их такими же или другими изданиями, признанными библиотекой равноценными, или же возместить их 10-кратную стоимость. В случае невозвращения в библиотеку книг в установленный срок, читатель обязан заплатить штраф. Срок пользования литературой для различных категорий читателей и количество выдаваемых изданий на каждом абонементе определяется администрацией, исходя из вида литературы и категории читателя. Число книг, выдаваемых в читальных залах, не ограничивается.

При поступлении новых изданий в библиотеку они должны быть внесены в картотеку с указанием их количества для каждого абонемента и читального зала. Выдача книг, сроки, штрафы и т.п. собираются и обрабатываются администрацией.

1.2 Ограничение проектного решения

В данной системе не реализовано:

учет читальных залов,

учет количества книг на складе,

учет количества книг выданных в определенный читальный зал.

Эти решения не были реализованы потому, что мне было недостаточно времени на разработку проекта, в дальнейшем данные решения могут быть реализованы.

1.3 Определение требований

Передо мной, как разработчиком информационной системы была поставлена задача, разработать программный продукт, который мог бы предоставить следующие возможности:

предоставление информации о читателях библиотеки,

предоставление информации о книгах в библиотеки,

предоставление информации о читателях, которые брали книги,

начисление штрафа за задержку сдачи книги,

составление и печать отчетов,

ввод, хранение и обработка информации.

информационная система библиотека пользователь

2. Проектирование базы данных

2.1 Определение сущностей

Исходя из обследования предметной области задачи, информационная система должна содержать следующие сущности:

chit_knig - информация о читателях, которые брали книги,

T_chitatel - информация о читателях библиотеки,

T_form_obuch - информация о формах обучения,

T_group - информация о группах,

T_knigi - информация о книгах,

T_status - информация о статусе,

T_vidacha - информация о выдаче книг читателям,

T_Zhanr - информация о жанрах.

2.2 Определение взаимосвязей между сущностями

На данном этапе были определены атрибуты сущности, а также альтернативные и первичные ключи.

После определения сущностей и их атрибутов можно приступить к созданию связей таблиц.

При проектировании базы данных необходимо соблюдать следующие правила:

исключать повторяющиеся группы - для каждого набора связанных атрибутов создавать отдельную таблицу и снабжать ее первичным ключом.

Выполнение этого правила автоматически приводит к первой нормальной форме;

исключать избыточные данные - если атрибут зависит только от части составного ключа, перемещать атрибут в отдельную таблицу. Везде, где возможно использование идентификаторов вместо описания, нужно выносить в отдельную таблицу список идентификаторов с пояснениями к ним. Выполнение этого правила приводит ко второй и третьей нормальным формам. На этом этапе мы уточняем структурный состав и отношения между сущностями.

Проектирование физической модели данных представлено на рисунке 1.

Рисунок 1 - Проектирование физической модели данных

Связи между всеми объектами определены как связи "один ко многим".

2.3 Задание первичных и альтернативных ключей, определение атрибутов сущностей

Атрибут - это информационное отображение свойств объектов. Каждый объект характеризуется рядом основных атрибутов. Каждый атрибут в модели должен иметь уникальное имя - идентификатор. Атрибут, при реализации информационной модели на каком - либо носителе информации часто называют элементом данных, полем данных или просто полем.

Ключевым элементом данных называется такой элемент, по которому можно определить значения других элементов данных.

Первичный ключ - это атрибут (или группа атрибутов), которые единственным образом идентифицируют каждую строку в таблице.

Альтернативный ключ - это атрибут (или группа атрибутов), несовпадающий с первичным ключом и уникально идентифицирующий экземпляр объекта.

Атрибуты и первичные ключи сущностей для информационной модели, включаемые в состав базы данных "Библиотека вуза", приведены в таблице 1.

Таблица 1 - Первичные ключи и атрибуты

Сущность

Первичный ключ

Атрибуты

1

2

3

chit_knig

id_vyd

id_chit

kniga

T_chitatel

id_chit

Fio

id_gr

id_form

status

T_form_obuch

id_form

nazv

T_group

id_group

Spec

nomer_gr

T_knigi

Id_knigi

Nazvanie

Avtor

god_izdaniya

Zhanr

T_status

id_statusa

status

T_vidacha

id_vid

Kniga

Chitatel

data_vidachi

data_sdachi

fact_data_sdachi

shtraf

kol_knig

oplata_shtrafa

T_Zhanr

id_zhanra

Nazvanie

2.4 Представление использования

В простом виде деятельность "АИС библиотеки вуза"

представляет собой следующие операции:

добавление читателей,

добавление книг,

все выдачи книг оформляются без различных требований.

Рисунок 2 - Представление работы "АИС Библиотеки вуза"

2.5 Описание физической модели

Структура нормализованных таблиц представлена в таблице 2.

Таблица 2 - Описание физической модели

Имя поля

Тип данных

Размерность

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

Текстовый

10

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 Мб на жестком диске.

Требования к программным средствам:

ЭВМ должна работать с операционными системами семейства

Windows 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 г.

3. Крёнке, Д.А., Теория и практика построения баз данных. З-е изд. / Д.А. Крёнке - СПб.: Питер, 2006 - 859 с.: ил.

4. Маленко, Д.Ю., Новые возможности для разработчиков SQL Server / Д.Ю. Маленко - М.: СОЛОН-Пресс, 2006. - 208с.: ил.

5. Гурвиц, Г.А., Microsoft Access 2009. Разработка приложений на реальном примере / Г.А. Гурвиц - СПб.: БХВ-Петербург, 2007. - 672 с.: ил.

Приложения

Приложение А

(Обязательное)

Выходная документация

Выходной документацией в данной программе является отчеты, приведенные ниже:

Рисунок А1 - Информация о студентах в определенной группе

Рисунок А2 - Информация о всех преподавателях

Рисунок А3 - Список всех должников с не оплаченным штрафом

Рисунок А4 - Список студентов, которые брали определенную книгу

Приложение Б

(Справочное)

Листинг программы

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, Menus;

type

TForm1 = class (TForm)

Button1: TButton;

Button2: TButton;

Button3: TButton;

MainMenu1: TMainMenu;

N1: TMenuItem;

N2: TMenuItem;

N3: TMenuItem;

N4: TMenuItem;

N5: TMenuItem;

N6: TMenuItem;

N7: TMenuItem;

N8: TMenuItem;

procedure Button1Click (Sender: TObject);

procedure Button2Click (Sender: TObject);

procedure Button3Click (Sender: TObject);

procedure N1Click (Sender: TObject);

procedure N4Click (Sender: TObject);

procedure Button4Click (Sender: TObject);

procedure N3Click (Sender: TObject);

procedure N5Click (Sender: TObject);

procedure N6Click (Sender: TObject);

procedure N7Click (Sender: TObject);

procedure N8Click (Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

implementation

uses Unit2, Unit3, Unit4, Unit5, Unit6, Unit7, Unit9, Unit10;

{$R *. dfm}

procedure TForm1. Button1Click (Sender: TObject);

begin

form3. ShowModal;

end;

procedure TForm1. Button2Click (Sender: TObject);

begin

form4. ShowModal;

end;

procedure TForm1. Button3Click (Sender: TObject);

begin

Form7. ShowModal;

end;

procedure TForm1. Button4Click (Sender: TObject);

begin

Form9. show;

end;

procedure TForm1. N1Click (Sender: TObject);

var l: string; p: integer; c,c1: Boolean;

begin

c: =false;

c1: =false;

l: =InputBox ('Логин','Введите логин: ','');

p: =strtoint (InputBox ('Пароль','Введите пароль: ',''));

if l='admin' then c: =true else ShowMessage ('Не правильный логин. ');

if inttostr (p) ='123456' then c1: =true else ShowMessage ('Не верный пароль');

if (c=true) and (c1=true) then N2. Visible: =true;

end;

procedure TForm1. N3Click (Sender: TObject);

begin

form3. ShowModal;

end;

procedure TForm1. N4Click (Sender: TObject);

begin

n2. Visible: =false;

Form1. Close;

end;

procedure TForm1. N5Click (Sender: TObject);

begin

form4. ShowModal;

end;

procedure TForm1. N6Click (Sender: TObject);

begin

form5. ShowModal;

end;

procedure TForm1. N7Click (Sender: TObject);

begin

form6. ShowModal;

end;

procedure TForm1. N8Click (Sender: TObject);

begin

form10. showmodal;

end;

end.

unit Unit2;

interface

uses

SysUtils, Classes, DB, ADODB;

type

TDataModule2 = class (TDataModule)

ADOConnection1: TADOConnection;

t_chitatel: TADOTable;

t_knigi: TADOTable;

chitatel: TDataSource;

knigi: TDataSource;

t_chitatelid_chit: TAutoIncField;

t_chitatelFio: TWideStringField;

t_chitatelid_gr: TIntegerField;

t_chitatelid_form: TIntegerField;

t_chitatelstatus: TIntegerField;

t_group: TADOTable;

t_form: TADOTable;

t_status: TADOTable;

group: TDataSource;

form: TDataSource;

status: TDataSource;

t_chitatelgroup: TStringField;

t_chitatelform: TStringField;

t_chitatelstatus1: TStringField;

t_knigiId_knigi: TAutoIncField;

t_kniginazvanie: TWideStringField;

t_knigiavtor: TWideStringField;

t_knigigod_izdaniya: TWideStringField;

t_knigiZhanr: TIntegerField;

t_zhanr: TADOTable;

zhanr: TDataSource;

t_knigizhanr2: TStringField;

t_groupid_group: TAutoIncField;

t_groupspec: TWideStringField;

t_groupnomer_gr: TIntegerField;

t_zhanrid_zhanra: TAutoIncField;

t_zhanrnazvanie: TWideStringField;

t_vidacha: TADOTable;

vidacha: TDataSource;

t_vidachaid_vid: TAutoIncField;

t_vidachachitatel: TIntegerField;

t_vidachadata_vidachi: TDateTimeField;

t_vidachadata_sdachi: TDateTimeField;

t_vidachafact_data_sdachi: TDateTimeField;

t_vidachashtraf: TBCDField;

t_vidachakol_knig: TIntegerField;

t_vidachachitatel1: TStringField;

Q1: TADOQuery;

DQ1: TDataSource;

Q1id_zhanra: TAutoIncField;

Q1nazvanie: TWideStringField;

Q2: TADOQuery;

DQ2: TDataSource;

t_vidachaoplata_shtrafa: TBooleanField;

Q3: TADOQuery;

DQ3: TDataSource;

Q4: TADOQuery;

DQ4: TDataSource;

t_vidachakniga: TIntegerField;

t_chit_knig: TADOTable;

chit_knig: TDataSource;

Q1Id_knigi: TAutoIncField;

t_chit_knigchitat: TStringField;

t_chit_knigkinga1: TStringField;

t_chit_knigid_vyd: TAutoIncField;

t_chit_knigid_chit: TIntegerField;

t_chit_knigkniga: TIntegerField;

t_formid_form: TAutoIncField;

t_formnazv: TWideStringField;

t_statusid_statusa: TAutoIncField;

t_statusstatus: TWideStringField;

Q5: TADOQuery;

DQ5: TDataSource;

Q6: TADOQuery;

DQ6: TDataSource;

private

{ Private declarations }

public

{ Public declarations }

end;

var

DataModule2: TDataModule2;

implementation

uses Unit3, Unit1, Unit4, Unit5, Unit6, Unit7, Unit8, Unit9;

{$R *. dfm}

end.

unit Unit3;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, ExtCtrls, DBCtrls, Grids, DBGrids, Menus, StdCtrls;

type

TForm3 = class (TForm)

DBGrid1: TDBGrid;

MainMenu1: TMainMenu;

N1: TMenuItem;

N2: TMenuItem;

N3: TMenuItem;

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

Label4: TLabel;

Edit1: TEdit;

DBLookupComboBox1: TDBLookupComboBox;

DBLookupComboBox2: TDBLookupComboBox;

DBLookupComboBox3: TDBLookupComboBox;

Button1: TButton;

Button2: TButton;

N7: TMenuItem;

Button3: TButton;

N4: TMenuItem;

N5: TMenuItem;

N6: TMenuItem;

C1: TMenuItem;

procedure N6Click (Sender: TObject);

procedure Button1Click (Sender: TObject);

procedure Button2Click (Sender: TObject);

procedure N5Click (Sender: TObject);

procedure N2Click (Sender: TObject);

procedure N3Click (Sender: TObject);

procedure N7Click (Sender: TObject);

procedure Button3Click (Sender: TObject);

procedure N4Click (Sender: TObject);

procedure C1Click (Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form3: TForm3;

implementation

uses Unit1, Unit2, Unit4, Unit5, DB, ADODB, Unit8;

{$R *. dfm}

procedure TForm3. N6Click (Sender: TObject);

var s: string;

begin

Form8. Caption: ='Студенты в группе';

s: =InputBox ('Ввод','Введите номер группы: ','');

if s<>'' then begin

with DataModule2. Q2 do begin

active: =false;

sql. Clear;

sql. Add ('SELECT T_chitatel. id_chit, T_chitatel. Fio, T_group. spec, T_group. nomer_gr');

sql. 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');

sql. Add ('WHERE ( ( (T_group. nomer_gr) ='+s+')); ');

active: =true;

end;

Form8. DBGrid1. DataSource: =DataModule2. DQ2;

form8. DBGrid1. Columns [0]. visible: =false;

form8. DBGrid1. Columns [1]. Width: =100;

form8. DBGrid1. Columns [2]. Width: =100;

form8. DBGrid1. Columns [3]. Width: =50;

form8. Label1. Caption: ='1';

form8. ShowModal;

end else ShowMessage ('Не введен номер группы');

end;

procedure TForm3. N7Click (Sender: TObject);

begin

DataModule2. t_chitatel. Sort: ='id_form';

end;

procedure TForm3. Button1Click (Sender: TObject);

begin

with DataModule2. t_chitatel do begin

Insert;

FieldByName ('Fio'). AsString: =edit1. Text;

FieldByName ('id_gr'). AsInteger: =DBLookupComboBox1. KeyValue;

FieldByName ('id_form'). AsInteger: =DBLookupComboBox2. KeyValue;

FieldByName ('status'). AsInteger: =DBLookupComboBox3. KeyValue;

post;

end;

label1. Visible: =false;

label2. Visible: =false;

label3. Visible: =false;

label4. Visible: =false;

edit1. Visible: =false;

DBLookupComboBox1. Visible: =false;

DBLookupComboBox2. Visible: =false;

DBLookupComboBox3. Visible: =false;

button1. Visible: =false;

button2. Visible: =false;

button3. Visible: =false;

end;

procedure TForm3. Button2Click (Sender: TObject);

var x: string;

begin

ShowMessage ('Для операции требуется права администратора! ');

x: =InputBox ('Вход','Введите пароль','');

if x='qweasd123asd' then DataModule2. t_chitatel. Delete;

end;

procedure TForm3. Button3Click (Sender: TObject);

begin

form5. ShowModal;

end;

procedure TForm3. N2Click (Sender: TObject);

begin

DataModule2. t_chitatel. Sort: ='Fio';

end;

procedure TForm3. N3Click (Sender: TObject);

begin

DataModule2. t_chitatel. Sort: ='id_gr';

end;

procedure TForm3. N4Click (Sender: TObject);

begin

label1. Visible: =true;

label2. Visible: =true;

label3. Visible: =true;

label4. Visible: =true;

edit1. Visible: =true;

DBLookupComboBox1. Visible: =true;

DBLookupComboBox2. Visible: =true;

DBLookupComboBox3. Visible: =true;

button1. Visible: =true;

button2. Visible: =true;

button3. Visible: =true;

end;

procedure TForm3. N5Click (Sender: TObject);

begin

label1. Visible: =true;

label2. Visible: =true;

label3. Visible: =true;

label4. Visible: =true;

edit1. Visible: =true;

DBLookupComboBox1. Visible: =true;

DBLookupComboBox2. Visible: =true;

DBLookupComboBox3. Visible: =true;

button1. Visible: =true;

button2. Visible: =true;

button3. Visible: =true;

end;

procedure TForm3. C1Click (Sender: TObject);

begin

with DataModule2. Q5 do begin

active: =false;

sql. Clear;

sql. Add ('SELECT T_chitatel. id_chit, T_chitatel. Fio, T_status. status');

sql. Add ('FROM T_status INNER JOIN T_chitatel ON T_status. id_statusa = T_chitatel. status');

sql. Add ('WHERE ( ( (T_status. status) ="Преподаватель")); ');

active: =true;

end;

form8. DBGrid1. DataSource: =DataModule2. DQ5;

form8. DBGrid1. Columns [0]. visible: =false;

form8. DBGrid1. Columns [1]. Width: =100;

form8. DBGrid1. Columns [2]. Width: =100;

form8. Label1. Caption: ='2';

form8. Caption: ='Список преподавателей';

form8. ShowModal;

end;

end.

unit Unit4;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, ExtCtrls, DBCtrls, Grids, DBGrids, StdCtrls, Menus;

type

TForm4 = class (TForm)

DBGrid1: TDBGrid;

Edit1: TEdit;

Label1: TLabel;

Label2: TLabel;

Edit2: TEdit;

Edit3: TEdit;

Label3: TLabel;

Label4: TLabel;

DBLookupComboBox1: TDBLookupComboBox;

Button1: TButton;

Button2: TButton;

MainMenu1: TMainMenu;

N1: TMenuItem;

N2: TMenuItem;

N3: TMenuItem;

N4: TMenuItem;

Button3: TButton;

N5: TMenuItem;

N6: TMenuItem;

procedure N4Click (Sender: TObject);

procedure Button3Click (Sender: TObject);

procedure Button1Click (Sender: TObject);

procedure N2Click (Sender: TObject);

procedure N3Click (Sender: TObject);

procedure N5Click (Sender: TObject);

procedure N6Click (Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form4: TForm4;

implementation

uses Unit1, Unit2, Unit3, DB, Unit6;

{$R *. dfm}

procedure TForm4. Button1Click (Sender: TObject);

begin

with DataModule2. t_knigi do begin

insert;

FieldByName ('nazvanie'). AsString: =edit1. Text;

FieldByName ('avtor'). AsString: =edit2. Text;

FieldByName ('god_izdaniya'). AsString: =edit3. Text;

FieldByName ('zhanr'). AsInteger: =DBLookupComboBox1. KeyValue;

post;

end;

label1. Visible: =false;

label2. Visible: =false;

label3. Visible: =false;

label4. Visible: =false;

edit1. Visible: =false;

edit2. Visible: =false;

edit3. Visible: =false;

DBLookupComboBox1. Visible: =false;

button1. Visible: =false;

button2. Visible: =false;

button3. Visible: =false;

edit1. Clear;

edit2. Clear;

edit3. Clear;

end;

procedure TForm4. Button3Click (Sender: TObject);

begin

form6. ShowModal;

end;

procedure TForm4. N2Click (Sender: TObject);

begin

DataModule2. t_knigi. Sort: ='nazvanie';

end;

procedure TForm4. N3Click (Sender: TObject);

begin

DataModule2. t_knigi. Sort: ='avtor';

end;

procedure TForm4. N4Click (Sender: TObject);

begin

label1. Visible: =true;

label2. Visible: =true;

label3. Visible: =true;

label4. Visible: =true;

edit1. Visible: =true;

edit2. Visible: =true;

edit3. Visible: =true;

DBLookupComboBox1. Visible: =true;

button1. Visible: =true;

button2. Visible: =true;

button3. Visible: =true;

end;

procedure TForm4. N5Click (Sender: TObject);

begin

DataModule2. t_knigi. Sort: ='god_izdaniya';

end;

procedure TForm4. N6Click (Sender: TObject);

begin

DataModule2. t_knigi. Sort: ='zhanr';

end;

end.

unit Unit5;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, Grids, DBGrids;

type

TForm5 = class (TForm)

DBGrid1: TDBGrid;

Edit1: TEdit;

Edit2: TEdit;

Label1: TLabel;

Label2: TLabel;

Button1: TButton;

Button2: TButton;

procedure Button1Click (Sender: TObject);

procedure Button2Click (Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form5: TForm5;

implementation

uses Unit1, Unit2, Unit3, Unit4;

{$R *. dfm}

procedure TForm5. Button1Click (Sender: TObject);

begin

if (edit1. Text<>'') and (edit2. Text<>'') then begin

DataModule2. t_group. Insert;

DataModule2. t_group. FieldByName ('spec'). AsString: =edit1. Text;

DataModule2. t_group. FieldByName ('nomer_gr'). AsInteger: =strtoint (edit2. Text);

DataModule2. t_group. Post;

edit1. Clear;

edit2. Clear;

end else ShowMessage ('Поля не могут быть пустыми! ');

end;

procedure TForm5. Button2Click (Sender: TObject);

var x: string;

begin

ShowMessage ('Для операции требуется права администратора! ');

x: =InputBox ('Вход','Введите пароль','');

if x='qweasd123asd' then DataModule2. t_group. Delete;

end;

end.

unit Unit6;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, Grids, DBGrids, StdCtrls;

type

TForm6 = class (TForm)

DBGrid1: TDBGrid;

Edit1: TEdit;

Button1: TButton;

Label1: TLabel;

Button2: TButton;

procedure Button1Click (Sender: TObject);

procedure Button2Click (Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form6: TForm6;

implementation

uses Unit1, Unit2, Unit3, Unit4, Unit5, DB;

{$R *. dfm}

procedure TForm6. Button1Click (Sender: TObject);

begin

with datamodule2. t_zhanr do begin

insert;

if edit1. text<>'' then FieldByName ('nazvanie'). asstring: =edit1. Text else ShowMessage ('Название не может быть пустым! ');

post;

end;

edit1. Clear;

end;

procedure TForm6. Button2Click (Sender: TObject);

begin

DataModule2. t_zhanr. Delete;

end;

end.

unit Unit7;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, Grids, DBGrids, StdCtrls, DBCtrls, Menus;

type

TForm7 = class (TForm)

DBGrid1: TDBGrid;

DBLookupComboBox1: TDBLookupComboBox;

Edit1: TEdit;

Edit3: TEdit;

Button1: TButton;

Button2: TButton;

Label1: TLabel;

Label3: TLabel;

Label5: TLabel;

Label2: TLabel;

DBLookupComboBox2: TDBLookupComboBox;

DBGrid2: TDBGrid;

MainMenu1: TMainMenu;

N1: TMenuItem;

N2: TMenuItem;

Button3: TButton;

N3: TMenuItem;

N4: TMenuItem;

StringGrid1: TStringGrid;

N5: TMenuItem;

procedure Button1Click (Sender: TObject);

procedure DBLookupComboBox2Click (Sender: TObject);

procedure DBGrid2CellClick (Column: TColumn);

procedure Button2Click (Sender: TObject);

procedure N2Click (Sender: TObject);

procedure Button3Click (Sender: TObject);

procedure N4Click (Sender: TObject);

procedure N5Click (Sender: TObject);

procedure FormCreate (Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form7: TForm7;

no,l: integer;

implementation

uses Unit1, Unit2, Unit3, Unit4, Unit5, Unit6, DB, ADODB, Unit8, Unit9;

{$R *. dfm}

procedure TForm7. Button1Click (Sender: TObject);

var g,m,d,g1,m1,d1: word; datevd,datesd,datefc: TDateTime; s,sh, i: integer; gg: string;

begin

datevd: =strtodate (edit1. Text);

datefc: =strtodate (edit3. Text);

decodedate (datevd,g,m,d);

decodedate (datefc,g1,m1,d1);

d: =d+10;

datesd: =EncodeDate (g,m,d);

s: =d1-d;

if s>0 then sh: =s*15*StringGrid1. RowCount-1;

if s=0 then sh: =0;

if s<0 then sh: =0;

with DataModule2. t_vidacha do begin

insert;

FieldByName ('chitatel'). AsInteger: =DBLookupComboBox1. KeyValue;

FieldByName ('data_vidachi'). AsDateTime: =strtodate (edit1. text);

FieldByName ('data_sdachi'). AsDateTime: =datesd;

FieldByName ('fact_data_sdachi'). AsDateTime: =strtodate (edit3. Text);

FieldByName ('shtraf'). AsInteger: =sh;

FieldByName ('kol_knig'). AsInteger: =StringGrid1. RowCount-1;

if sh=0 then FieldByName ('oplata_shtrafa'). AsBoolean: =true else FieldByName ('oplata_shtrafa'). AsBoolean: =false;

post;

end;

for I: = 1 to StringGrid1. RowCount-1 do begin

with DataModule2. t_chit_knig do begin

append;

FieldByName ('id_chit'). AsInteger: =DBLookupComboBox1. KeyValue;

FieldByName ('kniga'). Asinteger: =strtoint (stringGrid1. cells [1,1]);

post;

end;

end;

Label1. Visible: =false;

Label2. Visible: =false;

Label3. Visible: =false;

Label5. Visible: =false;

Edit1. Visible: =false;

Edit3. Visible: =false;

DBLookupComboBox1. Visible: =false;

DBLookupComboBox2. Visible: =false;

DBGrid2. Visible: =false;

StringGrid1. Visible: =false;

button1. visible: =false;

button2. Visible: =false;

button3. Visible: =false;

form9. Show;

form9. Caption: ='Читатели книг';

end;

procedure TForm7. Button2Click (Sender: TObject);

var x: string;

begin

ShowMessage ('Для операции требуется права администратора! ');

x: =InputBox ('Вход','Введите пароль','');

if x='123456' then DataModule2. t_vidacha. Delete;

end;

procedure TForm7. Button3Click (Sender: TObject);

begin

edit1. Text: =datetostr (date);

edit3. Text: =datetostr (date);

end;

procedure TForm7. DBGrid2CellClick (Column: TColumn);

var k,b,a: integer;

begin

l: =l+1;

stringGrid1. RowCount: =l+1;

StringGrid1. cells [0,l]: =DataModule2. Q1. FieldByName ('nazvanie'). AsString;

StringGrid1. cells [1,l]: =inttostr (DataModule2. Q1. FieldByName ('Id_knigi'). Asinteger);

end;

procedure TForm7. DBLookupComboBox2Click (Sender: TObject);

begin

with DataModule2. Q1 do begin

sql. clear;

Active: =false;

sql. 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');

sql. Add ('WHERE ( ( (T_Zhanr. id_zhanra) ='+inttostr (DBLookupComboBox2. KeyValue) +')) ');

Active: =true;

end;

DBGrid2. Columns [0]. Visible: =false;

DBGrid2. Columns [1]. Visible: =false;

end;

procedure TForm7. FormCreate (Sender: TObject);

begin

l: =0;

stringGrid1. ColWidths [0]: =100;

end;

procedure TForm7. N2Click (Sender: TObject);

begin

Label1. Visible: =true;

Label2. Visible: =true;

Label3. Visible: =true;

Label5. Visible: =true;

Edit1. Visible: =true;

Edit3. Visible: =true;

DBLookupComboBox1. Visible: =true;

DBLookupComboBox2. Visible: =true;

DBGrid2. Visible: =true;

StringGrid1. Visible: =true;

button1. visible: =true;

button2. Visible: =true;

button3. Visible: =true;

end;

procedure TForm7. N4Click (Sender: TObject);

var s: string;

begin

Form8. Caption: ='Список должников';

with DataModule2. Q5 do begin

active: =false;

sql. Clear;

sql. Add ('SELECT T_chitatel. Fio, T_knigi. nazvanie, T_vidacha. shtraf, T_vidacha. oplata_shtrafa');

sql. 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');

sql. Add ('WHERE ( ( (T_vidacha. shtraf) >0) AND ( (T_vidacha. oplata_shtrafa) =False)); ');

active: =true;

end;

form8. Label1. Caption: ='3';

form8. DBGrid1. DataSource: =DataModule2. DQ5;

form8. DBGrid1. Columns [0]. Width: =100;

form8. DBGrid1. Columns [1]. Width: =100;

form8. DBGrid1. Columns [2]. Width: =50;

form8. DBGrid1. Columns [3]. Width: =50;

form8. ShowModal;

end;

procedure TForm7. N5Click (Sender: TObject);

var s: string;

begin

Form8. Caption: ='Список студентов которые брали книгу';

s: =InputBox ('Ввод','Введите id книги: ','');

with DataModule2. Q7 do begin

active: =false;

sql. Clear;

sql. Add ('SELECT T_chitatel. Fio, T_knigi. nazvanie, T_knigi. Id_knigi');

sql. 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');

sql. Add ('WHERE ( ( (T_knigi. Id_knigi) ='+s+')); ');

active: =true;

end;

form8. label1. Caption: ='4';

form8. DBGrid1. DataSource: =DataModule2. DQ7;

form8. DBGrid1. Columns [0]. Width: =100;

form8. DBGrid1. Columns [1]. Width: =100;

form8. DBGrid1. Columns [2]. visible: =false;

form8. ShowModal;

end;

end.

unit Unit8;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, Grids, DBGrids, StdCtrls, comobj;

type

TForm8 = class (TForm)

DBGrid1: TDBGrid;

Button1: TButton;

Label1: TLabel;

procedure Button1Click (Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form8: TForm8;

Excel: variant;

i: integer;

implementation

uses Unit1, Unit2, Unit3, Unit4, Unit5, Unit6, Unit7;

{$R *. dfm}

procedure TForm8. Button1Click (Sender: TObject);

begin

if label1. Caption='1' then begin

Excel: =CreateOleObject ('Excel. Application');

Excel. workbooks. add (ExtractFilePath (Application. ExeName) +'zapr. xlsx');

Excel. WorkBooks [1]. WorkSheets [1]. cells [1,2]. value: =Form8. Caption;

Excel. WorkBooks [1]. WorkSheets [1]. cells [3,2]. value: ='Группа: '+inttostr (DataModule2. Q2. FieldByName ('nomer_gr'). AsVariant);

Excel. WorkBooks [1]. WorkSheets [1]. cells [3,3]. value: ='Специальность: '+DataModule2. Q2. FieldByName ('spec'). AsVariant;

Excel. WorkBooks [1]. WorkSheets [1]. cells [5,1]. value: ='№';

Excel. WorkBooks [1]. WorkSheets [1]. cells [5,2]. value: ='Фамилия';

DataModule2. Q2. first;

for i: =1 to DataModule2. Q2. RecordCount do begin

Excel. WorkBooks [1]. WorkSheets [1]. cells [i+5,1]. value: =i;

Excel. WorkBooks [1]. WorkSheets [1]. cells [i+5,2]. value: =DataModule2. Q2. FieldByName ('fio'). AsVariant;

DataModule2. Q2. next;

end;

Excel. Visible: = true;

end;

if label1. Caption='2' then begin

Excel: =CreateOleObject ('Excel. Application');

Excel. workbooks. add (ExtractFilePath (Application. ExeName) +'zapr. xlsx');

Excel. WorkBooks [1]. WorkSheets [1]. cells [1,2]. value: =Form8. Caption;

Excel. WorkBooks [1]. WorkSheets [1]. cells [2,1]. value: ='№';

Excel. WorkBooks [1]. WorkSheets [1]. cells [2,2]. value: ='Фамилия';

DataModule2. Q5. first;

for i: =1 to DataModule2. Q5. RecordCount do begin

Excel. WorkBooks [1]. WorkSheets [1]. cells [i+2,1]. value: =i;

Excel. WorkBooks [1]. WorkSheets [1]. cells [i+2,2]. value: =DataModule2. Q5. FieldByName ('fio'). AsVariant;

DataModule2. Q5. next;

end;

Excel. Visible: = true;

end;

if label1. Caption='3' then begin

Excel: =CreateOleObject ('Excel. Application');

Excel. workbooks. add (ExtractFilePath (Application. ExeName) +'zapr. xlsx');

Excel. WorkBooks [1]. WorkSheets [1]. cells [1,2]. value: =Form8. Caption;

Excel. WorkBooks [1]. WorkSheets [1]. cells [2,1]. value: ='№';

Excel. WorkBooks [1]. WorkSheets [1]. cells [2,2]. value: ='Фамилия';

Excel. WorkBooks [1]. WorkSheets [1]. cells [2,3]. value: ='Название книги';

Excel. WorkBooks [1]. WorkSheets [1]. cells [2,4]. value: ='Штраф';

Excel. WorkBooks [1]. WorkSheets [1]. cells [2,5]. value: ='Оплачено? ';

DataModule2. Q5. first;

for i: =1 to DataModule2. Q5. RecordCount do begin

Excel. WorkBooks [1]. WorkSheets [1]. cells [i+2,1]. value: =i;

Excel. WorkBooks [1]. WorkSheets [1]. cells [i+2,2]. value: =DataModule2. Q5. FieldByName ('fio'). AsVariant;

Excel. WorkBooks [1]. WorkSheets [1]. cells [i+2,3]. value: =DataModule2. Q5. FieldByName ('nazvanie'). AsVariant;

Excel. WorkBooks [1]. WorkSheets [1]. cells [i+2,4]. value: =DataModule2. Q5. FieldByName ('shtraf'). AsVariant;

Excel. WorkBooks [1]. WorkSheets [1]. cells [i+2,5]. value: =DataModule2. Q5. FieldByName ('oplata_shtrafa'). AsVariant;

DataModule2. Q5. next;

end;

Excel. Visible: = true;

end;

if label1. Caption='4' then begin

Excel: =CreateOleObject ('Excel. Application');

Excel. workbooks. add (ExtractFilePath (Application. ExeName) +'zapr. xlsx');

Excel. WorkBooks [1]. WorkSheets [1]. cells [1,2]. value: =Form8. Caption;

Excel. WorkBooks [1]. WorkSheets [1]. cells [2,1]. value: ='№';

Excel. WorkBooks [1]. WorkSheets [1]. cells [2,2]. value: ='Фамилия';

Excel. WorkBooks [1]. WorkSheets [1]. cells [2,3]. value: ='Название книги: '+DataModule2. Q7. FieldByName ('nazvanie'). AsVariant;;

DataModule2. Q7. first;

for i: =1 to DataModule2. Q7. RecordCount do begin

Excel. WorkBooks [1]. WorkSheets [1]. cells [i+2,1]. value: =i;

Excel. WorkBooks [1]. WorkSheets [1]. cells [i+2,2]. value: =DataModule2. Q7. FieldByName ('fio'). AsVariant;

DataModule2. Q7. next;

end;

Excel. Visible: = true;

end;

end;

end.

unit Unit9;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, Grids, DBGrids, comobj, StdCtrls;

type

TForm9 = class (TForm)

DBGrid1: TDBGrid;

Button1: TButton;

procedure Button1Click (Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form9: TForm9;

Excel: variant;

i, j: integer;

implementation

uses Unit1, Unit2, Unit3, Unit4, Unit5, Unit6, Unit7, Unit8;

{$R *. dfm}

procedure TForm9. Button1Click (Sender: TObject);

begin

Excel: =CreateOleObject ('Excel. Application');

Excel. workbooks. add (ExtractFilePath (Application. ExeName) +'chitateli_knig. xlsx');

Excel. WorkBooks [1]. WorkSheets [1]. cells [2,2]. value: ='Читатель';

Excel. WorkBooks [1]. WorkSheets [1]. cells [2,3]. value: ='Книга';

DataModule2. t_chit_knig. first;

for i: =1 to DataModule2. t_chit_knig. RecordCount do begin

Excel. WorkBooks [1]. WorkSheets [1]. cells [i+2,1]. value: =i;

Excel. WorkBooks [1]. WorkSheets [1]. cells [i+2,2]. value: =DataModule2. t_chit_knig. FieldByName ('chitat'). AsVariant;

Excel. WorkBooks [1]. WorkSheets [1]. cells [i+2,3]. value: =DataModule2. t_chit_knig. FieldByName ('kinga1'). AsVariant;

DataModule2. t_chit_knig. next;

end;

Excel. Visible: = true;

end;

end.

unit Unit10;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls;

type

TForm10 = class (TForm)

Label1: TLabel;

procedure FormCreate (Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form10: TForm10;

implementation

{$R *. dfm}

procedure TForm10. FormCreate (Sender: TObject);

begin

label1. Caption: ='Программу разработал студент Группы Ас-464/к. '+#13+' Шкаликов Юрий. ';

end;

end.

Размещено на Allbest.ru


Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.