Автор работы: Пользователь скрыл имя, 07 Января 2010 в 17:46, Не определен
Введение
1 Постановка задачи
Описание предметной области
Функциональная схема задачи
Схема данных
Описание входной информации
Описание структуры базы данных
Описание выходной информации
Контрольный пример
Общие требования к продукту
2. Экспериментальный раздел
Обоснование выбора языка программирования
Описание программы
Тестирование программного продукта
Руководство пользователя
Заключение
Приложение
2) Графическая часть должна содержать:
Лист 1 ER-диаграмма
3) Список литературы
f2.Width:=525;
f2.Height:=135;
f2.Show;
kn:=1;
clearf2;
end;
procedure TForm1.N2Click(Sender: TObject);
begin
Продолжение приложения Б
if
MessageBox(0,'Вам что выйти
begin
application.Destroying;
f5.Close;
f4.close;
close;
end;
end;
end.
unit Unit2;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm2 = class(TForm)
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Button1: TButton;
Button2: TButton;
Edit4: TEdit;
Edit5: TEdit;
Label5: TLabel;
ComboBox1: TComboBox;
Label6: TLabel;
procedure Button2Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Edit3KeyPress(Sender: TObject; var Key: Char);
Продолжение приложения Б
procedure Edit5KeyPress(Sender: TObject; var Key: Char);
end;
var
F2: TForm2;
implementation
uses Unit1, DB, Unit3, Unit6;
{$R *.dfm}
procedure TForm2.Button2Click(Sender: TObject);
begin
close;
end;
procedure TForm2.Button1Click(Sender: TObject);
var i,ost:integer;
za:array [0..3] of string;
begin
dm6.T1.Close;
dm6.T2.Close;
dm6.T3.Close;
dm6.T1.Open;
dm6.T2.Open;
dm6.T3.Open;
DM6.T1.RecNo:=1;
DM6.T2.RecNo:=1;
DM6.T3.RecNo:=1;
za[0]:=edit1.Text;
za[1]:=edit2.Text;
za[2]:=edit3.Text;
za[3]:=edit4.Text;
//заявка
if unit1.kn=0 then
if (edit1.Text='')and(edit2.Text=
messageBox(0,'Заполни все поля','Ошибка',0)
else
begin
Продолжение приложения Б
DM6.T2.Append;
DM6.T2.FieldByName('Магазин').
DM6.T2.FieldByName('Наз. книги').AsString:=za[0];
DM6.T2.FieldByName('Автор').
DM6.T2.FieldByName('Треб. кол').AsString:=za[2];
DM6.T2.Post;
DM6.T2.Refresh;
ost:=strtoint(za[2]);
while ((ost<>0) and (not(DM6.T1.Eof))) do
begin
if (DM6.T1.FieldByName('Наз. книги').AsString=za[0])and(
begin
if ost>=DM6.T1.fieldbyname('
begin
ost:=ost-DM6.T1.fieldbyname('
DM6.T2.Edit;
DM6.T2.FieldByName('Треб. кол').AsInteger:=ost;
DM6.T2.Post;
DM6.T2.Refresh;
DM6.T3.AppendRecord([DM6.T2.
DM6.T1.fieldbyname('Тираж').
DM6.T1.fieldbyname('Тираж').
DM6.T3.Refresh;
DM6.T1.Edit;
DM6.T1.Delete;
DM6.T1.Refresh;
end
else
begin
DM6.T1.Edit;
DM6.T1.fieldbyname('Тираж').
Продолжение приложения Б
DM6.T1.Post;
DM6.T1.Refresh;
DM6.T3.AppendRecord([DM6.T2.
strtoint(za[2]),DM6.T1.
DM6.T2.Edit;
DM6.T2.FieldByName('Треб. кол').AsInteger:=0;
DM6.T2.Post;
ost:=0;
DM6.T3.Refresh;
end;
end;
DM6.T1.Next;
end;
f1.clearf2;
end;
if unit1.kn=1 then
begin
DM6.T2.Append;
DM6.T2.FieldByName('Магазин').
DM6.T2.FieldByName('Наз. книги').AsString:=za[0];
DM6.T2.FieldByName('Автор').
DM6.T2.FieldByName('Треб. кол').AsString:=za[2];
DM6.T2.Post;
DM6.T2.Refresh;
f1.clearf2;
end;
//получение книг
if unit1.kn=2 then
if
(edit1.Text='')and(edit2.Text=
messageBox(0,'Заполни все поля','Ошибка',0)
Продолжение приложения Б
else
begin
//добавление
если такая запись уже
if
not varisnull(DM6.T1.Lookup('
begin
messageBox(0,'Данная
книга уже существует','Ошибка'
MessageBox(0,'Тираж
добавиться к существующей
DM6.T1.Locate('
DM6.T1.Edit;
DM6.T1.FieldByName('
DM6.T1.Post;
DM6.T1.Refresh;
f1.clearf2;
end
else
begin
//добление новой записи
DM6.T1.Append;
DM6.T1.FieldByName('
DM6.T1.FieldByName('Наз. книги').AsString:=za[0];
DM6.T1.FieldByName('
DM6.T1.FieldByName('
DM6.T1.FieldByName('Цена'
DM6.T1.Post;
DM6.T1.Refresh;
f1.clearf2;
end;
//просмотр необработанных заявок
if
MessageBox(0,'Просмотреть необработанные заявки','Соощение',mb_YesNo)=6
then
Продолжение приложения Б
if
(DM6.T2.Locate('Наз. книги;Автор;',VarArrayOf([za[
begin
DM6.T1.Locate('
if
DM6.T2.FieldByName('Треб. кол').AsInteger>=strtoint(za[
begin
DM6.T3.Append;
DM6.T3.FieldByName('№
заказа').AsString:=DM6.T2.
DM6.T3.FieldByName('
DM6.T3.FieldByName('
DM6.T3.FieldByName('Цена'
DM6.T3.FieldByName('
DM6.T3.Post;
DM6.T3.Refresh;
DM6.T3.Open;
DM6.T1.Edit;
DM6.T1.Delete;
DM6.T1.Refresh;
DM6.T2.Edit;
DM6.T2.FieldByName('Треб.
кол').AsInteger:=DM6.T2.
DM6.T2.Post;
DM6.T2.Refresh;
end
else
begin
DM6.T3.Append;
DM6.T3.FieldByName('№
заказа').AsString:=DM6.T2.
DM6.T3.FieldByName('
Продолжение приложения Б
DM6.T3.FieldByName('
DM6.T3.FieldByName('Цена'
DM6.T3.FieldByName('
DM6.T3.Post;
DM6.T3.Refresh;
DM6.T1.Edit;
DM6.T1.FieldByName('
DM6.T1.Post;
DM6.T1.Refresh;
DM6.T2.Edit;
DM6.T2.FieldByName('Треб. кол').AsInteger:=0;
DM6.T2.Post;
DM6.T2.Refresh;
end;
end;
end;
//удаление
if unit1.kn=3 then
if (edit4.Text='') then
messageBox(0,'Заполни все поля','Ошибка',0)
else
if ComboBox1.ItemIndex=-1 then messageBox(0,'Выбери таблицу','Ошибка',0)
else
case ComboBox1.ItemIndex of
0:
if
DM6.T1.Locate('ID',edit4.Text,
else
begin
DM6.T1.Edit;
DM6.T1.Delete;
DM6.T1.Refresh;
Продолжение приложения Б
end;
1:
if
DM6.T2.Locate('№ заказа',
else
if
MessageBox(0,'Вы нарушите
begin
DM6.T2.Edit;