- При вводе неправильного пароля выводится сообщение: «Забыли пароль?»;
- При пятикратном вводе неправильного пароль выводится сообщение: «Множественный ввод неправильного пароля, программа будет закрыта»;
- При введении заявки из магазина и не заполнении всех полей выводится сообщение: «Заполни все поля»;
- При введении получении книг из издательства не заполнении всех полей выводится сообщение: «Заполни все поля»;
- При удалении записи и не выборе номера таблицы выводится сообщение: «Выбери таблицу»;
- При удалении записи и не вводе номера записи выводится сообщение: «Заполни все поля»;
- При удалении несуществующей записи выводится сообщение: «Данная запись не существует»
- При добавлении новой книги если введена уже существующая в базе данных выводятся сообщения: «Данная книга уже существует», «Тираж добавиться к
существующей книге»;- При вводе нового пароля меньше 4 символов выводится сообщение «Пароль
слишком короткий»;- При вводе нового пароля разным в двух полях выводится сообщение «Введены разные Пароли»;
2.4 Руководство пользователя
Программа устанавливается с диска. Путем копирование папки «Учет» в рабочую папку на жестком диске. Для правильной работы программы необходимо чтобы на компьютере пользователя были установлены следующие программные продукты : Borland Delphi7, Borland Database Engine Administrator, Database Desktop. Программа запускается путем запуска приложения «Учет.exe».
Руковдство по использованию продукта
При запуске приложения открывается форма выбора пользователя (рисунок 3), в которой производится выбор пользователя, а также ввод пароля для пользователя «Администратор».
Рисунок 3 – Форма выбора пользователяПеред тем как перейти к ведомостям необходимо выбрать пользователя. В случае если пользователь не был выбран высветится сообщение об ошибке (рисунок 4).
Рисунок 4 - Сообщение об ошибке
При выборе из меню «Склад» кнопку «Получения книг» окрывается окно для заполнение данных о поступившей книге(рисунок 5).
Рисунок 5 – Получение книгПри нажатии кнопки «Отправить в изд.» выводиться окошко (рисунок 6). В котором при нажатии кнопки «Да» будет выдан список требуемых книг для заказа на склад (рисунок 7).
Рисунок 6Рисунок 7 – Список требуемых книг
При выборе пункта меню «Заявки» нажатии кнопки «На книгу» окрывается окно для вывода заявки (рисунок 8). В котором необходимо заполнить все поля и затем нажать кнопку «Отправить заявку».
Рисунок 8 – Заявка на книгу
При нажатии кнопки «Доп. тираж» окрывается окно для ввода дополнительного тиража (рисунок 9). В котором необходимо заполнить все поля и затем нажать кнопку «Отправить заявку».
Рисунок 9 – Заявка на дополнительный тираж
При выборе пункта меню «Ведомости» подменю «Для заказов» и нажатия кнопок «Удовлет. заказы» или «Неудовлет. заказы» окрывается окно для вывода соответствующей ведомости (рисунок 10,11).
Рисунок 10 – Ведомость удовлетворенных заказов
Рисунок 11 – Ведомость неудовлетворенных заказов
При нажатии кнопки «Сводная ведомость» окрывается окно для вывода ведомости (рисунок 12).
Рисунок 12
Заключение
В ходе написания курсового проекта была разработана структура и алгоритм приложения «Учет выдачи и получения книг». При этом были изучены новые информационные технологии, были приобретены навыки в области построения и обработки баз данных.
Результатом работы стало создание программы учета книг.
Программа написана на языке Object Pascal с использованием среды зазработки Delphi 7.
Данная программа предназначена для работы на складах. Программа имеет возможность выдавать ведомости об удовлетворенных и неудовлетворенных заявках, сводную ведомость. Программный продукт имеет дружественный пользователю интерфейс, для работы с программой не требуется дополнительное обучение.
Программа прошла тестирование в результате, которого были выявлены и устранены некоторые недостатки. Приложение было выполнено на данных контрольного примера. Полученные результаты полностью совпали с результатами ручного просчета.
Список литературы
1. Флёнов М. Е. Программирование в Delphi глазами хакера. – СПб.: БХВ - Петербург, 2007. – 368 с.: ил.Результат решения
Рисунок 13 – Сводная ведомость
Рисунок 14 Ведомость неудовлетворенных заявок
Продолжение приложения А
Рисунок 15 Ведомость удовлетворенных заявок
Приложение Б
Код программы
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Menus, DB, DBTables, Grids, DBGrids, ExtCtrls, DBCtrls, StdCtrls, registry,
ComCtrls;
type
TForm1 = class(TForm)
DBGrid1: TDBGrid;
DBGrid2: TDBGrid;
MainMenu1: TMainMenu;
N1: TMenuItem;
GroupBox1: TGroupBox;
GroupBox2: TGroupBox;
StatusBar1: TStatusBar;
Timer1: TTimer;
N25: TMenuItem;
DBGrid3: TDBGrid;
N6: TMenuItem;
N9: TMenuItem;
N11: TMenuItem;
N12: TMenuItem;
N13: TMenuItem;
N16: TMenuItem;
N17: TMenuItem;
N18: TMenuItem;
N19: TMenuItem;
N20: TMenuItem;
N21: TMenuItem;
N22: TMenuItem;
N2: TMenuItem;
procedure clearf2;
procedure N12Click(Sender: TObject);
Продолжение приложения Б
procedure FormShow(Sender: TObject);
procedure find(kol:integer);
procedure Timer1Timer(Sender: TObject);
procedure N25Click(Sender: TObject);
procedure N9Click(Sender: TObject);
procedure FormActivate(Sender: TObject);
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
procedure N11Click(Sender: TObject);
procedure N18Click(Sender: TObject);
procedure N19Click(Sender: TObject);
procedure N17Click(Sender: TObject);
procedure N21Click(Sender: TObject);
procedure N22Click(Sender: TObject);
procedure N2Click(Sender: TObject);
end;
var
F1: TForm1;
kn,q,w,i,j:integer;
implementation
uses Unit2, Unit3, Unit4, Unit5, Unit6;
{$R *.dfm}
procedure TForm1.find(kol:integer);
var v:boolean;
begin
v:=true;
f3.SG1.Cells[0,0]:='№ заказа';
f3.SG1.Cells[1,0]:='Магазин';
f3.SG1.Cells[2,0]:='Название книги';
f3.SG1.Cells[3,0]:='Автор';
f3.SG1.Cells[4,0]:='Треб. кол-во';
f3.SG1.ColCount:=5;
f3.SG1.Width:=515;
f3.Width:=530;
if kol=0 then
Продолжение приложения Б
begin
f3.SG1.Cells[4,0]:='Издательство';
f3.SG1.Cells[5,0]:='Выдано';
f3.SG1.ColCount:=6;
f3.SG1.Width:=615;
f3.Width:=630;
end;
f3.SG1.RowCount:=1;
i:=1;
DM6.T2.RecNo:=1;
while not(DM6.T2.Eof) do
begin
if kol=0 then
begin
if DM6.T2.FieldByName('Треб. кол').AsInteger=0 then
begin
f3.SG1.Cells[0,i]:=DM6.T2.FieldByName('№ заказа').AsString;
f3.SG1.Cells[1,i]:=DM6.T2.FieldByName('Магазин').AsString;
f3.SG1.Cells[2,i]:=DM6.T2.FieldByName('Наз. книги').AsString;
f3.SG1.Cells[3,i]:=DM6.T2.FieldByName('Автор').AsString;
DM6.T3.RecNo:=1;
while not(DM6.T3.Eof) do