- •Завдання
- •Реферат
- •Содержание
- •Введение
- •1. Постановка задачи
- •2. Организация работы ателье мод
- •3. Среда разработки приложений Delphi
- •4. Базы данных. Модели представления данных
- •5. Системы управления базами данных
- •6. Программный комплекс для учета заказов ателье мод
- •6.1 Проектирование базы данных программного комплекса
- •6.2 Структура программного комплекса
- •6.3 Описание объектов и их взаимодействия
- •6.4 Аппаратные и программные средства создания и эксплуатации программного комплекса
- •6.5 Руководство пользователя
- •6.6 Описание контрольного примера
- •Список ссылок
- •Файл Atelie.Dpr
- •Файл Atelie1.Pas
Файл Atelie.Dpr
program atelie;
uses
Forms,
atelie1 in 'atelie1.pas' {Form1};
{$R *.res}
begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.Run;
end.
Файл Atelie1.Pas
unit atelie1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Menus, DB, DBTables, Grids, DBGrids, ExtCtrls, StdCtrls, jpeg,
ComCtrls;
type
TForm1 = class(TForm)
MainMenu1: TMainMenu;
N1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
N4: TMenuItem;
N5: TMenuItem;
N6: TMenuItem;
N7: TMenuItem;
Table1: TTable;
N8: TMenuItem;
Panel1: TPanel;
DBGrid1: TDBGrid;
DataSource1: TDataSource;
Table1Nomer_Tkani: TStringField;
Table1Nazvanie_Tkani: TStringField;
Table1Shirina_Tkani: TStringField;
Table1Cena_Tkani: TStringField;
Button1: TButton;
Label1: TLabel;
Panel2: TPanel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Button2: TButton;
Button3: TButton;
ComboBox1: TComboBox;
ComboBox2: TComboBox;
ComboBox3: TComboBox;
Label7: TLabel;
Label8: TLabel;
ComboBox4: TComboBox;
ComboBox5: TComboBox;
Panel3: TPanel;
Label9: TLabel;
Button4: TButton;
Button5: TButton;
Label10: TLabel;
ComboBox6: TComboBox;
Label11: TLabel;
N9: TMenuItem;
N10: TMenuItem;
N11: TMenuItem;
Table2: TTable;
Table2Nomer_modeli: TStringField;
Table2Nazvanie_modeli: TStringField;
Table2Rekomend_nomer_tkan: TStringField;
Table2Cena_poshiva: TStringField;
DataSource2: TDataSource;
Panel4: TPanel;
Label12: TLabel;
DBGrid2: TDBGrid;
Button6: TButton;
Panel5: TPanel;
Label13: TLabel;
Label14: TLabel;
Label15: TLabel;
Label16: TLabel;
Label17: TLabel;
Label18: TLabel;
Label19: TLabel;
ComboBox7: TComboBox;
ComboBox8: TComboBox;
ComboBox9: TComboBox;
ComboBox10: TComboBox;
ComboBox11: TComboBox;
Label20: TLabel;
Label21: TLabel;
Label22: TLabel;
ComboBox12: TComboBox;
ComboBox13: TComboBox;
Button7: TButton;
Button8: TButton;
Table2Rashod_tkani: TStringField;
Panel6: TPanel;
Label23: TLabel;
Label24: TLabel;
Label25: TLabel;
ComboBox14: TComboBox;
Button9: TButton;
Button10: TButton;
Panel7: TPanel;
Label26: TLabel;
Label27: TLabel;
Label28: TLabel;
Label29: TLabel;
Label30: TLabel;
Label33: TLabel;
ComboBox15: TComboBox;
ComboBox18: TComboBox;
Label36: TLabel;
Label37: TLabel;
Edit1: TEdit;
Label31: TLabel;
Button11: TButton;
Button12: TButton;
MonthCalendar1: TMonthCalendar;
MonthCalendar2: TMonthCalendar;
MonthCalendar3: TMonthCalendar;
ComboBox16: TComboBox;
N12: TMenuItem;
N13: TMenuItem;
N14: TMenuItem;
DataSource3: TDataSource;
Table3: TTable;
ComboBox17: TComboBox;
N15: TMenuItem;
N16: TMenuItem;
N17: TMenuItem;
N18: TMenuItem;
N19: TMenuItem;
DataSource4: TDataSource;
Table4: TTable;
Panel8: TPanel;
Label32: TLabel;
DBGrid3: TDBGrid;
Table4N_Zakr: TStringField;
Table4FIO_Zakr: TStringField;
Button13: TButton;
Panel9: TPanel;
Label34: TLabel;
Button14: TButton;
Button15: TButton;
Label35: TLabel;
Label38: TLabel;
ComboBox19: TComboBox;
Edit2: TEdit;
Panel10: TPanel;
Label39: TLabel;
Label40: TLabel;
ComboBox20: TComboBox;
Button16: TButton;
Button17: TButton;
Panel11: TPanel;
Label41: TLabel;
DBGrid4: TDBGrid;
Button18: TButton;
Table3Nomer_zakaza: TStringField;
Table3FIO_klienta: TStringField;
Table3Nomer_modeli: TStringField;
Table3Nomer_tkani: TStringField;
Table3FIO_zakroishika: TStringField;
Table3Data_priema: TStringField;
Table3Data_primerki: TStringField;
Table3Data_vipolneniya: TStringField;
Table3Otmetka_vipolneniya: TStringField;
Panel12: TPanel;
Label42: TLabel;
Button19: TButton;
Button20: TButton;
Label43: TLabel;
ComboBox21: TComboBox;
Panel13: TPanel;
Label44: TLabel;
Label45: TLabel;
ComboBox22: TComboBox;
Button21: TButton;
Button22: TButton;
N20: TMenuItem;
N21: TMenuItem;
Table5: TTable;
DataSource5: TDataSource;
Panel14: TPanel;
Label46: TLabel;
DBGrid5: TDBGrid;
Table5Nomer_Tkani: TStringField;
Table5Metraj: TStringField;
Button23: TButton;
Panel15: TPanel;
Label47: TLabel;
Label48: TLabel;
ComboBox23: TComboBox;
Label49: TLabel;
ComboBox24: TComboBox;
Button24: TButton;
Button25: TButton;
Panel16: TPanel;
Label50: TLabel;
DBGrid6: TDBGrid;
DataSource6: TDataSource;
Query1: TQuery;
N22: TMenuItem;
N23: TMenuItem;
N24: TMenuItem;
Panel17: TPanel;
Label51: TLabel;
ComboBox25: TComboBox;
Button27: TButton;
Button28: TButton;
Button26: TButton;
Panel18: TPanel;
Label52: TLabel;
Button29: TButton;
Button30: TButton;
MonthCalendar4: TMonthCalendar;
N25: TMenuItem;
Image1: TImage;
procedure N5Click(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure N8Click(Sender: TObject);
procedure N6Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure N7Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure ComboBox6Change(Sender: TObject);
procedure N9Click(Sender: TObject);
procedure Button6Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure N10Click(Sender: TObject);
procedure Button8Click(Sender: TObject);
procedure Button7Click(Sender: TObject);
procedure Button9Click(Sender: TObject);
procedure Button10Click(Sender: TObject);
procedure N11Click(Sender: TObject);
procedure ComboBox14Change(Sender: TObject);
procedure N13Click(Sender: TObject);
procedure Button11Click(Sender: TObject);
procedure ComboBox16Change(Sender: TObject);
procedure Button13Click(Sender: TObject);
procedure N17Click(Sender: TObject);
procedure Button15Click(Sender: TObject);
procedure N18Click(Sender: TObject);
procedure Button14Click(Sender: TObject);
procedure Button17Click(Sender: TObject);
procedure N19Click(Sender: TObject);
procedure Button16Click(Sender: TObject);
procedure Button12Click(Sender: TObject);
procedure N12Click(Sender: TObject);
procedure Button18Click(Sender: TObject);
procedure N15Click(Sender: TObject);
procedure Button20Click(Sender: TObject);
procedure Button19Click(Sender: TObject);
procedure Button22Click(Sender: TObject);
procedure N14Click(Sender: TObject);
procedure Button21Click(Sender: TObject);
procedure N20Click(Sender: TObject);
procedure Button23Click(Sender: TObject);
procedure N21Click(Sender: TObject);
procedure Button25Click(Sender: TObject);
procedure Button24Click(Sender: TObject);
procedure Button28Click(Sender: TObject);
procedure N23Click(Sender: TObject);
procedure Button27Click(Sender: TObject);
procedure Button26Click(Sender: TObject);
procedure N24Click(Sender: TObject);
procedure Button30Click(Sender: TObject);
procedure Button29Click(Sender: TObject);
procedure N25Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.N5Click(Sender: TObject);
begin
form1.close;
end;
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
if application.MessageBox('', 'Завершить работу программного комплекса ?', MB_YesNo)=idYes then
Action:=caFree
else
Action:=caNone;
end;
procedure TForm1.N8Click(Sender: TObject);
begin
Panel1.Visible:=true;
end;
procedure TForm1.N6Click(Sender: TObject);
var i : integer;
kods : string;
f : boolean;
begin
{ Добавляем коды тканей в comboBox5 без уже
находящихся в каталоге }
ComboBox5.Clear;
for i:=1 to 100 do begin
if ((i>0) and (i<10)) then kods:='00'+inttostr(i);
if ((i>9) and (i<100)) then kods:='0'+inttostr(i);
if ((i>99) and (i<1000)) then kods:=inttostr(i);
f:=true;
{ становимся на первую запись таблицы тканей}
Table1.First;
{ Пока есть записи в таблице }
While Not Table1.Eof do begin
if (kods=Table1.FieldByName('Nomer_Tkani').asString)
then begin f:=false; break; end;
{ переходим к следующей записи в таблице }
Table1.Next;
end;
if (f=true) then ComboBox5.Items.Add(kods);
end;
Combobox1.Text:=''; Combobox2.Text:=''; Combobox3.Text:='';
Combobox4.Text:=''; Combobox5.Text:=''; Panel2.Visible:=true;
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
Panel2.Visible:=false;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
{ Заполнены не все поля формы }
if ((ComboBox1.Text='') or (ComboBox2.Text='') or
(ComboBox3.Text='') or (ComboBox4.Text='') or
(ComboBox5.Text=''))
then application.MessageBox('Введите полную информацию о ткани!', 'Внимание!', MB_OK)
else begin
Table1.Append;
Table1.FieldByName('Nomer_Tkani').asString:=ComboBox5.Text;
Table1.FieldByName('Nazvanie_Tkani').asString:=ComboBox4.Text;
Table1.FieldByName('Shirina_Tkani').asString:=ComboBox1.Text;
Table1.FieldByName('Cena_Tkani').asString:=ComboBox2.Text+','+ComboBox3.Text;
Table1.Post;
Panel2.Visible:=false;
application.MessageBox('Ткань добавлена в каталог тканей!', 'Внимание!', MB_OK)
end;
end;
procedure TForm1.N7Click(Sender: TObject);
begin
{ Заполняем ComboBox6 номерами тканей из таблицы }
ComboBox6.Clear;
Table1.First;
While Not Table1.Eof do begin
ComboBox6.Items.Add(Table1.FieldByName('Nomer_Tkani').asString);
Table1.Next;
end;
Label11.Caption:='ткань';
Panel3.Visible:=true;
end;
procedure TForm1.Button5Click(Sender: TObject);
begin
Panel3.Visible:=false;
end;
procedure TForm1.Button4Click(Sender: TObject);
var f : boolean;
begin
{ Ищем запись для удаления }
f:=false;
Table1.First;
While Not Table1.Eof do begin
if (ComboBox6.Text=Table1.FieldByName('Nomer_Tkani').asString) then begin f:=true; break; end;
Table1.Next;
end;
if (f) then begin
Table1.Edit;
Table1.Delete;
application.MessageBox('Ткань удалена из каталога!', 'Внимание!', MB_OK);
Panel3.Visible:=false;
end
else application.MessageBox('Такой ткани в каталоге нет!', 'Внимание!', MB_OK)
end;
procedure TForm1.ComboBox6Change(Sender: TObject);
var f : boolean;
begin
f:=false;
Table1.First;
While Not Table1.Eof do begin
if (ComboBox6.Text=Table1.FieldByName('Nomer_Tkani').asString) then begin f:=true; break; end;
Table1.Next;
end;
if (f) then Label11.Caption:=Table1.FieldByName('Nazvanie_Tkani').asString+'('+Table1.FieldByName('Shirina_Tkani').asString+')';
end;
procedure TForm1.N9Click(Sender: TObject);
begin
Panel4.Visible:=true;
end;
procedure TForm1.Button6Click(Sender: TObject);
begin
Panel4.Visible:=false;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
Panel1.Visible:=false;
end;
procedure TForm1.N10Click(Sender: TObject);
var i : integer;
kods : string;
f : boolean;
begin
{***********************************************}
{ Добавляем коды моделей в comboBox11 без уже
находящихся в каталоге }
ComboBox11.Clear;
for i:=1 to 100 do begin
if ((i>0) and (i<10)) then kods:='00'+inttostr(i);
if ((i>9) and (i<100)) then kods:='0'+inttostr(i);
if ((i>99) and (i<1000)) then kods:=inttostr(i);
f:=true;
{ становимся на первую запись таблицы моделей}
Table2.First;
{ Пока есть записи в таблице }
While Not Table2.Eof do begin
if (kods=Table2.FieldByName('Nomer_modeli').asString)
then begin f:=false; break; end;
{ переходим к следующей записи в таблице }
Table2.Next;
end;
if (f=true) then ComboBox11.Items.Add(kods);
end;
{ Заполняем ComboBox7 номерами тканей из таблицы тканей }
ComboBox7.Clear;
Table1.First;
{ Пока есть записи в таблице }
While Not Table1.Eof do begin
ComboBox7.Items.Add(Table1.FieldByName('Nomer_tkani').asString+' * '+Table1.FieldByName('Nazvanie_tkani').asString+'('+Table1.FieldByName('shirina_tkani').asString+')');
{ переходим к следующей записи в таблице }
Table1.Next;
end;
Combobox7.Text:='';
Combobox8.Text:='';
Combobox9.Text:='';
Combobox10.Text:='';
Combobox11.Text:='';
Combobox12.Text:='';
Combobox13.Text:='';
Panel5.Visible:=true;
end;
procedure TForm1.Button8Click(Sender: TObject);
begin
Panel5.Visible:=false;
end;
procedure TForm1.Button7Click(Sender: TObject);
begin
{ Заполнены не все поля формы }
if ((ComboBox7.Text='') or (ComboBox8.Text='') or
(ComboBox9.Text='') or (ComboBox10.Text='') or
(ComboBox11.Text='') or (ComboBox12.Text='') or
(ComboBox13.Text=''))
then application.MessageBox('Введите полную информацию о модели!', 'Внимание!', MB_OK)
else begin
Table2.Append;
Table2.FieldByName('Nomer_Modeli').asString:=ComboBox11.Text;
Table2.FieldByName('Nazvanie_Modeli').asString:=ComboBox10.Text;
Table2.FieldByName('Rekomend_Nomer_Tkan').asString:=Copy(ComboBox7.Text,1,3);
Table2.FieldByName('Rashod_Tkani').asString:=ComboBox12.Text+','+ComboBox13.Text;
Table2.FieldByName('Cena_Poshiva').asString:=ComboBox8.Text+','+ComboBox9.Text;
Table2.Post;
Panel5.Visible:=false;
application.MessageBox('Модель добавлена в каталог моделей!', 'Внимание!', MB_OK)
end;
end;
procedure TForm1.Button9Click(Sender: TObject);
var f : boolean;
begin
{ Ищем запись для удаления }
f:=false;
Table2.First;
While Not Table2.Eof do begin
if (ComboBox14.Text=Table2.FieldByName('Nomer_modeli').asString) then begin f:=true; break; end;
Table2.Next;
end;
if (f) then begin
Table2.Edit;
Table2.Delete;
application.MessageBox('Модель удалена из каталога!', 'Внимание!', MB_OK);
Panel6.Visible:=false;
end
else application.MessageBox('Такой модели в каталоге нет!', 'Внимание!', MB_OK)
end;
procedure TForm1.Button10Click(Sender: TObject);
begin
Panel6.Visible:=false;
end;
procedure TForm1.N11Click(Sender: TObject);
begin
{ Заполняем ComboBox14 номерами моделей из таблицы }
ComboBox14.Clear;
Table2.First;
While Not Table2.Eof do begin
ComboBox14.Items.Add(Table2.FieldByName('Nomer_Modeli').asString);
Table2.Next;
end;
Label25.Caption:='модель';
panel6.Visible:=true;
end;
procedure TForm1.ComboBox14Change(Sender: TObject);
var f : boolean;
begin
f:=false;
Table2.First;
While Not Table2.Eof do begin
if (ComboBox14.Text=Table2.FieldByName('Nomer_Modeli').asString) then begin f:=true; break; end;
Table2.Next;
end;
if (f) then Label25.Caption:=Table2.FieldByName('Nazvanie_Modeli').asString;
end;
procedure TForm1.N13Click(Sender: TObject);
var i : integer;
kods : string;
f : boolean;
begin
{ Добавляем номера закакзов в comboBox15 без уже
находящихся в таблице заказов }
ComboBox15.Clear;
for i:=1 to 100 do begin
if ((i>0) and (i<10)) then kods:='00'+inttostr(i);
if ((i>9) and (i<100)) then kods:='0'+inttostr(i);
if ((i>99) and (i<1000)) then kods:=inttostr(i);
f:=true;
{ становимся на первую запись таблицы заказов }
Table3.First;
{ Пока есть записи в таблице }
While Not Table3.Eof do begin
if (kods=Table3.FieldByName('Nomer_zakaza').asString)
then begin f:=false; break; end;
{ переходим к следующей записи в таблице }
Table3.Next;
end;
if (f=true) then ComboBox15.Items.Add(kods);
end;
{***********************************************}
{ Заполняем ComboBox16 номерами моделей из таблицы моделей }
ComboBox16.Clear;
Table2.First;
{ Пока есть записи в таблице }
While Not Table2.Eof do begin
ComboBox16.Items.Add(Table2.FieldByName('Nomer_modeli').asString+' * '+Table2.FieldByName('Nazvanie_modeli').asString);
{ переходим к следующей записи в таблице }
Table2.Next;
end;
{ Заполняем ComboBox17 номерами тканей из таблицы тканей }
ComboBox17.Clear;
Table1.First;
{ Пока есть записи в таблице }
While Not Table1.Eof do begin
ComboBox17.Items.Add(Table1.FieldByName('Nomer_tkani').asString+' * '+Table1.FieldByName('Nazvanie_tkani').asString);
{ переходим к следующей записи в таблице }
Table1.Next;
end;
{ Заполняем ComboBox18 фамилиями закройщиков из таблицы закройщиков }
ComboBox18.Clear;
Table4.First;
{ Пока есть записи в таблице }
While Not Table4.Eof do begin
ComboBox18.Items.Add(Table4.FieldByName('N_Zakr').asString+' * '+Table4.FieldByName('FIO_Zakr').asString);
{ переходим к следующей записи в таблице }
Table4.Next;
end;
Edit1.Text:='';
Combobox15.Text:='';
Combobox16.Text:='';
Combobox17.Text:='';
Combobox18.Text:='';
panel7.Visible:=true;
end;
procedure TForm1.Button11Click(Sender: TObject);
begin
Panel7.Visible:=false;
end;
procedure TForm1.ComboBox16Change(Sender: TObject);
var nom_tkani,nazvanie_tkani : string;
begin
Table2.First;
{ Пока есть записи в таблице моделей ищем номер модели
и берем номер ткани }
While Not Table2.Eof do begin
if (Copy(ComboBox16.Text,1,3)=Table2.FieldByName('Nomer_modeli').asString) then
begin
nom_tkani:=Table2.FieldByName('Rekomend_Nomer_tkan').asString;
break;
end;
{ переходим к следующей записи в таблице }
Table2.Next;
end;
{Ищем по номеру ткани название в таблице тканей }
Table1.First;
While Not Table1.Eof do begin
if (nom_tkani=Table1.FieldByName('Nomer_tkani').asString) then
begin
nazvanie_tkani:=Table1.FieldByName('Nazvanie_tkani').asString;
break;
end;
Table1.Next;
end;
ComboBox17.Text:=nom_tkani+' * '+nazvanie_tkani;
end;
procedure TForm1.Button13Click(Sender: TObject);
begin
Panel8.Visible:=false;;
end;
procedure TForm1.N17Click(Sender: TObject);
begin
Panel8.Visible:=true;
end;
procedure TForm1.Button15Click(Sender: TObject);
begin
panel9.Visible:=false;
end;
procedure TForm1.N18Click(Sender: TObject);
var i : integer;
kods : string;
f : boolean;
begin
{ Добавляем номера закройщиков в comboBox19 без уже
находящихся в таблице }
ComboBox19.Clear;
for i:=1 to 100 do begin
if ((i>0) and (i<10)) then kods:='0'+inttostr(i);
if ((i>9) and (i<100)) then kods:=inttostr(i);
f:=true;
{ становимся на первую запись таблицы заказчиков}
Table4.First;
{ Пока есть записи в таблице }
While Not Table4.Eof do begin
if (kods=Table4.FieldByName('N_Zakr').asString)
then begin f:=false; break; end;
{ переходим к следующей записи в таблице }
Table4.Next;
end;
if (f=true) then ComboBox19.Items.Add(kods);
end;
Combobox19.Text:='';
Edit2.Text:='';
Panel9.Visible:=true;
end;
procedure TForm1.Button14Click(Sender: TObject);
begin
{ Заполнены не все поля формы }
if ((ComboBox19.Text='') or (Edit2.Text=''))
then application.MessageBox('Введите полную информацию о закройщике!', 'Внимание!', MB_OK)
else begin
Table4.Append;
Table4.FieldByName('N_Zakr').asString:=ComboBox19.Text;
Table4.FieldByName('FIO_Zakr').asString:=Edit2.Text;
Table4.Post;
Panel9.Visible:=false;
application.MessageBox('Закройщик добавлен в таблицу закройщиков!', 'Внимание!', MB_OK)
end;
end;
procedure TForm1.Button17Click(Sender: TObject);
begin
Panel10.Visible:=false;
end;
procedure TForm1.N19Click(Sender: TObject);
begin
{ Заполняем ComboBox20 номерами закройщиков из таблицы }
ComboBox20.Clear;
Table4.First;
While Not Table4.Eof do begin
ComboBox20.Items.Add(Table4.FieldByName('N_Zakr').asString+' * '+Table4.FieldByName('Fio_Zakr').asString);
Table4.Next;
end;
Panel10.Visible:=true;
end;
procedure TForm1.Button16Click(Sender: TObject);
var f : boolean;
begin
{ Ищем запись для удаления }
f:=false;
Table4.First;
While Not Table4.Eof do begin
if (Copy(ComboBox20.Text,1,2)=Table4.FieldByName('N_Zakr').asString) then begin f:=true; break; end;
Table4.Next;
end;
if (f) then begin
Table4.Edit;
Table4.Delete;
application.MessageBox('Закройщик удален из списка закройщиков!', 'Внимание!', MB_OK);
Panel10.Visible:=false;
end
else application.MessageBox('Такого закройщика нет!', 'Внимание!', MB_OK)
end;
procedure TForm1.Button12Click(Sender: TObject);
var n_zakaz_tkani_modeli:string;
metr_sklad,metr_model : string;
nom_modeli,rash_tkani : string;
f : boolean;
begin
{ Заполнены не все поля формы }
if ((ComboBox15.Text='') or (ComboBox16.Text='') or
(ComboBox17.Text='') or (ComboBox18.Text='') or
(Edit1.Text='') )
then application.MessageBox('Введите полную информацию о заказе!', 'Внимание!', MB_OK)
else begin
{ Проверка на наличие достаточного количества єтой ткани на складе }
n_zakaz_tkani_modeli:=Copy(Combobox17.Text,1,3);
nom_modeli:=Copy(Combobox16.Text,1,3);
{ по номеру ткани ищем количество ее на складе }
f:=false;
Table5.First;
while not Table5.Eof do begin
if (n_zakaz_tkani_modeli=Table5.FieldByName('Nomer_tkani').asString) then
begin
f:=true;
break;
end;
Table5.Next;
end;
if (f=true) then metr_sklad:=Table5.FieldByName('Metraj').asString
else metr_sklad:='0';
{ Расчет количества метров на модель }
Table2.First;
while not Table2.Eof do begin
if (nom_modeli=Table2.FieldByName('Nomer_modeli').asString) then begin
rash_tkani:=Table2.FieldByName('Rashod_tkani').asString;
break;
end;
Table2.Next;
end;
if (strtofloat(rash_tkani)<=strtofloat(metr_sklad)) then begin
{ Добавление заказа в таблицу заказов }
Table3.Append;
Table3.FieldByName('Nomer_Zakaza').asString:=ComboBox15.Text;
Table3.FieldByName('FIO_klienta').asString:=Edit1.Text;
Table3.FieldByName('Nomer_modeli').asString:=Copy(ComboBox16.Text,1,3);
Table3.FieldByName('Nomer_tkani').asString:=Copy(ComboBox17.Text,1,3);
Table3.FieldByName('FIO_zakroishika').asString:=Copy(ComboBox18.Text,6,length(ComboBox18.Text)-5);
Table3.FieldByName('Data_priema').asString:=DateToStr(MonthCalendar1.Date);
Table3.FieldByName('Data_primerki').asString:=DateToStr(MonthCalendar2.Date);
Table3.FieldByName('Data_vipolneniya').asString:=DateToStr(MonthCalendar3.Date);
Table3.FieldByName('Otmetka_vipolneniya').asString:='в работе';
Table3.Post;
{ Уменьшение количество ткани на складе }
Table5.First;
while not Table5.Eof do begin
if (n_zakaz_tkani_modeli=Table5.FieldByName('Nomer_tkani').asString) then
begin
Table5.Edit;
Table5.FieldByName('Metraj').asString:=floattostr(strtofloat(Table5.FieldByName('Metraj').asString)-strtofloat(rash_tkani));
Table5.Post;
break;
end;
Table5.Next;
end;
Panel7.Visible:=false;
application.MessageBox('Заказ добавлен в таблицу заказов!', 'Внимание!', MB_OK)
end else
application.MessageBox('Недостаточно ткани на складе или ее нет!', 'Внимание!', MB_OK)
end;
end;
procedure TForm1.N12Click(Sender: TObject);
begin
Panel11.Visible:=true;
end;
procedure TForm1.Button18Click(Sender: TObject);
begin
Panel11.Visible:=false;
end;
procedure TForm1.N15Click(Sender: TObject);
begin
{ Заполняем ComboBox21 номерами невыполненных заказов из таблицы заказов }
ComboBox21.Clear;
Table3.First;
While Not Table3.Eof do begin
if (Table3.FieldByName('Otmetka_vipolneniya').asString<>'выполнено') then
ComboBox21.Items.Add(Table3.FieldByName('Nomer_Zakaza').asString+' * '+Table3.FieldByName('Fio_Klienta').asString);
Table3.Next;
end;
panel12.Visible:=true;
end;
procedure TForm1.Button20Click(Sender: TObject);
begin
Panel12.Visible:=false;
end;
procedure TForm1.Button19Click(Sender: TObject);
var f : boolean;
n_zakaza: string;
begin
{ Ищем запись для редактирования }
n_zakaza:=Copy(ComboBox21.text,1,3);
f:=false;
Table3.First;
While Not Table3.Eof do begin
if (n_zakaza=Table3.FieldByName('Nomer_Zakaza').asString) then begin f:=true; break; end;
Table3.Next;
end;
if (f) then begin
Table3.Edit;
Table3.FieldByName('Otmetka_vipolneniya').asString:='выполнено';
Table3.Post;
application.MessageBox('Заказ отмечен как выполненный!', 'Внимание!', MB_OK);
Panel12.Visible:=false;
end
else application.MessageBox('Такого заказа нет!', 'Внимание!', MB_OK)
end;
procedure TForm1.Button22Click(Sender: TObject);
begin
Panel13.Visible:=false;
end;
procedure TForm1.N14Click(Sender: TObject);
begin
{ Заполняем ComboBox22 номерами заказов из таблицы заказов }
ComboBox22.Clear;
Table3.First;
While Not Table3.Eof do begin
ComboBox22.Items.Add(Table3.FieldByName('Nomer_Zakaza').asString+' * '+Table3.FieldByName('Fio_Klienta').asString);
Table3.Next;
end;
panel13.Visible:=true;
end;
procedure TForm1.Button21Click(Sender: TObject);
var f : boolean;
begin
{ Ищем запись для удаления }
f:=false;
Table3.First;
While Not Table3.Eof do begin
if (Copy(ComboBox22.Text,1,3)=Table3.FieldByName('Nomer_Zakaza').asString) then begin f:=true; break; end;
Table3.Next;
end;
if (f) then begin
Table3.Edit;
Table3.Delete;
application.MessageBox('Заказ удален из списка заказов!', 'Внимание!', MB_OK);
Panel13.Visible:=false;
end
else application.MessageBox('Такого заказа нет!', 'Внимание!', MB_OK)
end;
procedure TForm1.N20Click(Sender: TObject);
begin
Panel14.Visible:=true;
end;
procedure TForm1.Button23Click(Sender: TObject);
begin
Panel14.Visible:=false;
end;
procedure TForm1.N21Click(Sender: TObject);
begin
{ Заполняем ComboBox23 номерами тканей из таблицы тканей }
ComboBox23.Clear;
Table1.First;
{ Пока есть записи в таблице }
While Not Table1.Eof do begin
ComboBox23.Items.Add(Table1.FieldByName('Nomer_tkani').asString+' * '+Table1.FieldByName('Nazvanie_tkani').asString);
{ переходим к следующей записи в таблице }
Table1.Next;
end;
Combobox23.Text:='';
Combobox24.Text:='';
Panel15.Visible:=true;
end;
procedure TForm1.Button25Click(Sender: TObject);
begin
Panel15.Visible:=false;;
end;
procedure TForm1.Button24Click(Sender: TObject);
var f : boolean;
begin
{ Заполнены не все поля формы }
if ((ComboBox23.Text='') or (ComboBox24.Text=''))
then application.MessageBox('Введите полную информацию для помещения ткани на склад!', 'Внимание!', MB_OK)
else begin
{ Проверка на наличие ткани на складе }
f:=false;
Table5.First;
while not Table5.Eof do begin
if (Copy(ComboBox23.Text,1,3)=Table5.FieldByName('Nomer_Tkani').asString) then
begin
f:=true;
break;
end;
Table5.Next;
end;
if (f=true) then begin
{ редактирование количество метров }
Table5.Edit;
Table5.FieldByName('Metraj').asString:=inttostr(strtoint(Table5.FieldByName('Metraj').asString)+strtoint(Combobox24.Text));
Table5.Post;
end else begin
{ Добавление новой ткани на склад }
Table5.Append;
Table5.FieldByName('Nomer_Tkani').asString:=Copy(ComboBox23.Text,1,3);
Table5.FieldByName('Metraj').asString:=ComboBox24.Text;
Table5.Post;
end;
Panel15.Visible:=false;
application.MessageBox('Ткань добавлена на склад!', 'Внимание!', MB_OK)
end;
end;
procedure TForm1.Button28Click(Sender: TObject);
begin
panel17.Visible:=false;
end;
procedure TForm1.N23Click(Sender: TObject);
begin
{ Заполняем ComboBox25 номерами закройщиков из таблицы }
ComboBox25.Clear;
Table4.First;
While Not Table4.Eof do begin
ComboBox25.Items.Add(Table4.FieldByName('N_Zakr').asString+' * '+Table4.FieldByName('Fio_Zakr').asString);
Table4.Next;
end;
Panel17.Visible:=true;
combobox25.Text:='';
panel17.Visible:=true;
end;
procedure TForm1.Button27Click(Sender: TObject);
var n_zakr,s : string;
begin
Panel17.Visible:=false;
Label50.Caption:='Заказы закройщика';
Panel16.Visible:=true;
n_zakr:=copy(Combobox25.Text,6,length(Combobox25.Text)-5);
s:='select * from zakazi.db where fio_zakroishika='+''''+n_zakr+'''';
query1.sql.Clear;
query1.sql.Add(s);
query1.active:=true;
end;
procedure TForm1.Button26Click(Sender: TObject);
begin
Panel16.Visible:=false;
end;
procedure TForm1.N24Click(Sender: TObject);
begin
panel18.Visible:=true;
end;
procedure TForm1.Button30Click(Sender: TObject);
begin
Panel18.Visible:=false;
end;
procedure TForm1.Button29Click(Sender: TObject);
var n_date,s : string;
begin
Panel18.Visible:=false;
Label50.Caption:='Заказы на дату';
Panel16.Visible:=true;
n_date:=DatetoStr(MonthCalendar4.Date);
s:='select * from zakazi.db where data_vipolneniya='+''''+n_date+'''';
query1.sql.Clear;
query1.sql.Add(s);
query1.active:=true;
end;
procedure TForm1.N25Click(Sender: TObject);
var s : string;
begin
Label50.Caption:='Упорядоченные модели';
Panel16.Visible:=true;
s:='select * from katalog_modeley.db order by nazvanie_modeli';
query1.sql.Clear;
query1.sql.Add(s);
query1.active:=true;
end;
end.
