Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Топчий_Отчет.doc
Скачиваний:
8
Добавлен:
13.08.2019
Размер:
4.41 Mб
Скачать

Файл 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.