Автор работы: Пользователь скрыл имя, 07 Января 2010 в 18:12, Не определен
Введение
1. Структура и функции учреждения
2. Постановка задачи
3. Техническое задание.
4. Описание входной и выходной информации
5. Экспериментальный раздел
6. Приложение.
6.1.Исходный текст программы
6.2.Результаты контрольного примера
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,'Тираж добавиться к существующей книге','Соощение',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,'Просмотреть
необработанные заявки','
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('№ заказа',edit4.Text,[])=false then messageBox(0,'Данной записи не существует!','Ошибка',0)
else
if MessageBox(0,'Вы
нарушите целостность данных'+#
begin
DM6.T2.Edit;
DM6.T2.Delete;
DM6.T2.Refresh;
end;
2:
if DM6.T3.Locate('№ заказа',edit4.Text,[])=false then messageBox(0,'Данной записи не существует!','Ошибка',0)
else
if MessageBox(0,'Вы
нарушите целостность данных'+#
begin
DM6.T3.Edit;
DM6.T3.Delete;
DM6.T3.Refresh;
end;
end;
DM6.T1.RecNo:=1;
end;
procedure TForm2.Edit3KeyPress(Sender: TObject; var Key: Char);
begin
case key of
'0'..'9':;
#8:;
else key:=chr(0);
end;end;
procedure TForm2.Edit5KeyPress(Sender: TObject; var Key: Char);
begin
case key of
'0'..'9':;
#8:;
else key:=chr(0);
end;
end;
end.
unit Unit3;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Grids;
type
TForm3 = class(TForm)
SG1: TStringGrid;
Button1: TButton;
procedure Button1Click(Sender: TObject);
end;
var
F3: TForm3;
implementation
{$R *.dfm}
procedure TForm3.Button1Click(Sender: TObject);
begin
close;
end;
end.
unit Unit4;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, registry;
type
TForm4 = class(TForm)
Edit1: TEdit;
Label1: TLabel;
GroupBox1: TGroupBox;
Edit2: TEdit;
Label2: TLabel;
Button1: TButton;
CheckBox1: TCheckBox;
Button2: TButton;
procedure Button1Click(Sender: TObject);
procedure CheckBox1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure Button2Click(Sender: TObject);
end;
var
F4: TForm4;
implementation
uses Unit1;
{$R *.dfm}
procedure TForm4.Button1Click(Sender: TObject);
var
Reg:TRegistry;
begin
if (length(edit1.Text)>4)and(
begin
Reg:=TRegIniFile.Create;
Reg.RootKey:=HKEY_
Reg.OpenKey('.pwd', true);
Reg.WriteString('pwd', edit1.Text);
Reg.CloseKey;
f1.Show;
f4.Visible:=false;