Смекни!
smekni.com

Учёт поступления и выдачи книг (стр. 5 из 8)

- При вводе неправильного пароля выводится сообщение: «Забыли пароль?»;

- При пятикратном вводе неправильного пароль выводится сообщение: «Множественный ввод неправильного пароля, программа будет закрыта»;

- При введении заявки из магазина и не заполнении всех полей выводится сообщение: «Заполни все поля»;

- При введении получении книг из издательства не заполнении всех полей выводится сообщение: «Заполни все поля»;

- При удалении записи и не выборе номера таблицы выводится сообщение: «Выбери таблицу»;

- При удалении записи и не вводе номера записи выводится сообщение: «Заполни все поля»;

- При удалении несуществующей записи выводится сообщение: «Данная запись не существует»

- При добавлении новой книги если введена уже существующая в базе данных выводятся сообщения: «Данная книга уже существует», «Тираж добавиться к

существующей книге»;

- При вводе нового пароля меньше 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