Программное средство, которое обеспечивает учет спецодежды в Молодечненских электрических сетях
Описание предметной области, входной и выходной информации, функциональное и информационное моделирование, разработка структуры базы данных. Требования к аппаратному и программному обеспечению. Компоненты и интерфейс программы, ее вызов и загрузка.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 06.07.2012 |
Размер файла | 4,8 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Для дальнейшей доработки этой программы необходимо сначала в течение некоторого времени применять её для оценки эффективности, а потом добавлять или исправлять все недочеты, которые пропустил или не посчитал нужным реализовывать разработчик. В результате выполнения дипломного проекта усовершенствованы знания в области объектно-ориентированного программирования, разработке баз данных, приобретены навыки использования научно-технической и экономической информации.
В данном дипломном проекте разработано программное средство, автоматизирующее работу по учету спецодежды в Молодечненских электрических сетях.
Для выполнения данной задачи был проведен анализ существующих программ, определена их функциональность, выявлены недостатки, которые не позволяют использовать их для решения задачи в нашей Республике.
Выполнена постановка задач на проектирование программного средства, обоснование его архитектурных построений.
Разработка компонентов велась с использованием CASE-средств BPWin (для определения спецификации требований на программное средство) и ErWin (для получения схемы данных).
Произведена реализация реляционной базы данных с нормализацией таблиц.
Для реализации приложения была выбрана среда разработки Borland Delphi 7. Данный выбор значительно упростил создание приложения с графическим многооконным интерфейсом и организацию доступа к данным.
Данное программное средство может быть доведено до программного продукта после более детального тестирования у заказчика и разработки программной документации.
В случае разработки последующих версий программы можно добавить функциональность, новые отчеты и усовершенствовать существующую базу данных.
Список используемых источников
1 Антонова, Н. Б. Экономика предприятия: Учебное пособие / Н. Б. Антонова, М. А. Зайцева, Л. Н. Нехорошева, - Мн.: Высшая школа., 2004. - 383 с.
2 Большаков, Ю. В. «Охрана труда» Республиканский журнал для специалистов и руководителей №6, декабрь, 2005г. / Ю. В. Большаков, С. Н. Винерский, А. И. Кохнюк -Мн.: 2005. - 33с.
3 Крылова, Е. Г. «Охрана труда и социальная защита» Республиканский научно-популярный, производственно-технический журнал №11 2005 г./ Е. Г. Крылова -Мн.: 2005. - 33с.
4 Куприянов, А.В. Самоучитель Windows XP: Все об использовании и настройках / А.В. Куприянов, М.Д. Матвеев, М.В. Юдин. - Санкт-Петербург: Изд-во «Наука и техника», 2006. - 624с.
5 Молосаева, Н. В. Дипломное проектирование: Методические рекомендации по экономическому разделу / Н. В. Молосаева, - Мн.: МГВРК, 1998. - 40с.
6 Сорокин, А.Н. Delphi разработка баз данных / А. Н. Сорокин. - СПб: Питер, 2005. -447с.
7 Фаронов, В. Программирование баз данных в Delphi 7: Учебный курс / В. Фаронов. - Санкт-Петербург: ООО «Питер Пресс», 2006. - 459с
8 Фаронов, В. Программирование на языке высокого уровня: Учебник для вузов / В. Фаронов. - Санкт-Петербург: ООО «Питер Пресс»,2009. - 640с.
9 Закон Республики Беларусь от 18.06.1993 года "О государственной экологической экспертизе".
10 Санитарные правила и нормы «СанПин» 9-131 Р.Б., 2000 г.
Приложение А
(обязательное)
Листинг программы
program Project1;
uses
Forms,
Unit1 in 'Unit1.pas' {Form1},
Unit2 in 'Unit2.pas' {ed_izm},
Unit3 in 'Unit3.pas' {izd},
Unit4 in 'Unit4.pas' {rabot},
Unit5 in 'Unit5.pas' {mater},
Unit6 in 'Unit6.pas' {stat},
Unit7 in 'Unit7.pas' {sostav},
Unit8 in 'Unit8.pas' {nov_sostav},
Unit9 in 'Unit9.pas' {norm_rasc},
Unit10 in 'Unit10.pas' {nov_norm_rasc},
Unit11 in 'Unit11.pas' {kalk},
Unit12 in 'Unit12.pas' {nov_kalk},
Unit13 in 'Unit13.pas' {otch_kalk},
Unit14 in 'Unit14.pas' {otch_sostav},
Unit15 in 'Unit15.pas' {otch_norm_rasc},
Unit16 in 'Unit16.pas' {otch_izd},
Unit17 in 'Unit17.pas' {otch_mat},
Unit18 in 'Unit18.pas' {otch_rab},
Unit19 in 'Unit19.pas' {o_prog},
Unit20 in 'Unit20.pas' {help},
Unit21 in 'Unit21.pas' {style};
{$R *.res}
begin
Application.Initialize;
Application.Title := '';
Application.CreateForm(TForm1, Form1);
Application.CreateForm(Ted_izm, ed_izm);
Application.CreateForm(Tizd, izd);
Application.CreateForm(Trabot, rabot);
Application.CreateForm(Tmater, mater);
Application.CreateForm(Tstat, stat);
Application.CreateForm(Tsostav, sostav);
Application.CreateForm(Tnov_sostav, nov_sostav);
Application.CreateForm(Tnorm_rasc, norm_rasc);
Application.CreateForm(Tnov_norm_rasc, nov_norm_rasc);
Application.CreateForm(Tkalk, kalk);
Application.CreateForm(Tnov_kalk, nov_kalk);
Application.CreateForm(Totch_kalk, otch_kalk);
Application.CreateForm(Totch_sostav, otch_sostav);
Application.CreateForm(Totch_norm_rasc, otch_norm_rasc);
Application.CreateForm(Totch_izd, otch_izd);
Application.CreateForm(Totch_mat, otch_mat);
Application.CreateForm(Totch_rab, otch_rab);
Application.CreateForm(To_prog, o_prog);
Application.CreateForm(Thelp, help);
Application.CreateForm(Tstyle, style);
Application.Run;
end.
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Menus, DB, IBCustomDataSet, IBDatabase, XPMan, sSkinManager, StdCtrls;
type
TForm1 = class(TForm)
IBDatabase1: TIBDatabase;
IBTransaction1: TIBTransaction;
Ed_Set: TIBDataSet;
Ed_Source: TDataSource;
MainMenu1: TMainMenu;
N1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
N4: TMenuItem;
N6: TMenuItem;
N7: TMenuItem;
N8: TMenuItem;
N9: TMenuItem;
N10: TMenuItem;
N11: TMenuItem;
N12: TMenuItem;
N13: TMenuItem;
N14: TMenuItem;
N15: TMenuItem;
N19: TMenuItem;
N20: TMenuItem;
N21: TMenuItem;
N23: TMenuItem;
N24: TMenuItem;
Ed_SetKOD_ED_IZM: TIntegerField;
Ed_SetED_IZM: TIBStringField;
XPManifest1: TXPManifest;
Izd_Set: TIBDataSet;
Izd_Source: TDataSource;
Izd_SetKOD_IZD: TIntegerField;
Izd_SetKOD_OBOZN: TIBStringField;
Izd_SetIZD: TIBStringField;
Izd_SetPROEKT: TIBStringField;
Rabot_Set: TIBDataSet;
Rabot_Source: TDataSource;
Rabot_SetKOD_RABOT: TIntegerField;
Rabot_SetRABOT: TIBStringField;
mater_set: TIBDataSet;
mater_Source: TDataSource;
mater_setKOD_MATER: TIntegerField;
mater_setMATER: TIBStringField;
mater_setKOD_ED_IZM: TIntegerField;
mater_seted_izm: TStringField;
stat_Set: TIBDataSet;
stat_Source: TDataSource;
stat_SetKOD_STAT: TIntegerField;
stat_SetSTAT: TIBStringField;
stat_SetKOEF: TFloatField;
sostav_Set: TIBDataSet;
sostav_Source: TDataSource;
norm_rasc_Set: TIBDataSet;
norm_rasc_Source: TDataSource;
N5: TMenuItem;
N22: TMenuItem;
kalk_Set: TIBDataSet;
kalk_Source: TDataSource;
N25: TMenuItem;
sSkinManager1: TsSkinManager;
N16: TMenuItem;
N17: TMenuItem;
norm_rasc_SetKOD_NORM_RASC: TIntegerField;
norm_rasc_SetKOD_IZD: TIntegerField;
norm_rasc_SetKOD_RABOT: TIntegerField;
norm_rasc_SetMES: TIBStringField;
norm_rasc_SetGOD: TIntegerField;
norm_rasc_SetNORMA: TFloatField;
norm_rasc_SetRASCENKA: TFloatField;
sostav_SetKOD_SOSTAV: TIntegerField;
sostav_SetKOD_IZD: TIntegerField;
sostav_SetKOD_MATER: TIntegerField;
sostav_SetMES: TIBStringField;
sostav_SetGOD: TIntegerField;
sostav_SetNORMA: TFloatField;
sostav_SetSTOIM: TFloatField;
sostav_Setsum: TFloatField;
sostav_Setmater: TStringField;
sostav_Seted_izm: TStringField;
norm_rasc_Setrabot: TStringField;
sostav_Setizd: TStringField;
sostav_Setobozn: TStringField;
sostav_Setproekt: TStringField;
norm_rasc_Setizd: TStringField;
norm_rasc_Setobozn: TStringField;
norm_rasc_Setproekt: TStringField;
kalk_SetKOD_KALK: TIntegerField;
kalk_SetKOD_IZD: TIntegerField;
kalk_SetKOD_STAT: TIntegerField;
kalk_SetMES: TIBStringField;
kalk_SetGOD: TIntegerField;
kalk_SetKOEF: TFloatField;
kalk_SetSUMMA: TFloatField;
kalk_Setstat: TStringField;
kalk_Setizd: TStringField;
kalk_Setproekt: TStringField;
procedure N12Click(Sender: TObject);
procedure N10Click(Sender: TObject);
procedure N9Click(Sender: TObject);
procedure N8Click(Sender: TObject);
procedure N11Click(Sender: TObject);
procedure N13Click(Sender: TObject);
procedure sostav_SetCalcFields(DataSet: TDataSet);
procedure N14Click(Sender: TObject);
procedure N5Click(Sender: TObject);
procedure N22Click(Sender: TObject);
procedure N15Click(Sender: TObject);
procedure N25Click(Sender: TObject);
procedure N21Click(Sender: TObject);
procedure N19Click(Sender: TObject);
procedure N20Click(Sender: TObject);
procedure N7Click(Sender: TObject);
procedure N23Click(Sender: TObject);
procedure N24Click(Sender: TObject);
procedure sostav_SetsumChange(Sender: TField);
procedure norm_rasc_SetNORMAChange(Sender: TField);
procedure norm_rasc_SetRASCENKAChange(Sender: TField);
procedure N17Click(Sender: TObject);
procedure sostav_SetSTOIMChange(Sender: TField);
procedure sostav_SetNORMAChange(Sender: TField);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
uses Unit2, Unit3, Unit4, Unit5, Unit6, Unit7, Unit8, Unit10, Unit9, Unit11, Unit12, Unit13, Unit14, Unit15, Unit16, Unit17, Unit18, Unit19, Unit20, Unit21;
{$R *.dfm}
procedure TForm1.N12Click(Sender: TObject);
begin
ed_izm.Show;
end;
procedure TForm1.N10Click(Sender: TObject);
begin
izd.Show;
end;
procedure TForm1.N9Click(Sender: TObject);
begin
rabot.Show;
end;
procedure TForm1.N8Click(Sender: TObject);
begin
mater.Show;
end;
procedure TForm1.N11Click(Sender: TObject);
begin
stat.Show;
end;
procedure TForm1.N13Click(Sender: TObject);
begin
nov_sostav.BitBtn1.Visible:=true;
nov_sostav.BitBtn2.Visible:=false;
nov_sostav.BitBtn3.Visible:=false;
nov_sostav.Show;
end;
procedure TForm1.sostav_SetCalcFields(DataSet: TDataSet);
var
x,y,m: double;
n,s: integer;
begin
sostav_Setsum.Value:=sostav_SetSTOIM.Value*sostav_SetNORMA.Value;
x:=sostav_Setsum.Value*1000;
n:=Trunc(x);
s:=n mod 10;
y:=n/10;
n:=trunc(y);
if s<5 then sostav_Setsum.Value:=n/100 else sostav_Setsum.Value:=(n+1)/100;
end;
procedure TForm1.N14Click(Sender: TObject);
begin
nov_norm_rasc.BitBtn1.Visible:=true;
nov_norm_rasc.BitBtn2.Visible:=false;
nov_norm_rasc.BitBtn3.Visible:=false;
nov_norm_rasc.Show;
end;
procedure TForm1.N5Click(Sender: TObject);
begin
nov_sostav.BitBtn1.Visible:=false;
nov_sostav.BitBtn2.Visible:=true;
nov_sostav.BitBtn3.Visible:=false;
nov_sostav.ShowModal;
end;
procedure TForm1.N22Click(Sender: TObject);
begin
nov_norm_rasc.BitBtn3.Visible:=false;
nov_norm_rasc.BitBtn1.Visible:=false;
nov_norm_rasc.BitBtn2.Visible:=true;
nov_norm_rasc.ShowModal;
end;
procedure TForm1.N15Click(Sender: TObject);
begin
nov_kalk.Show;
nov_kalk.bitbtn1.Visible:=true;
nov_kalk.bitbtn2.Visible:=false;
nov_kalk.BitBtn3.Visible:=false;
nov_kalk.GroupBox3.Visible:=true;
end;
procedure TForm1.N25Click(Sender: TObject);
begin
nov_kalk.Show;
nov_kalk.bitbtn2.Visible:=true;
nov_kalk.bitbtn1.Visible:=false;
nov_kalk.BitBtn3.Visible:=false;
nov_kalk.GroupBox3.Visible:=false;
end;
procedure TForm1.N21Click(Sender: TObject);
begin
nov_kalk.GroupBox3.Visible:=false;
nov_kalk.bitbtn1.Visible:=false;
nov_kalk.BitBtn2.Visible:=false;
nov_kalk.BitBtn3.Visible:=true;
nov_kalk.Show;
end;
procedure TForm1.N19Click(Sender: TObject);
begin
nov_sostav.BitBtn3.Visible:=true;
nov_sostav.BitBtn2.Visible:=false;
nov_sostav.BitBtn1.Visible:=false;
nov_sostav.Show;
end;
procedure TForm1.N20Click(Sender: TObject);
begin
nov_norm_rasc.BitBtn1.Visible:=false;
nov_norm_rasc.BitBtn2.Visible:=false;
nov_norm_rasc.BitBtn3.Visible:=true;
nov_norm_rasc.Show;
end;
procedure TForm1.N7Click(Sender: TObject);
begin
if MessageDlg('Выйти из программы?', mtCustom, [mbyes,mbno], 0) = mrYes
then
close;
end;
procedure TForm1.N23Click(Sender: TObject);
begin
o_prog.Show;
end;
procedure TForm1.N24Click(Sender: TObject);
begin
help.Show;
end;
procedure TForm1.sostav_SetsumChange(Sender: TField);
var
i: integer;
x: double;
begin
x:=0;
Form1.sostav_Set.First;
for i:=0 to Form1.sostav_Set.RecordCount-1 do
begin
x:=x+strtofloat(Form1.sostav_Set.fieldbyname('sum').AsString);
Form1.sostav_Set.Next;
end;
sostav.edit1.Text:=floattostr(x);
end;
procedure TForm1.norm_rasc_SetNORMAChange(Sender: TField);
var
i: integer;
x: double;
begin
x:=0;
Form1.norm_rasc_Set.Last;
Form1.norm_rasc_Set.First;
for i:=0 to Form1.norm_rasc_Set.RecordCount-1 do
begin
x:=x+Form1.norm_rasc_Set.fieldbyName('norma').Value;
Form1.norm_rasc_Set.Next;
end;
norm_rasc.edit1.Text:=floattostr(x);
end;
procedure TForm1.norm_rasc_SetRASCENKAChange(Sender: TField);
var
i: integer;
y: double;
begin
y:=0;
Form1.norm_rasc_Set.Last;
Form1.norm_rasc_Set.First;
for i:=0 to Form1.norm_rasc_Set.RecordCount-1 do
begin
y:=y+Form1.norm_rasc_Set.fieldbyName('rascenka').Value;
Form1.norm_rasc_Set.Next;
end;
norm_rasc.edit2.Text:=floattostr(y);
end;
procedure TForm1.N17Click(Sender: TObject);
begin
style.Show;
end;
procedure TForm1.sostav_SetSTOIMChange(Sender: TField);
var
i: integer;
x: double;
begin
x:=0;
Form1.sostav_Set.First;
for i:=0 to Form1.sostav_Set.RecordCount-1 do
begin
x:=x+strtofloat(Form1.sostav_Set.fieldbyname('sum').AsString);
Form1.sostav_Set.Next;
end;
sostav.edit1.Text:=floattostr(x);
end;
procedure TForm1.sostav_SetNORMAChange(Sender: TField);
var
i: integer;
x: double;
begin
x:=0;
Form1.sostav_Set.First;
for i:=0 to Form1.sostav_Set.RecordCount-1 do
begin
x:=x+strtofloat(Form1.sostav_Set.fieldbyname('sum').AsString);
Form1.sostav_Set.Next;
end;
sostav.edit1.Text:=floattostr(x);
end;
end.
unit Unit2;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Grids, DBGrids, Menus, StdCtrls, DB, Buttons;
type
Ted_izm = class(TForm)
DBGrid1: TDBGrid;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
BitBtn3: TBitBtn;
BitBtn4: TBitBtn;
MainMenu1: TMainMenu;
N1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
N4: TMenuItem;
N5: TMenuItem;
N6: TMenuItem;
N7: TMenuItem;
N8: TMenuItem;
N9: TMenuItem;
N10: TMenuItem;
N11: TMenuItem;
N12: TMenuItem;
GroupBox1: TGroupBox;
BitBtn6: TBitBtn;
Edit1: TEdit;
BitBtn5: TBitBtn;
procedure N11Click(Sender: TObject);
procedure N12Click(Sender: TObject);
procedure BitBtn5Click(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure BitBtn3Click(Sender: TObject);
procedure BitBtn4Click(Sender: TObject);
procedure N10Click(Sender: TObject);
procedure N9Click(Sender: TObject);
procedure N5Click(Sender: TObject);
procedure N6Click(Sender: TObject);
procedure Edit1Change(Sender: TObject);
procedure FormActivate(Sender: TObject);
procedure N8Click(Sender: TObject);
procedure BitBtn6Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
ed_izm: Ted_izm;
implementation
uses Unit1;
{$R *.dfm}
procedure Ted_izm.N11Click(Sender: TObject);
begin
groupbox1.Visible:=true;
edit1.Visible:=false;
Form1.Ed_Set.Insert;
end;
procedure Ted_izm.N12Click(Sender: TObject);
begin
groupbox1.Visible:=true;
edit1.Visible:=false;
Form1.Ed_Set.Edit;
end;
procedure Ted_izm.BitBtn5Click(Sender: TObject);
begin
Form1.Ed_Set.Post;
bitbtn5.Visible:=true;
edit1.Visible:=true;
edit1.Text:='';
groupbox1.Visible:=false;
groupbox1.Caption:='';
end;
procedure Ted_izm.BitBtn1Click(Sender: TObject);
begin
Form1.Ed_Set.First;
end;
procedure Ted_izm.BitBtn2Click(Sender: TObject);
begin
Form1.Ed_Set.Prior;
end;
procedure Ted_izm.BitBtn3Click(Sender: TObject);
begin
Form1.Ed_Set.Next;
end;
procedure Ted_izm.BitBtn4Click(Sender: TObject);
begin
Form1.Ed_Set.Last;
end;
procedure Ted_izm.N10Click(Sender: TObject);
begin
ed_izm.Close;
end;
procedure Ted_izm.N9Click(Sender: TObject);
var
k:integer;
i:integer;
begin
k:=0;
Form1.Ed_Set.Last;
Form1.Ed_Set.First;
for i:=0 to Form1.Ed_Set.RecordCount-1 do
begin
k:=k+1;
Form1.Ed_Set.Next;
end;
ShowMessage('Количество записей в справочнике: '+IntToStr(k));
end;
procedure Ted_izm.N5Click(Sender: TObject);
begin
Form1.Ed_Set.Active:=false;
Form1.Ed_Set.SelectSQL.Clear;
Form1.Ed_Set.SelectSQL.Add('select * from ed_izm order by ed_izm ASC');
Form1.Ed_Set.Active:=true;
end;
procedure Ted_izm.N6Click(Sender: TObject);
begin
Form1.Ed_Set.Active:=false;
Form1.Ed_Set.SelectSQL.Clear;
Form1.Ed_Set.SelectSQL.Add('select * from ed_izm order by ed_izm DESC');
Form1.Ed_Set.Active:=true;
end;
procedure Ted_izm.Edit1Change(Sender: TObject);
begin
Form1.Ed_Set.Locate('ed_izm',Edit1.Text,[loCaseInsensitive, loPartialKey]);
end;
procedure Ted_izm.FormActivate(Sender: TObject);
begin
groupbox1.Visible:=false;
end;
procedure Ted_izm.N8Click(Sender: TObject);
begin
groupbox1.Visible:=true;
bitbtn5.Visible:=false;
groupbox1.Caption:='Введите название единицы измерения:';
end;
procedure Ted_izm.BitBtn6Click(Sender: TObject);
begin
bitbtn5.Visible:=true;
edit1.Visible:=true;
edit1.Text:='';
groupbox1.Visible:=false;
groupbox1.Caption:='';
end;
end.
unit Unit3;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Buttons, Grids, DBGrids, DB, Menus;
type
Tizd = class(TForm)
DBGrid1: TDBGrid;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
BitBtn3: TBitBtn;
BitBtn4: TBitBtn;
MainMenu1: TMainMenu;
N1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
N4: TMenuItem;
N5: TMenuItem;
N6: TMenuItem;
N7: TMenuItem;
N8: TMenuItem;
N10: TMenuItem;
N11: TMenuItem;
N12: TMenuItem;
N13: TMenuItem;
N14: TMenuItem;
N15: TMenuItem;
N16: TMenuItem;
N17: TMenuItem;
N18: TMenuItem;
N19: TMenuItem;
N20: TMenuItem;
N21: TMenuItem;
GroupBox1: TGroupBox;
BitBtn6: TBitBtn;
Edit1: TEdit;
BitBtn5: TBitBtn;
N22: TMenuItem;
N23: TMenuItem;
procedure N6Click(Sender: TObject);
procedure N5Click(Sender: TObject);
procedure FormActivate(Sender: TObject);
procedure N7Click(Sender: TObject);
procedure N8Click(Sender: TObject);
procedure BitBtn6Click(Sender: TObject);
procedure BitBtn5Click(Sender: TObject);
procedure N13Click(Sender: TObject);
procedure N15Click(Sender: TObject);
procedure N17Click(Sender: TObject);
procedure N14Click(Sender: TObject);
procedure N16Click(Sender: TObject);
procedure N18Click(Sender: TObject);
procedure N19Click(Sender: TObject);
procedure N20Click(Sender: TObject);
procedure N21Click(Sender: TObject);
procedure Edit1Change(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure BitBtn3Click(Sender: TObject);
procedure BitBtn4Click(Sender: TObject);
procedure N23Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
izd: Tizd;
shablon: string;
implementation
uses Unit1, Unit10, Unit11, Unit12, Unit13, Unit14, Unit15, Unit16, Unit17, Unit2, Unit4, Unit5, Unit6, Unit7, Unit8, Unit9;
{$R *.dfm}
procedure Tizd.N6Click(Sender: TObject);
begin
izd.Close;
end;
procedure Tizd.N5Click(Sender: TObject);
var
k:integer;
i:integer;
begin
k:=0;
Form1.Izd_Set.Last;
Form1.Izd_Set.First;
for i:=0 to Form1.Izd_Set.RecordCount-1 do
begin
k:=k+1;
Form1.Izd_Set.Next;
end;
ShowMessage('Количество записей в справочнике: '+IntToStr(k));
end;
procedure Tizd.FormActivate(Sender: TObject);
begin
groupbox1.Visible:=false;
end;
procedure Tizd.N7Click(Sender: TObject);
begin
groupbox1.Visible:=true;
Form1.Izd_Set.Insert;
end;
procedure Tizd.N8Click(Sender: TObject);
begin
groupbox1.Visible:=true;
Form1.Izd_Set.Edit;
end;
procedure Tizd.BitBtn6Click(Sender: TObject);
begin
groupbox1.Visible:=false;
edit1.Visible:=false;
bitbtn5.Visible:=true;
edit1.Text:='';
groupbox1.Caption:='';
end;
procedure Tizd.BitBtn5Click(Sender: TObject);
begin
Form1.Izd_Set.Post;
groupbox1.Visible:=false;
end;
procedure Tizd.N13Click(Sender: TObject);
begin
Form1.Izd_Set.Active:=false;
Form1.Izd_Set.SelectSQL.Clear;
Form1.Izd_Set.SelectSQL.Add('select * from got_izd order by kod_obozn ASC');
Form1.Izd_Set.Active:=true;
end;
procedure Tizd.N15Click(Sender: TObject);
begin
Form1.Izd_Set.Active:=false;
Form1.Izd_Set.SelectSQL.Clear;
Form1.Izd_Set.SelectSQL.Add('select * from got_izd order by izd ASC');
Form1.Izd_Set.Active:=true;
end;
procedure Tizd.N17Click(Sender: TObject);
begin
Form1.Izd_Set.Active:=false;
Form1.Izd_Set.SelectSQL.Clear;
Form1.Izd_Set.SelectSQL.Add('select * from got_izd order by proekt ASC');
Form1.Izd_Set.Active:=true;
end;
procedure Tizd.N14Click(Sender: TObject);
begin
Form1.Izd_Set.Active:=false;
Form1.Izd_Set.SelectSQL.Clear;
Form1.Izd_Set.SelectSQL.Add('select * from got_izd order by kod_obozn DESC');
Form1.Izd_Set.Active:=true;
end;
procedure Tizd.N16Click(Sender: TObject);
begin
Form1.Izd_Set.Active:=false;
Form1.Izd_Set.SelectSQL.Clear;
Form1.Izd_Set.SelectSQL.Add('select * from got_izd order by izd DESC');
Form1.Izd_Set.Active:=true;
end;
procedure Tizd.N18Click(Sender: TObject);
begin
Form1.Izd_Set.Active:=false;
Form1.Izd_Set.SelectSQL.Clear;
Form1.Izd_Set.SelectSQL.Add('select * from got_izd order by proekt DESC');
Form1.Izd_Set.Active:=true;
end;
procedure Tizd.N19Click(Sender: TObject);
begin
shablon:='kod_obozn';
groupbox1.Visible:=true;
groupbox1.Caption:='Введите код изделия:';
edit1.Visible:=true;
bitbtn5.Visible:=false;
end;
procedure Tizd.N20Click(Sender: TObject);
begin
shablon:='izd';
groupbox1.Visible:=true;
groupbox1.Caption:='Введите название изделия:';
edit1.Visible:=true;
bitbtn5.Visible:=false;
end;
procedure Tizd.N21Click(Sender: TObject);
begin
shablon:='proekt';
groupbox1.Visible:=true;
groupbox1.Caption:='Введите проект изделия:';
edit1.Visible:=true;
bitbtn5.Visible:=false;
end;
procedure Tizd.Edit1Change(Sender: TObject);
begin
Form1.Izd_Set.Locate(shablon,Edit1.Text,[loCaseInsensitive, loPartialKey]);
end;
procedure Tizd.BitBtn1Click(Sender: TObject);
begin
Form1.Izd_Set.First;
end;
procedure Tizd.BitBtn2Click(Sender: TObject);
begin
Form1.Izd_Set.Prior;
end;
procedure Tizd.BitBtn3Click(Sender: TObject);
begin
Form1.Izd_Set.Next;
end;
procedure Tizd.BitBtn4Click(Sender: TObject);
begin
Form1.Izd_Set.Last;
end;
procedure Tizd.N23Click(Sender: TObject);
begin
otch_izd.QuickRep1.Preview;
end;
end.
unit Unit4;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Buttons, Menus, Grids, DB, DBGrids;
type
Trabot = class(TForm)
DBGrid1: TDBGrid;
MainMenu1: TMainMenu;
N1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
N4: TMenuItem;
N5: TMenuItem;
N6: TMenuItem;
N8: TMenuItem;
N9: TMenuItem;
N10: TMenuItem;
N11: TMenuItem;
N12: TMenuItem;
N13: TMenuItem;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
BitBtn3: TBitBtn;
BitBtn4: TBitBtn;
GroupBox1: TGroupBox;
Edit1: TEdit;
BitBtn5: TBitBtn;
BitBtn6: TBitBtn;
N14: TMenuItem;
N15: TMenuItem;
procedure N2Click(Sender: TObject);
procedure N3Click(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure BitBtn3Click(Sender: TObject);
procedure BitBtn4Click(Sender: TObject);
procedure N5Click(Sender: TObject);
procedure N6Click(Sender: TObject);
procedure BitBtn5Click(Sender: TObject);
procedure BitBtn6Click(Sender: TObject);
procedure N11Click(Sender: TObject);
procedure N12Click(Sender: TObject);
procedure N13Click(Sender: TObject);
procedure Edit1Change(Sender: TObject);
procedure N15Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
rabot: Trabot;
implementation
uses Unit1, Unit10, Unit11, Unit12, Unit13, Unit14, Unit15, Unit16, Unit17, Unit18, Unit2, Unit3, Unit5, Unit6, Unit7, Unit8, Unit9;
{$R *.dfm}
procedure Trabot.N2Click(Sender: TObject);
var
k:integer;
i:integer;
begin
k:=0;
Form1.Rabot_Set.Last;
Form1.Rabot_Set.First;
for i:=0 to Form1.Rabot_Set.RecordCount-1 do
begin
k:=k+1;
Form1.Rabot_Set.Next;
end;
ShowMessage('Количество записей в справочнике: '+IntToStr(k));
end;
procedure Trabot.N3Click(Sender: TObject);
begin
rabot.Close;
end;
procedure Trabot.BitBtn1Click(Sender: TObject);
begin
Form1.Rabot_Set.First;
end;
procedure Trabot.BitBtn2Click(Sender: TObject);
begin
Form1.Rabot_Set.Prior;
end;
procedure Trabot.BitBtn3Click(Sender: TObject);
begin
Form1.Rabot_Set.Next;
end;
procedure Trabot.BitBtn4Click(Sender: TObject);
begin
Form1.Rabot_Set.Last;
end;
procedure Trabot.N5Click(Sender: TObject);
begin
groupbox1.Visible:=true;
edit1.Visible:=false;
Form1.Rabot_Set.Insert;
end;
procedure Trabot.N6Click(Sender: TObject);
begin
groupbox1.Visible:=true;
edit1.Visible:=false;
Form1.Rabot_Set.Edit;
end;
procedure Trabot.BitBtn5Click(Sender: TObject);
begin
Form1.Rabot_Set.Post;
groupbox1.Visible:=false;
end;
procedure Trabot.BitBtn6Click(Sender: TObject);
begin
groupbox1.Visible:=false;
groupbox1.Caption:='';
bitbtn5.Visible:=true;
edit1.Visible:=false;
edit1.Text:='';
end;
procedure Trabot.N11Click(Sender: TObject);
begin
Form1.Rabot_Set.Active:=false;
Form1.Rabot_Set.SelectSQL.Clear;
Form1.Rabot_Set.SelectSQL.Add('select * from raboti order by rabot ASC');
Form1.Rabot_Set.Active:=true;
end;
procedure Trabot.N12Click(Sender: TObject);
begin
Form1.Rabot_Set.Active:=false;
Form1.Rabot_Set.SelectSQL.Clear;
Form1.Rabot_Set.SelectSQL.Add('select * from raboti order by rabot DESC');
Form1.Rabot_Set.Active:=true;
end;
procedure Trabot.N13Click(Sender: TObject);
begin
groupbox1.Visible:=true;
groupbox1.Caption:='Введите название выполняемых работ:';
bitbtn5.Visible:=false;
edit1.Visible:=true;
end;
procedure Trabot.Edit1Change(Sender: TObject);
begin
Form1.Rabot_Set.Locate('rabot',Edit1.Text,[loCaseInsensitive, loPartialKey]);
end;
procedure Trabot.N15Click(Sender: TObject);
begin
otch_rab.QuickRep1.Preview;
end;
end.
unit Unit5;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Buttons, Menus, Grids, DB, DBGrids;
type
Tmater = class(TForm)
DBGrid1: TDBGrid;
MainMenu1: TMainMenu;
N1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
N4: TMenuItem;
N5: TMenuItem;
N6: TMenuItem;
N8: TMenuItem;
N9: TMenuItem;
N10: TMenuItem;
N11: TMenuItem;
N12: TMenuItem;
N13: TMenuItem;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
BitBtn3: TBitBtn;
BitBtn4: TBitBtn;
GroupBox1: TGroupBox;
Edit1: TEdit;
BitBtn5: TBitBtn;
BitBtn6: TBitBtn;
N14: TMenuItem;
N15: TMenuItem;
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure BitBtn3Click(Sender: TObject);
procedure BitBtn4Click(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure N3Click(Sender: TObject);
procedure N5Click(Sender: TObject);
procedure BitBtn6Click(Sender: TObject);
procedure N6Click(Sender: TObject);
procedure BitBtn5Click(Sender: TObject);
procedure N10Click(Sender: TObject);
procedure N11Click(Sender: TObject);
procedure N13Click(Sender: TObject);
procedure Edit1Change(Sender: TObject);
procedure N15Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
mater: Tmater;
implementation
uses Unit1, Unit10, Unit11, Unit12, Unit13, Unit14, Unit15, Unit16, Unit17, Unit2, Unit3, Unit4, Unit6, Unit7, Unit8, Unit9;
{$R *.dfm}
procedure Tmater.BitBtn1Click(Sender: TObject);
begin
Form1.mater_set.First;
end;
procedure Tmater.BitBtn2Click(Sender: TObject);
begin
Form1.mater_set.Prior;
end;
procedure Tmater.BitBtn3Click(Sender: TObject);
begin
Form1.mater_set.Next;
end;
procedure Tmater.BitBtn4Click(Sender: TObject);
begin
Form1.mater_set.Last;
end;
procedure Tmater.N2Click(Sender: TObject);
var
k:integer;
i:integer;
begin
k:=0;
Form1.mater_Set.Last;
Form1.mater_Set.First;
for i:=0 to Form1.mater_Set.RecordCount-1 do
begin
k:=k+1;
Form1.mater_Set.Next;
end;
ShowMessage('Количество записей в справочнике: '+IntToStr(k));
end;
procedure Tmater.N3Click(Sender: TObject);
begin
mater.Close;
end;
procedure Tmater.N5Click(Sender: TObject);
begin
groupbox1.Visible:=true;
edit1.Visible:=false;
bitbtn1.Visible:=true;
Form1.mater_set.Insert;
end;
procedure Tmater.BitBtn6Click(Sender: TObject);
begin
groupbox1.Visible:=false;
edit1.Visible:=false;
bitbtn5.Visible:=true;
edit1.Text:='';
groupbox1.Caption:='';
end;
procedure Tmater.N6Click(Sender: TObject);
begin
groupbox1.Visible:=true;
edit1.Visible:=false;
bitbtn1.Visible:=true;
Form1.mater_set.Edit;
end;
procedure Tmater.BitBtn5Click(Sender: TObject);
begin
Form1.mater_set.Post;
groupbox1.Visible:=false;
edit1.Visible:=false;
bitbtn1.Visible:=true;
end;
procedure Tmater.N10Click(Sender: TObject);
begin
Form1.mater_Set.Active:=false;
Form1.mater_Set.SelectSQL.Clear;
Form1.mater_Set.SelectSQL.Add('select * from material order by mater ASC');
Form1.mater_Set.Active:=true;
end;
procedure Tmater.N11Click(Sender: TObject);
begin
Form1.mater_Set.Active:=false;
Form1.mater_Set.SelectSQL.Clear;
Form1.mater_Set.SelectSQL.Add('select * from material order by mater DESC');
Form1.mater_Set.Active:=true;
end;
procedure Tmater.N13Click(Sender: TObject);
begin
groupbox1.Visible:=true;
edit1.Visible:=true;
bitbtn5.Visible:=false;
groupbox1.Caption:='Введите название материала:';
end;
procedure Tmater.Edit1Change(Sender: TObject);
begin
Form1.mater_Set.Locate('mater',Edit1.Text,[loCaseInsensitive, loPartialKey]);
end;
procedure Tmater.N15Click(Sender: TObject);
begin
otch_mat.QuickRep1.Preview;
end;
end.
unit Unit6;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Menus, Buttons, Grids, DB, DBGrids;
type
Tstat = class(TForm)
DBGrid1: TDBGrid;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
BitBtn3: TBitBtn;
BitBtn4: TBitBtn;
MainMenu1: TMainMenu;
N1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
N4: TMenuItem;
N5: TMenuItem;
N6: TMenuItem;
N8: TMenuItem;
N9: TMenuItem;
N10: TMenuItem;
N11: TMenuItem;
N12: TMenuItem;
N13: TMenuItem;
GroupBox1: TGroupBox;
Edit1: TEdit;
BitBtn5: TBitBtn;
BitBtn6: TBitBtn;
procedure N2Click(Sender: TObject);
procedure N3Click(Sender: TObject);
procedure N5Click(Sender: TObject);
procedure N6Click(Sender: TObject);
procedure BitBtn5Click(Sender: TObject);
procedure BitBtn6Click(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure BitBtn3Click(Sender: TObject);
procedure BitBtn4Click(Sender: TObject);
procedure N7Click(Sender: TObject);
procedure N10Click(Sender: TObject);
procedure N11Click(Sender: TObject);
procedure N13Click(Sender: TObject);
procedure Edit1Change(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
stat: Tstat;
implementation
uses Unit1;
{$R *.dfm}
procedure Tstat.N2Click(Sender: TObject);
var
k:integer;
i:integer;
begin
k:=0;
Form1.stat_Set.Last;
Form1.stat_Set.First;
for i:=0 to Form1.stat_Set.RecordCount-1 do
begin
k:=k+1;
Form1.stat_Set.Next;
end;
ShowMessage('Количество записей в справочнике: '+IntToStr(k));
end;
procedure Tstat.N3Click(Sender: TObject);
begin
stat.Close;
end;
procedure Tstat.N5Click(Sender: TObject);
begin
groupbox1.Visible:=true;
edit1.Visible:=false;
Form1.stat_Set.Insert;
end;
procedure Tstat.N6Click(Sender: TObject);
begin
groupbox1.Visible:=true;
edit1.Visible:=false;
Form1.stat_Set.Edit;
end;
procedure Tstat.BitBtn5Click(Sender: TObject);
begin
Form1.stat_Set.Post;
groupbox1.Visible:=false;
edit1.Visible:=true;
Form1.stat_Set.FieldByName('stat').ReadOnly:=true;
end;
procedure Tstat.BitBtn6Click(Sender: TObject);
begin
groupbox1.Visible:=false;
edit1.Visible:=true;
bitbtn5.Visible:=true;
edit1.Text:='';
groupbox1.Caption:='';
Form1.stat_Set.FieldByName('stat').ReadOnly:=true;
end;
procedure Tstat.BitBtn1Click(Sender: TObject);
begin
Form1.stat_Set.First;
end;
procedure Tstat.BitBtn2Click(Sender: TObject);
begin
Form1.stat_Set.Prior;
end;
procedure Tstat.BitBtn3Click(Sender: TObject);
begin
Form1.stat_Set.Next;
end;
procedure Tstat.BitBtn4Click(Sender: TObject);
begin
Form1.stat_Set.Last;
end;
procedure Tstat.N10Click(Sender: TObject);
begin
Form1.stat_Set.Active:=false;
Form1.stat_Set.SelectSQL.Clear;
Form1.stat_Set.SelectSQL.Add('select * from stat order by stat ASC');
Form1.stat_Set.Active:=true;
end;
procedure Tstat.N11Click(Sender: TObject);
begin
Form1.stat_Set.Active:=false;
Form1.stat_Set.SelectSQL.Clear;
Form1.stat_Set.SelectSQL.Add('select * from stat order by stat DESC');
Form1.stat_Set.Active:=true;
end;
procedure Tstat.N13Click(Sender: TObject);
begin
groupbox1.Visible:=true;
edit1.Visible:=true;
bitbtn5.Visible:=false;
groupbox1.Caption:='Введите статью калькуляции:';
end;
procedure Tstat.Edit1Change(Sender: TObject);
begin
Form1.stat_Set.Locate('stat',Edit1.Text,[loCaseInsensitive, loPartialKey]);
end;
end.
unit Unit7;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Grids, DBGrids, DBCtrls, StdCtrls, Mask, ExtCtrls, DB, Menus, Buttons;
type
Tsostav = class(TForm)
DBGrid1: TDBGrid;
GroupBox1: TGroupBox;
GroupBox2: TGroupBox;
GroupBox3: TGroupBox;
Edit1: TEdit;
Label1: TLabel;
MainMenu1: TMainMenu;
N1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
N4: TMenuItem;
N5: TMenuItem;
N6: TMenuItem;
N7: TMenuItem;
N8: TMenuItem;
N9: TMenuItem;
GroupBox4: TGroupBox;
BitBtn2: TBitBtn;
N10: TMenuItem;
N11: TMenuItem;
N12: TMenuItem;
N14: TMenuItem;
N15: TMenuItem;
N16: TMenuItem;
N17: TMenuItem;
N18: TMenuItem;
N19: TMenuItem;
N13: TMenuItem;
Edit2: TEdit;
BitBtn1: TBitBtn;
BitBtn3: TBitBtn;
BitBtn4: TBitBtn;
BitBtn5: TBitBtn;
BitBtn6: TBitBtn;
Label2: TLabel;
N20: TMenuItem;
N21: TMenuItem;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
procedure FormActivate(Sender: TObject);
procedure N7Click(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure N9Click(Sender: TObject);
procedure N5Click(Sender: TObject);
procedure N6Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure N14Click(Sender: TObject);
procedure N15Click(Sender: TObject);
procedure N16Click(Sender: TObject);
procedure N17Click(Sender: TObject);
procedure N18Click(Sender: TObject);
procedure N19Click(Sender: TObject);
procedure N13Click(Sender: TObject);
procedure Edit2Change(Sender: TObject);
procedure BitBtn3Click(Sender: TObject);
procedure BitBtn4Click(Sender: TObject);
procedure BitBtn5Click(Sender: TObject);
procedure BitBtn6Click(Sender: TObject);
procedure N21Click(Sender: TObject);
procedure N8Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
sostav: Tsostav;
implementation
uses Unit1, Unit8, Unit10, Unit11, Unit12, Unit2, Unit3, Unit4, Unit5, Unit6, Unit9, Unit13, Unit14, Unit15, Unit16, Unit17, Unit18, Unit19, Unit20, Unit21;
{$R *.dfm}
procedure Tsostav.FormActivate(Sender: TObject);
var
i: integer;
x: double;
begin
x:=0;
Form1.sostav_Set.First;
for i:=0 to Form1.sostav_Set.RecordCount-1 do
begin
x:=x+strtofloat(Form1.sostav_Set.fieldbyname('sum').AsString);
Form1.sostav_Set.Next;
end;
edit1.Text:=floattostr(x);
end;
procedure Tsostav.N7Click(Sender: TObject);
var
god: integer;
izd, mes: string;
begin
form1.sostav_Set.FieldByName('mater').ReadOnly:=false;
form1.sostav_Set.FieldByName('ed_izm').ReadOnly:=false;
dbgrid1.ReadOnly:=false;
groupbox4.Visible:=true;
edit2.Visible:=false;
mes:=label3.Caption;
god:=strtoint(label4.Caption);
izd:=label6.Caption;
form1.sostav_Set.insert;
Form1.sostav_Set.FieldByName('mes').Value:=mes;
Form1.sostav_Set.FieldByName('god').Value:=god;
Form1.sostav_Set.FieldByName('kod_izd').Value:=strtoint(izd);
end;
procedure Tsostav.BitBtn1Click(Sender: TObject);
begin
Form1.kalk_Set.Active:=false;
Form1.kalk_Set.SelectSQL.Clear;
Form1.kalk_Set.SelectSQL.Add('select * from kalkul where kod_izd=:param_izd and mes=:param_mes and god=:param_god');
Form1.kalk_Set.ParamByName('param_izd').Value:=nov_sostav.dbLookupcombobox1.KeyValue;
Form1.kalk_Set.ParamByName('param_mes').Value:=nov_sostav.combobox1.Text;
Form1.kalk_Set.ParamByName('param_god').Value:=strtoint(nov_sostav.combobox2.Text);
Form1.kalk_Set.Active:=true;
Form1.kalk_Set.Last;
if Form1.kalk_Set.RecordCount<>0 then
if MessageDlg('Необходимо будет провести пересчет калькуляции. Продолжить?', mtCustom, [mbyes,mbno], 0) = mrYes
then
begin
Form1.sostav_Set.Edit;
dbgrid1.ReadOnly:=true;
groupbox4.Visible:=false;
kalk.Label3.Caption:=nov_sostav.combobox1.Text;
kalk.Label4.Caption:=nov_sostav.combobox2.Text;
kalk.Label5.Caption:=nov_sostav.dbLookupcombobox1.Text;
kalk.Show;
form1.sostav_Set.FieldByName('mater').ReadOnly:=true;
form1.sostav_Set.FieldByName('ed_izm').ReadOnly:=true;
dbgrid1.ReadOnly:=true;
end;
end;
procedure Tsostav.N9Click(Sender: TObject);
begin
Form1.kalk_Set.Active:=false;
Form1.kalk_Set.SelectSQL.Clear;
Form1.kalk_Set.SelectSQL.Add('select * from kalkul where kod_izd=:param_izd and mes=:param_mes and god=:param_god');
Form1.kalk_Set.ParamByName('param_izd').Value:=nov_sostav.dbLookupcombobox1.KeyValue;
Form1.kalk_Set.ParamByName('param_mes').Value:=nov_sostav.combobox1.Text;
Form1.kalk_Set.ParamByName('param_god').Value:=strtoint(nov_sostav.combobox2.Text);
Form1.kalk_Set.Active:=true;
Form1.kalk_Set.Last;
if Form1.kalk_Set.RecordCount<>0 then
if MessageDlg('Необходимо будет провести пересчет калькуляции. Продолжить?', mtCustom, [mbyes,mbno], 0) = mrYes
then
begin
dbgrid1.ReadOnly:=false;
if MessageDlg('Удалить выбранную запись?', mtCustom, [mbyes,mbno], 0) = mrYes
then
Form1.sostav_Set.Delete;
kalk.Label3.Caption:=nov_sostav.combobox1.Text;
kalk.Label4.Caption:=nov_sostav.combobox2.Text;
kalk.Label5.Caption:=nov_sostav.dbLookupcombobox1.Text;
kalk.Show;
dbgrid1.ReadOnly:=true;
form1.sostav_Set.FieldByName('mater').ReadOnly:=true;
form1.sostav_Set.FieldByName('ed_izm').ReadOnly:=true;
end;
end;
procedure Tsostav.N5Click(Sender: TObject);
var
k:integer;
i:integer;
begin
k:=0;
Form1.sostav_Set.Last;
Form1.sostav_Set.First;
for i:=0 to Form1.sostav_Set.RecordCount-1 do
begin
k:=k+1;
Form1.sostav_Set.Next;
end;
ShowMessage('Количество затраченных материалов на изделие: '+IntToStr(k));
end;
procedure Tsostav.N6Click(Sender: TObject);
begin
sostav.Close;
end;
procedure Tsostav.BitBtn2Click(Sender: TObject);
begin
form1.sostav_Set.FieldByName('mater').ReadOnly:=true;
dbgrid1.ReadOnly:=true;
groupbox4.Visible:=false;
edit2.Visible:=false;
bitbtn1.Visible:=true;
groupbox4.Caption:='';
edit2.Text:='';
form1.sostav_Set.Cancel;
end;
procedure Tsostav.N14Click(Sender: TObject);
begin
Form1.sostav_Set.Active:=false;
Form1.sostav_Set.SelectSQL.Clear;
Form1.sostav_Set.SelectSQL.Add('select * from sostav_izd, material where material.kod_mater=sostav_izd.kod_mater order by mater ASC');
Form1.sostav_Set.Active:=true;
end;
procedure Tsostav.N15Click(Sender: TObject);
begin
Form1.sostav_Set.Active:=false;
Form1.sostav_Set.SelectSQL.Clear;
Form1.sostav_Set.SelectSQL.Add('select * from sostav_izd, material where material.kod_mater=sostav_izd.kod_mater order by mater DESC');
Form1.sostav_Set.Active:=true;
end;
procedure Tsostav.N16Click(Sender: TObject);
begin
Form1.sostav_Set.Active:=false;
Form1.sostav_Set.SelectSQL.Clear;
Form1.sostav_Set.SelectSQL.Add('select * from sostav_izd order by stoim ASC');
Form1.sostav_Set.Active:=true;
end;
procedure Tsostav.N17Click(Sender: TObject);
begin
Form1.sostav_Set.Active:=false;
Form1.sostav_Set.SelectSQL.Clear;
Form1.sostav_Set.SelectSQL.Add('select * from sostav_izd order by stoim DESC');
Form1.sostav_Set.Active:=true;
end;
procedure Tsostav.N18Click(Sender: TObject);
begin
Form1.sostav_Set.Active:=false;
Form1.sostav_Set.SelectSQL.Clear;
Form1.sostav_Set.SelectSQL.Add('select * from sostav_izd order by norma ASC');
Form1.sostav_Set.Active:=true;
end;
procedure Tsostav.N19Click(Sender: TObject);
begin
Form1.sostav_Set.Active:=false;
Form1.sostav_Set.SelectSQL.Clear;
Form1.sostav_Set.SelectSQL.Add('select * from sostav_izd order by norma DESC');
Form1.sostav_Set.Active:=true;
end;
procedure Tsostav.N13Click(Sender: TObject);
begin
groupbox4.Visible:=true;
edit2.Visible:=true;
bitbtn1.Visible:=false;
groupbox4.Caption:='Введите наименование материала:';
end;
procedure Tsostav.Edit2Change(Sender: TObject);
begin
Form1.sostav_Set.Locate('mat',Edit2.Text,[loCaseInsensitive, loPartialKey]);
end;
procedure Tsostav.BitBtn3Click(Sender: TObject);
begin
Form1.sostav_Set.First;
end;
procedure Tsostav.BitBtn4Click(Sender: TObject);
begin
Form1.sostav_Set.Prior;
end;
procedure Tsostav.BitBtn5Click(Sender: TObject);
begin
Form1.sostav_Set.Next;
end;
procedure Tsostav.BitBtn6Click(Sender: TObject);
begin
Form1.sostav_Set.Last;
end;
procedure Tsostav.N21Click(Sender: TObject);
begin
otch_sostav.QuickRep1.Preview;
end;
procedure Tsostav.N8Click(Sender: TObject);
begin
dbgrid1.ReadOnly:=false;
groupbox4.Visible:=true;
edit2.Visible:=false;
Form1.sostav_Set.Edit;
form1.sostav_Set.FieldByName('mater').ReadOnly:=false;
form1.sostav_Set.FieldByName('ed_izm').ReadOnly:=false;
end;
end.
unit Unit8;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Buttons, DBCtrls;
type
Tnov_sostav = class(TForm)
GroupBox1: TGroupBox;
BitBtn1: TBitBtn;
DBLookupComboBox1: TDBLookupComboBox;
GroupBox2: TGroupBox;
ComboBox1: TComboBox;
ComboBox2: TComboBox;
BitBtn2: TBitBtn;
BitBtn3: TBitBtn;
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure FormActivate(Sender: TObject);
procedure BitBtn3Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
nov_sostav: Tnov_sostav;
implementation
uses Unit1, Unit7, Unit2, Unit3, Unit4, Unit5, Unit6, Unit11, Unit10, Unit12, Unit13, Unit14, Unit9;
{$R *.dfm}
procedure Tnov_sostav.BitBtn1Click(Sender: TObject);
begin
if (combobox1.Text='') or (combobox2.Text='') or (dblookupcombobox1.Text='')
then showmessage('Не все поля заполнены!')
else
begin
Form1.sostav_Set.Active:=false;
Form1.sostav_Set.SelectSQL.Clear;
Form1.sostav_Set.SelectSQL.Add('select * from sostav_izd where kod_izd=:param_izd and mes=:param_mes and god=:param_god');
Form1.sostav_Set.ParamByName('param_izd').Value:=dbLookupcombobox1.KeyValue;
Form1.sostav_Set.ParamByName('param_mes').Value:=combobox1.Text;
Form1.sostav_Set.ParamByName('param_god').Value:=strtoint(combobox2.Text);
Form1.sostav_Set.Active:=true;
if Form1.sostav_Set.RecordCount=0 then
showmessage('На этот период расход данного изделия не составлен')
else
begin
sostav.Label3.Caption:=combobox1.Text;
sostav.Label4.Caption:=combobox2.Text;
sostav.Label5.Caption:=dblookupcombobox1.Text;
sostav.Label6.Caption:=dblookupcombobox1.KeyValue;
sostav.Show;
nov_sostav.Close;
end
end;
end;
procedure Tnov_sostav.BitBtn2Click(Sender: TObject);
var i:integer;
begin
if (combobox1.Text='') or (combobox2.Text='') or (dblookupcombobox1.Text='')
then showmessage('Не все поля заполнены!')
else
begin
Form1.sostav_Set.Active:=false;
Form1.sostav_Set.SelectSQL.Clear;
Form1.sostav_Set.SelectSQL.Add('select * from sostav_izd where kod_izd=:param_izd and mes=:param_mes and god=:param_god');
Form1.sostav_Set.ParamByName('param_izd').Value:=dbLookupcombobox1.KeyValue;
Form1.sostav_Set.ParamByName('param_mes').Value:=combobox1.Text;
Form1.sostav_Set.ParamByName('param_god').Value:=strtoint(combobox2.Text);
Form1.sostav_Set.Active:=true;
Form1.sostav_Set.Last;
if Form1.sostav_Set.RecordCount<>0
then showmessage('Расход материалов по данному изделию на данный период уже составлен')
else
begin
sostav.Label3.Caption:=combobox1.Text;
sostav.Label4.Caption:=combobox2.Text;
sostav.Label5.Caption:=dblookupcombobox1.Text;
sostav.Label6.Caption:=dblookupcombobox1.KeyValue;
sostav.Show;
nov_sostav.Close;
end;
end;
end;
procedure Tnov_sostav.FormActivate(Sender: TObject);
begin
combobox1.Text:=FormatDateTime('mmmm', Now);
combobox2.Text:=FormatDateTime('yyyy', Now);
end;
procedure Tnov_sostav.BitBtn3Click(Sender: TObject);
begin
if (combobox1.Text='') or (combobox2.Text='') or (dblookupcombobox1.Text='')
then showmessage('Не все поля заполнены!')
else
begin
Form1.sostav_Set.Active:=false;
Form1.sostav_Set.SelectSQL.Clear;
Form1.sostav_Set.SelectSQL.Add('select * from sostav_izd where kod_izd=:param_izd and mes=:param_mes and god=:param_god');
Form1.sostav_Set.ParamByName('param_izd').Value:=dbLookupcombobox1.KeyValue;
Form1.sostav_Set.ParamByName('param_mes').Value:=combobox1.Text;
Form1.sostav_Set.ParamByName('param_god').Value:=strtoint(combobox2.Text);
Form1.sostav_Set.Active:=true;
if Form1.sostav_Set.RecordCount=0 then
showmessage('На этот период расход данного изделия не составлен')
else
begin
otch_sostav.QuickRep1.Preview;
nov_sostav.Close;
end
end;
end;
end.
unit Unit9;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Mask, DBCtrls, Grids, DBGrids, ExtCtrls, DB, Menus, Buttons;
type
Tnorm_rasc = class(TForm)
DBGrid1: TDBGrid;
GroupBox1: TGroupBox;
GroupBox2: TGroupBox;
GroupBox3: TGroupBox;
Label1: TLabel;
Edit1: TEdit;
Edit2: TEdit;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
BitBtn3: TBitBtn;
BitBtn4: TBitBtn;
MainMenu1: TMainMenu;
N1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
N4: TMenuItem;
N5: TMenuItem;
N6: TMenuItem;
N7: TMenuItem;
N8: TMenuItem;
N9: TMenuItem;
N10: TMenuItem;
N11: TMenuItem;
N12: TMenuItem;
N13: TMenuItem;
N14: TMenuItem;
N15: TMenuItem;
N16: TMenuItem;
N17: TMenuItem;
N18: TMenuItem;
N19: TMenuItem;
GroupBox4: TGroupBox;
BitBtn6: TBitBtn;
Edit3: TEdit;
BitBtn5: TBitBtn;
Label2: TLabel;
N20: TMenuItem;
N21: TMenuItem;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
procedure N2Click(Sender: TObject);
procedure N5Click(Sender: TObject);
procedure BitBtn5Click(Sender: TObject);
procedure N6Click(Sender: TObject);
procedure N7Click(Sender: TObject);
procedure BitBtn6Click(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure BitBtn3Click(Sender: TObject);
procedure BitBtn4Click(Sender: TObject);
procedure N13Click(Sender: TObject);
procedure N14Click(Sender: TObject);
procedure N15Click(Sender: TObject);
procedure N16Click(Sender: TObject);
procedure N17Click(Sender: TObject);
procedure N18Click(Sender: TObject);
procedure N3Click(Sender: TObject);
procedure N19Click(Sender: TObject);
procedure Edit3Change(Sender: TObject);
procedure N21Click(Sender: TObject);
procedure FormActivate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
norm_rasc: Tnorm_rasc;
implementation
uses Unit1, Unit10, Unit11, Unit12, Unit2, Unit3, Unit4, Unit5, Unit6, Unit7, Unit8, Unit13, Unit14, Unit15;
{$R *.dfm}
procedure Tnorm_rasc.N2Click(Sender: TObject);
var
k:integer;
i:integer;
begin
k:=0;
Form1.norm_rasc_Set.Last;
Form1.norm_rasc_Set.First;
for i:=0 to Form1.norm_rasc_Set.RecordCount-1 do
begin
k:=k+1;
Form1.norm_rasc_Set.Next;
end;
ShowMessage('Количество бригад, выполняющие данные работы: '+IntToStr(k));
end;
procedure Tnorm_rasc.N5Click(Sender: TObject);
var
god: integer;
izd, mes: string;
begin
dbgrid1.ReadOnly:=false;
form1.norm_rasc_Set.FieldByName('rabot').ReadOnly:=false;
groupbox4.Visible:=true;
edit3.Visible:=false;
mes:=label3.Caption;
god:=strtoint(label4.Caption);
izd:=label6.Caption;
Form1.norm_rasc_Set.Insert;
Form1.norm_rasc_Set.Edit;
If Form1.norm_rasc_Set.State in [dsEdit] then
begin
Form1.norm_rasc_Set.FieldByName('kod_izd').Value:=strtoint(label6.Caption);
Form1.norm_rasc_Set.FieldByName('mes').Value:=label3.Caption;
Form1.norm_rasc_Set.FieldByName('god').Value:=strtoint(label4.Caption);
Form1.norm_rasc_Set.FieldByName('norma').Value:=1;
Form1.norm_rasc_Set.FieldByName('rascenka').Value:=1;
end;
end;
procedure Tnorm_rasc.BitBtn5Click(Sender: TObject);
begin
Form1.kalk_Set.Active:=false;
Form1.kalk_Set.SelectSQL.Clear;
Form1.kalk_Set.SelectSQL.Add('select * from kalkul where kod_izd=:param_izd and mes=:param_mes and god=:param_god');
Form1.kalk_Set.ParamByName('param_izd').Value:=nov_norm_rasc.dbLookupcombobox1.KeyValue;
Form1.kalk_Set.ParamByName('param_mes').Value:=nov_norm_rasc.combobox1.Text;
Form1.kalk_Set.ParamByName('param_god').Value:=strtoint(nov_norm_rasc.combobox2.Text);
Form1.kalk_Set.Active:=true;
Form1.kalk_Set.Last;
if Form1.kalk_Set.RecordCount<>0 then
if MessageDlg('Необходимо будет провести пересчет калькуляции. Продолжить?', mtCustom, [mbyes,mbno], 0) = mrYes
then
begin
Form1.norm_rasc_Set.Edit;
Form1.norm_rasc_Set.FieldByName('kod_izd').Value:=strtoint(label6.Caption);
Form1.norm_rasc_Set.FieldByName('mes').Value:=label3.Caption;
Form1.norm_rasc_Set.FieldByName('god').AsString:=label4.Caption;
Form1.norm_rasc_Set.Post;
groupbox4.Visible:=false;
kalk.Label3.Caption:=nov_norm_rasc.combobox1.Text;
kalk.Label4.Caption:=nov_norm_rasc.combobox2.Text;
kalk.Label5.Caption:=nov_norm_rasc.dbLookupcombobox1.Text;
kalk.Show;
dbgrid1.ReadOnly:=true;
form1.norm_rasc_Set.FieldByName('rabot').ReadOnly:=true;
end;
end;
procedure Tnorm_rasc.N6Click(Sender: TObject);
begin
dbgrid1.ReadOnly:=false;
form1.norm_rasc_Set.FieldByName('rabot').ReadOnly:=false;
groupbox4.Visible:=true;
edit3.Visible:=false;
Form1.norm_rasc_Set.Edit;
end;
procedure Tnorm_rasc.N7Click(Sender: TObject);
begin
Form1.kalk_Set.Active:=false;
Form1.kalk_Set.SelectSQL.Clear;
Form1.kalk_Set.SelectSQL.Add('select * from kalkul where kod_izd=:param_izd and mes=:param_mes and god=:param_god');
Form1.kalk_Set.ParamByName('param_izd').Value:=nov_norm_rasc.dbLookupcombobox1.KeyValue;
Form1.kalk_Set.ParamByName('param_mes').Value:=nov_norm_rasc.combobox1.Text;
Form1.kalk_Set.ParamByName('param_god').Value:=strtoint(nov_norm_rasc.combobox2.Text);
Form1.kalk_Set.Active:=true;
Form1.kalk_Set.Last;
if Form1.kalk_Set.RecordCount<>0 then
if MessageDlg('Необходимо будет провести пересчет калькуляции. Продолжить?', mtCustom, [mbyes,mbno], 0) = mrYes
then
begin
if MessageDlg('Удалить выбранную запись?', mtCustom, [mbyes,mbno], 0) = mrYes
then
Form1.norm_rasc_Set.Delete;
kalk.Label3.Caption:=nov_norm_rasc.combobox1.Text;
kalk.Label4.Caption:=nov_norm_rasc.combobox2.Text;
kalk.Label5.Caption:=nov_norm_rasc.dbLookupcombobox1.Text;
kalk.Show;
dbgrid1.ReadOnly:=true;
form1.norm_rasc_Set.FieldByName('rabot').ReadOnly:=true;
end;
end;
procedure Tnorm_rasc.BitBtn6Click(Sender: TObject);
begin
groupbox4.Visible:=false;
edit3.Visible:=false;
edit3.Text:='';
bitbtn5.Visible:=true;
groupbox4.Caption:='';
form1.norm_rasc_Set.Cancel;
end;
procedure Tnorm_rasc.BitBtn1Click(Sender: TObject);
begin
Form1.norm_rasc_Set.First;
end;
procedure Tnorm_rasc.BitBtn2Click(Sender: TObject);
begin
Form1.norm_rasc_Set.Prior;
end;
procedure Tnorm_rasc.BitBtn3Click(Sender: TObject);
begin
Form1.norm_rasc_Set.Next;
end;
procedure Tnorm_rasc.BitBtn4Click(Sender: TObject);
begin
Form1.norm_rasc_Set.Last;
end;
procedure Tnorm_rasc.N13Click(Sender: TObject);
begin
Form1.norm_rasc_Set.Active:=false;
Form1.norm_rasc_Set.SelectSQL.Clear;
Form1.norm_rasc_Set.SelectSQL.Add('select * from norm_rascenki, raboti where raboti.kod_rabot=norm_rascenki.kod_rabot order by rabot ASC');
Form1.norm_rasc_Set.Active:=true;
end;
procedure Tnorm_rasc.N14Click(Sender: TObject);
begin
Form1.norm_rasc_Set.Active:=false;
Form1.norm_rasc_Set.SelectSQL.Clear;
Form1.norm_rasc_Set.SelectSQL.Add('select * from norm_rascenki, raboti where raboti.kod_rabot=norm_rascenki.kod_rabot order by rabot DESC');
Form1.norm_rasc_Set.Active:=true;
end;
procedure Tnorm_rasc.N15Click(Sender: TObject);
begin
Form1.norm_rasc_Set.Active:=false;
Form1.norm_rasc_Set.SelectSQL.Clear;
Form1.norm_rasc_Set.SelectSQL.Add('select * from norm_rascenki order by norma ASC');
Form1.norm_rasc_Set.Active:=true;
end;
procedure Tnorm_rasc.N16Click(Sender: TObject);
begin
Form1.norm_rasc_Set.Active:=false;
Form1.norm_rasc_Set.SelectSQL.Clear;
Form1.norm_rasc_Set.SelectSQL.Add('select * from norm_rascenki order by norma DESC');
Form1.norm_rasc_Set.Active:=true;
end;
procedure Tnorm_rasc.N17Click(Sender: TObject);
begin
Form1.norm_rasc_Set.Active:=false;
Form1.norm_rasc_Set.SelectSQL.Clear;
Form1.norm_rasc_Set.SelectSQL.Add('select * from norm_rascenki order by rascenka ASC');
Form1.norm_rasc_Set.Active:=true;
end;
procedure Tnorm_rasc.N18Click(Sender: TObject);
begin
Form1.norm_rasc_Set.Active:=false;
Form1.norm_rasc_Set.SelectSQL.Clear;
Form1.norm_rasc_Set.SelectSQL.Add('select * from norm_rascenki order by rascenka DESC');
Form1.norm_rasc_Set.Active:=true;
end;
procedure Tnorm_rasc.N3Click(Sender: TObject);
begin
norm_rasc.Close;
end;
procedure Tnorm_rasc.N19Click(Sender: TObject);
begin
groupbox4.Visible:=true;
edit3.Visible:=true;
bitbtn5.Visible:=false;
groupbox4.Caption:='Введите выполняемую работу:';
end;
procedure Tnorm_rasc.Edit3Change(Sender: TObject);
begin
Form1.norm_rasc_Set.Locate('rab',Edit3.Text,[loCaseInsensitive, loPartialKey]);
end;
procedure Tnorm_rasc.N21Click(Sender: TObject);
begin
otch_norm_rasc.QuickRep1.Preview;
end;
procedure Tnorm_rasc.FormActivate(Sender: TObject);
var
i: integer;
x,y: double;
begin
x:=0;
y:=0;
Form1.norm_rasc_Set.Last;
Подобные документы
Описание предметной области. Концептуальное проектирование базы данных. Разработка базы данных оптового склада. Требования, предъявляемые к аппаратному и программному обеспечению Borland Delphi 7.0 и MySQL. Работа с базой данных оптового склада.
курсовая работа [705,8 K], добавлен 18.06.2015Анализ предметной области с использованием моделей методологии ARIS и разработка ER-диаграммы. Описание входной и выходной информации для проектирования реляционной базы данных. Разработка управляющих запросов и связей между ними с помощью языка SQL.
курсовая работа [975,2 K], добавлен 30.01.2014Функциональное назначение и область применения программы "Локальный сетевой чат"; логическая структура, технические и программные средства. Требования к программе; характеристика, вызов и загрузка, входные и выходные данные, настройка, интерфейс.
дипломная работа [1,3 M], добавлен 18.10.2013Ведение базы данных кассы кинотеатра. Обоснование необходимости компьютерной обработки информации. Требования к программному, аппаратному обеспечению, графическому интерфейсу. Выбор, обоснование среды разработки. Модель предметной области. Этапы отладки.
дипломная работа [1,5 M], добавлен 09.09.2010Обследование предметной области. Проектирование реляционной базы данных: описание входной и выходной информации, перечень сущностей и атрибутов, создание модели, выбор ключей. Разработка и обоснование представлений для отображения результатов выборки.
курсовая работа [539,0 K], добавлен 12.12.2011Описание предметной области. Характеристика программных средств. Описание компонентов, интерфейс программы. Описание процедур и функций. Вызов и загрузка программы. Испытание методом белого и черного ящика на ошибки кода программного приложения.
курсовая работа [2,2 M], добавлен 26.04.2015Создание баз данных с использованием Database Desktop. Проведение автоматизации рабочего места кассира. Описание входной и выходной информации. Выбор среды реализации, состава и параметров технических средств. Проектирование интерфейса программы.
курсовая работа [1021,5 K], добавлен 22.01.2015Написание программы для работы со списком документов, разработка функционала. Требования к аппаратному и программному обеспечению. Описание интерфейса пользователя. Структура программы и описание данных. Процедура тестирования и его результаты.
курсовая работа [1,5 M], добавлен 26.08.2012Офисные программы, необходимые для автоматизации работы турфирмы. Описание входной и выходной информации, структуры базы данных. Аппаратное и программное средства для функционирования автоматизированной информационной системы, ее работоспособность.
курсовая работа [902,2 K], добавлен 02.05.2017Написание программы, которая позволяет пользователю играть в графическом режиме в игру "Тетрис". Разработка функционала с возможностью выбора скорости. Обзор требований к аппаратному и программному обеспечению. Интерфейс, описание данных и тестирование.
курсовая работа [506,3 K], добавлен 17.12.2014