Клиентское программное обеспечение автоматизации рабочего места
Разработка программного приложения для автоматизации рабочего места кладовщика на центральном складе предприятия. Решение задачи создания клиент-серверной архитектуры базы данных в среде программирования Delphi 7 и Interbase для "Windows 9X(NT)".
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 19.06.2012 |
Размер файла | 1,8 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Помещения с электрооборудованием должны быть оснащены огнетушителями типа ОУ-2 или ОУБ-3. программа автоматизация сервер
4.1.5 Требования безопасности по окончании работы
После окончания работы необходимо обесточить все средства вычислительной техники и периферийное оборудование. В случае непрерывного производственного процесса необходимо оставить включенными только необходимое оборудование.
4.2 Инструкция по технике безопасности при работе на
компьютере
4.2.1 Введение
Настоящая инструкция предназначена для предотвращения неблагоприятного воздействия на человека вредных факторов, сопровождающих работы со средствами вычислительной техники и периферийным оборудованием.
Настоящая инструкция подлежит обязательному и безусловному выполнению. За нарушение инструкции виновные несут ответственность в административном и судебном порядке в зависимости от характера последствий нарушения.
Соблюдение правил безопасной работы является необходимым условием предупреждения производственного травматизма.
4.2.2 Общие положения
Область распространения и порядок применения инструкции:
Настоящая инструкция распространяется на персонал, эсплуатирующий средства вычислительной техники и периферийное оборудование. Инструкция содержит общие указания по безопасному применению электрооборудования в учреждении. Требования настоящей инструкции являются обязательными, отступления от нее не допускаются.
Требования к персоналу, эксплуатирующему средства вычислительной техники и периферийное оборудование:
К самостоятельной эксплуатации электроаппаратуры допускается только специально обученный персонал не моложе 18 лет, пригодный по состоянию здоровья и квалификации к выполнению указанных работ.
Перед допуском к работе персонал должен пройти вводный и первичный инструктаж по технике безопасности с показом безопасных и рациональных приемов работы. Затем не реже одного раза в 6 мес. проводится повторный инструктаж, возможно, с группой сотрудников одинаковой профессии в составе не более 20 человек. Внеплановый инструктаж проводится при изменении правил по охране труда, при обнаружении нарушений персоналом инструкции по технике безопасности, изменении характера работы персонала.
В помещениях, в которых постоянно эксплуатируется электрооборудование должны быть вывешены в доступном для персонала месте Инструкции по технике безопасности, в которых также должны быть определены действия персонала в случае возникновения аварий, пожаров, электротравм.
Руководители структурных подразделений несут ответственность за организацию правильной и безопасной эксплуатации средств вычислительной техники и периферийного оборудования, эффективность их использования; осуществляют контроль за выполнением персоналом требований настоящей инструкции по технике безопасности.
4.2.3 Виды опасных и вредных факторов
Эксплуатирующий средства вычислительной техники и периферийное оборудование персонал может подвергаться опасным и вредным воздействия, которые по природе действия подразделяются на следующие группы:
1. поражение электрическим током,
2. механические повреждения
3. электромагнитное излучение
4. инфракрасное излучение
5. опасность пожара
6. повышенный уровень шума и вибрации
Для снижения или предотвращения влияния опасных и вредных факторов необходимо соблюдать . Санитарные правила и нормы. гигиенические требования к видеодисплейным терминалам, персональным электронно-вычислительным машинам и организации работы
4.2.4 Требования электробезопасности
При пользовании средствами вычислительной техники и периферийным оборудованием каждый работник должен внимательно и осторожно обращаться с электропроводкой, приборами и аппаратами и всегда помнить, что пренебрежение правилами безопасности угрожает и здоровью, и жизни человека
Во избежание поражения электрическим током необходимо твердо знать и выполнять следующие правила безопасного пользования электроэнергией:
1. Необходимо постоянно следить на своем рабочем месте за исправным состоянием электропроводки, выключателей, штепсельных розеток, при помощи которых оборудование включается в сеть, и заземления. При обнаружении неисправности немедленно обесточить электрооборудование, оповестить администрацию. Продолжение работы возможно только после устранения неисправности.
2. Во избежание повреждения изоляции проводов и возникновения коротких замыканий не разрешается:
а) вешать что-либо на провода;
б) закрашивать и белить шнуры и провода;
в) закладывать провода и шнуры за газовые и водопроводные трубы, за батареи отопительной системы;
г) выдергивать штепсельную вилку из розетки за шнур, усилие должно быть приложено к корпусу вилки.
3. Для исключения поражения электрическим током запрещается:
а) часто включать и выключать компьютер без необходимости;
б) прикасаться к экрану и к тыльной стороне блоков компьютера;
в) работать на средствах вычислительной техники и периферийном оборудовании мокрыми руками;
г) работать на средствах вычислительной техники и периферийном оборудовании, имеющих нарушения целостности корпуса, нарушения изоляции проводов, неисправную индикацию включения питания, с признаками электрического напряжения на корпусе
д) класть на средства вычислительной техники и периферийном оборудовании посторонние предметы.
3. Запрещается под напряжением очищать от пыли и загрязнения электроооборудование.
4. Запрещается проверять работоспособность электрооборудования в неприспособленных для эксплуатации помещениях с токопроводящими полами, сырых, не позволяющих заземлить доступные металлические части.
5. Ремонт электроаппаратуры производится только специалистами-техниками с соблюдением необходимых технических требований.
6. Недопустимо под напряжением проводить ремонт средств вычислительной техники и перифейного оборудования.
7. Во избежание поражения электрическим током, при пользовании электроприборами нельзя касаться одновременно каких-либо трубопроводов, батарей отопления, металлических конструкций , соединенных с землей.
8. При пользовании элетроэнергией в сырых помещениях соблюдать особую осторожность.
9. При обнаружении оборвавшегося провода необходимо немедленно сообщить об этом администрации, принять меры по исключению контакта с ним людей. Прикосновение к проводу опасно для жизни.
10. Спасение пострадавшего при поражении электрическим током главным образом зависит от быстроты освобождения его от действия током.
Во всех случаях поражения человека электрическим током немедленно вызывают врача. До прибытия врача нужно, не теряя времени, приступить к оказанию первой помощи пострадавшему.
Необходимо немедленно начать производить искусственное дыхание, наиболее эффективным из которых является метод рот в рот или рот в нос, а также наружный массаж сердца.
Искусственное дыхание пораженному электрическим током производится вплоть до прибытия врача.
4.2.5 Требования по обеспечению пожарной безопасности
На рабочем месте запрещается иметь огнеопасные вещества
В помещениях запрещается:
а) зажигать огонь;
б) включать электрооборудование, если в помещении пахнет газом;
в) курить;
г) сушить что-либо на отопительных приборах;
д) закрывать вентиляционные отверстия в электроаппаратуре
Источниками воспламенения являются:
а) искра при разряде статического электричества
б) искры от электроборудования
в) искры от удара и трения
г) открытое пламя
При возникновении пожароопасной ситуации или пожара персонал должен немедленно принять необходимые меры для его ликвидации, одновременно оповестить о пожаре администрацию.
Помещения с электрооборудованием должны быть оснащены огнетушителями типа ОУ-2 или ОУБ-3.
ЗАКЛЮЧЕНИЕ
Целью данной дипломной работы являлась разработка программного приложения для автоматизации рабочего места кладовщика на центральном складе предприятия АО «КЭМОНТ». Решение поставленных задач в ходе его проектирования и реализации позволило достичь поставленных результатов с минимальными затратами материальных ресурсов, точную оценку экономической эффективности и затрат на реализацию программного продукта определить не является возможным, так как цифры в расчетах взяты по среднестатистическим данным в данном регионе.
В данном проекте используется удовлетворяющая всем условиям поставленной задачи клиент-серверная архитектура баз данных. Клиентская часть созданного программного продукта разработана в среде программирования Delphi 7 и Interbase для “Windows 9X(NT)”.
В программном приложении реализованы все требуемые, для удобной работы с базой данных, функции программного обеспечения: ввод, вывод, редактирование, поиск, создание сводной ведомости, подготовка выходных документов и отчетов с возможностью их предварительного просмотра.
Благодаря разработанному программному продукту, обеспечивается удобное ведение базы данных по материалам имеющимся на складе, ускоренное создание сводной ведомости по заказам, поиск полных данных о каждом оборудовании на складе, вывод их на печать, а так же контроль и безопасность данных об имеющихся материалах.
СПИСОК ЛИТЕРАТУРЫ
1. Блюдина Л.С. «Проектирование баз данных в среде Delphi»- Ульяновск, 2001
2. Вирт Н. Алгоритмы и структуры данных / Пер. с англ. -- М.: Мир, 1989. - 360 с., ил.
3. Гринзоу Лу. Философия программирования для Windows 95/NT / Пер. с англ. -- СПб.: Символ-Плюс, 1997. -- 640 с., ил.
4. Зелковиц М., Шоу А., Гэннон Дж. Принципы разработки программного обеспечения / Пер. с англ. -- М.: Мир, 1982. -- 386 с., ил.
5. Практическое руководство по программированию / Пер. с англ. Б. Мик, П. Хит, Н. Рашби и др.; под ред. Б. Мика, П. Хит, Н. Рашби. -- М.: Радио и связь, 1986. -- 168 с., ил.
6. С. И. Бобровский. Delphi 7. Учебный курс «Описание системы и языка программирования Delphi»- :Питер, 2004
7. Семенова И.И «Разработка клиент-серверных приложений в Microsoft SQL SERVER 2000 и Borland Delphi 2007», учебно-методическое пособие- Омск, 2007
8. Справочное пособие «Borland Delphi или о том, что лучше один раз увидеть, чем сто раз услышать.», 2008
9. Фаронов В. «Программирование баз данных в Delphi 7-Реализация современных технологий баз данных средствами Delphi», -Москва :«Питер» учебный курс, 2006
10. Фокс Дж. Программное обеспечение и его разработка / Пер. с англ. -- М.: Мир, 1985. - 368 с., ил.
11. Шкрыль Андрей «Разработка клиент-серверных приложений в Delphi+видеокурс»-«Питер» 2006
12. Язык компьютера. Пер. с англ, под ред. и с предисл. В. М. Курочки-на. -- М.: Мир, 1989. ~ 240 с., ил.
13. http://forum.xaker.ru
14. http://www.Brain2life.com
15. http://www.cyberforum.ru
16. http://www.delphimaster.ru
17. http://www.forum.vingrad.ru
18. http://www.mydelphi.info
19. http://www.pblog.ru/lab/
20. http://www.programmersforum.ru
21. http://www.samouchka.net
Приложение
unit UMain;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Menus, XPMan, ExtCtrls, ComCtrls, StdCtrls,shellapi;
type
TMAIN = class(TForm)
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;
XPManifest1: TXPManifest;
Timer1: TTimer;
N16: TMenuItem;
GroupBox1: TGroupBox;
PB: TProgressBar;
N17: TMenuItem;
Image1: TImage;
Timer2: TTimer;
procedure N8Click(Sender: TObject);
procedure N3Click(Sender: TObject);
procedure N4Click(Sender: TObject);
procedure N5Click(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
procedure N16Click(Sender: TObject);
procedure N9Click(Sender: TObject);
procedure N11Click(Sender: TObject);
procedure N17Click(Sender: TObject);
procedure N14Click(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure N13Click(Sender: TObject);
procedure N15Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure Timer2Timer(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
MAIN: TMAIN;
s,ss:string;l:integer;
implementation
uses UDM, UBASE, UDETAL, UINS_DET, UREP_INS, UREPORT, USET,Upoisk, UOPROG,
UAUTOR;
{$R *.dfm}
procedure TMAIN.N8Click(Sender: TObject);
begin
//BASE:=TBASE.Create(SELF);
BASE.IBQuery1.Open;
//BASE.IBQuery4.Open;
//BASE.IBQuery7.Open;
BASE.IBTable1.Active:=TRUE;
BASE.IBTable2.Active:=TRUE;
BASE.BitBtn7.Visible:=TRUE;
BASE.BitBtn8.Visible:=FALSE; BASE.ShowModal;
end;
procedure TMAIN.N3Click(Sender: TObject);
var
s,ss:string;
f,FF:textfile;
begin
TRY
{begin
if fileexists(ExtractFileDir(Application.ExeName)+'\DB_path.set') then
begin
assignfile(f,ExtractFileDir(Application.ExeName)+'\DB_path.set');
reset(f);
read(f,s);
closefile(f);
end;
if fileexists(ExtractFileDir(Application.ExeName)+'\server.set') then
begin
assignfile(f,ExtractFileDir(Application.ExeName)+'\server.set');
reset(f);
read(f,ss);
closefile(f);
end;
dm.IBD.DatabaseName:=ss+':'+s;
end;}
IF FILEEXISTS('DB.LOG') THEN
BEGIN
ASSIGNFILE(FF,'DB.LOG');
APPEND(FF);WRITELN(FF,'ПОДКЛЮЧЕНИЕ='+DATETIMETOSTR(NOW));
CLOSEFILE(FF);
END
ELSE BEGIN
ASSIGNFILE(FF,'DB.LOG');
REWRITE(FF);WRITELN(FF,'ПОДКЛЮЧЕНИЕ='+DATETIMETOSTR(NOW));
CLOSEFILE(FF);
END;
DM.IBD.Connected:=TRUE;
MAIN.N8.Enabled:=TRUE;
MAIN.N9.Enabled:=TRUE;
MAIN.N16.Enabled:=TRUE;
EXCEPT
MESSAGEDLG('НЕ ПОЛУЧИЛОСЬ ПОДКЛЮЧИТЬСЯ К УДАЛЕННОМУ СЕРВЕРУ!'+#13+#13+'*ПРОВЕРЬТЕ ПРАВИЛЬНОСТЬ УКАЗАННОГО ПУТИ БАЗЫ ДАННЫХ',MTWARNING,[MBOK,MBHELP],0);
END;
end;
procedure TMAIN.N4Click(Sender: TObject);
begin
TRY
DM.IBD.Connected:=FALSE;
MAIN.N8.Enabled:=FALSE;
MAIN.N9.Enabled:=FALSE;
MAIN.N16.Enabled:=FALSE;
EXCEPT
SHOWMESSAGE('НЕ УДАЛОСЬ ОТКЛЮЧИТЬСЯ ОТ СЕРВЕРА'+#13+'ПОПРОБУЙТЕ ЕЩЕ РАЗ');
end;END;
procedure TMAIN.N5Click(Sender: TObject);
begin
TRY
DM.IBD.Connected:=FALSE;
APPLICATION.Terminate;
EXCEPT
SHOWMESSAGE('ОШИБКА ЗАВЕРШЕНИЯ РАБОТЫ ПРОГРАММЫ!!!'+#13+#13+
'ПОПРОБУЙТЕ ЗАВЕРШИТЬ РАБОТУ КОМПЬЮТЕРА!!!');
END;
end;
procedure TMAIN.Timer1Timer(Sender: TObject);
begin
RANDOMIZE;
IF DM.IBD.Connected=FALSE THEN
PB.Position:=0
ELSE
PB.Position:=RANDOM(21)+80;
end;
procedure TMAIN.N16Click(Sender: TObject);
begin
REP_INS.Show;
end;
procedure TMAIN.N9Click(Sender: TObject);
begin
TRY
FREP.IBQuery1.Open;
FREP.IBTable1.Active:=TRUE;
FREP.Show;
EXCEPT
SHOWMESSAGE('НЕ УДАЛОСЬ ОТКРЫТЬ БАЗУ!ПОПРОБУЙТЕ ЕЩЕ РАЗ');
END;
end;
procedure TMAIN.N11Click(Sender: TObject);
begin
SETT.ShowModal;
end;
procedure TMAIN.N17Click(Sender: TObject);
begin
fpoisk.ShowModal;
end;
procedure TMAIN.N14Click(Sender: TObject);
begin
o_prog.ShowModal;
end;
procedure TMAIN.FormDestroy(Sender: TObject);
VAR
FF:TEXTFILE;
begin
IF FILEEXISTS('DB.LOG') THEN
BEGIN
ASSIGNFILE(FF,'DB.LOG');
APPEND(FF);WRITELN(FF,'ВЫКЛЮЧЕНИЕ='+DATETIMETOSTR(NOW));
CLOSEFILE(FF);
END
ELSE BEGIN
ASSIGNFILE(FF,'DB.LOG');
REWRITE(FF);WRITELN(FF,'ВЫКЛЮЧЕНИЕ='+DATETIMETOSTR(NOW));
CLOSEFILE(FF);
END;
end;
procedure TMAIN.N13Click(Sender: TObject);
begin
shellexecute(handle,'open',pchar('WORKSTATHELP.HLP'+#0),nil,nil,sw_shownormal);
end;
procedure TMAIN.N15Click(Sender: TObject);
begin
autor.ShowModal;
end;
procedure TMAIN.FormCreate(Sender: TObject);
begin
L:=LENGTH(application.Title);
S:=' '+application.Title+' ';
application.Title:=s;
end;
procedure TMAIN.Timer2Timer(Sender: TObject);
begin
SS:=application.Title;
application.Title:=application.Title+COPY(sS,1,1);
S:=application.Title;
DELETE(s,1,1);
application.Title:=s;
end;
end.
unit UBASE;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, DBCtrls, Grids, DBGrids, DB, IBCustomDataSet, IBQuery,
ExtCtrls, ToolWin, ComCtrls, Buttons, IBTable, XPMan;
type
TBASE = class(TForm)
IBQuery1: TIBQuery;
DataSource1: TDataSource;
IBQuery1ID: TIntegerField;
IBQuery1NAME: TIBStringField;
DBGrid1: TDBGrid;
IBQuery2: TIBQuery;
IBQuery3: TIBQuery;
GroupBox1: TGroupBox;
DBNavigator1: TDBNavigator;
Splitter1: TSplitter;
GroupBox2: TGroupBox;
DBGrid2: TDBGrid;
DBNavigator2: TDBNavigator;
Splitter2: TSplitter;
GroupBox3: TGroupBox;
DBGrid3: TDBGrid;
DBNavigator3: TDBNavigator;
ToolBar1: TToolBar;
ToolBar2: TToolBar;
ToolBar3: TToolBar;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
BitBtn3: TBitBtn;
BitBtn4: TBitBtn;
BitBtn5: TBitBtn;
BitBtn6: TBitBtn;
IBQuery4: TIBQuery;
IBQuery5: TIBQuery;
IBQuery6: TIBQuery;
IBQuery7: TIBQuery;
IBQuery8: TIBQuery;
IBQuery9: TIBQuery;
DataSource2: TDataSource;
DataSource3: TDataSource;
IBQuery7ID: TIntegerField;
IBQuery7E_ID: TIntegerField;
IBQuery7DESCRIPTION: TIBStringField;
IBQuery10: TIBQuery;
IBTable1: TIBTable;
IBTable2: TIBTable;
IBQuery4ID: TIntegerField;
IBQuery4N_ID: TIntegerField;
IBQuery4NAME: TIBStringField;
BitBtn7: TBitBtn;
XPManifest1: TXPManifest;
IBTable1ID: TIntegerField;
IBTable1N_ID: TIntegerField;
IBTable1NAME: TIBStringField;
IBTable2ID: TIntegerField;
IBTable2E_ID: TIntegerField;
BitBtn8: TBitBtn;
IBTable2DESCRIPTION1: TIBStringField;
procedure ButtonClick(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure Button2Click(Sender: TObject);
procedure BitBtn3Click(Sender: TObject);
procedure BitBtn4Click(Sender: TObject);
procedure BitBtn5Click(Sender: TObject);
procedure BitBtn6Click(Sender: TObject);
procedure BitBtn7Click(Sender: TObject);
procedure BitBtn8Click(Sender: TObject);
// procedure BitBtn8Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
BASE: TBASE;
implementation
uses UDM, UMain, UDETAL, UINS_DET, UREP_INS, UREPORT, USET, UPR;
{$R *.dfm}
procedure TBASE.ButtonClick(Sender: TObject);
VAR
S:STRING;
begin
S:=INPUTBOX('ДОБАВЛЕНИЕ ГРУППЫ','ВВЕДИТЕ НАЗВАНИЕ ГРУППЫ','');
IBQuery2.Params.ParamByName('NAME').Value:=S;
TRY
IBQuery2.ExecSQL;
EXCEPT
CAPTION:='ERROR';
DM.IBT.RollbackRetaining;
EXIT;END;
DM.IBT.CommitRetaining;
IBQuery1.Close;
IBQUERY1.Open;
end;
procedure TBASE.FormClose(Sender: TObject; var Action: TCloseAction);
begin
BASE.IBQuery1.Close;
end;
procedure TBASE.Button2Click(Sender: TObject);
begin
if MessageDlg('ВЫ ДЕЙСТВИТЕЛЬНО ХОТИТЕ УДАЛИТЬ ЭТУ ЗАПИСЬ?',
mtConfirmation,[mbYes,mbNo],0)=mrYes then
begin
IBQuery3.Params.ParamByName('PAR1').Value:=
IBQuery1ID.Value;
try
IBQUERY3.ExecSQL;
Except
ShowMessage('ОШИБКА УДАЛЕНИЯ!'+#13+
'ПОПРОБУЙТЕ ЕЩЕ РАЗ!ВОЗМОЖНО ЗАПИСЬ УДАЛЕНА!');
DM.IBT.RollbackRetaining;
exit;
end;
DM.IBT.CommitRetaining;
IBQuery1.Close;
IBQuery1.Open;
end;
end;
procedure TBASE.BitBtn3Click(Sender: TObject);
VAR
S:STRING;
begin
S:=INPUTBOX('ДОБАВЛЕНИЕ ОБОРУДОВАНИЯ','ВВЕДИТЕ НАЗВАНИЕ ОБОРУДОВАНИЯ','');
IBQuery5.Params.ParamByName('NAME').Value:=S;
IBQUERY5.Params.ParamByName('N_ID').Value:=BASE.IBQuery1ID.Value;
TRY
IBQuery5.ExecSQL;
EXCEPT
CAPTION:='ERROR';
DM.IBT.RollbackRetaining;
EXIT;END;
DM.IBT.CommitRetaining;
base.IBTable1.Active:=FALSE;
BASE.IBTable1.Active:=TRUE;
end;
procedure TBASE.BitBtn4Click(Sender: TObject);
begin
if MessageDlg('ВЫ ДЕЙСТВИТЕЛЬНО ХОТИТЕ УДАЛИТЬ ЭТУ ЗАПИСЬ?',
mtConfirmation,[mbYes,mbNo],0)=mrYes then
begin
IBQuery6.Params.ParamByName('PAR2').Value:=BASE.IBtable1ID.Value;
try
IBQUERY6.ExecSQL;
Except
ShowMessage('ОШИБКА УДАЛЕНИЯ!'+#13+
'ПОПРОБУЙТЕ ЕЩЕ РАЗ!ВОЗМОЖНО ЗАПИСЬ УДАЛЕНА!');
DM.IBT.RollbackRetaining;
exit;
end;
DM.IBT.CommitRetaining;
BASE.IBTable1.Active:=FALSE;
BASE.IBTable1.Active:=TRUE;
end;
end;
procedure TBASE.BitBtn5Click(Sender: TObject);
VAR
S:STRING;
begin
S:=INPUTBOX('ДОБАВЛЕНИЕ ТИПА ОБОРУДОВАНИЯ','ВВЕДИТЕ НАЗВАНИЕ ОБОРУДОВАНИЯ','');
IBQuery8.Params.ParamByName('DESCRIPTION1').Value:=S;
IBQUERY8.Params.ParamByName('E_ID').Value:=BASE.IBTable1ID.Value;
TRY
IBQuery8.ExecSQL;
EXCEPT
SHOWMeSSAGE('Не удалось добавить данные в Таблицу, попробуйте еще раз!');
DM.IBT.RollbackRetaining;
EXIT;END;
DM.IBT.CommitRetaining;
IBTABLE2.Active:=FALSE;
IBTABLE2.Active:=TRUE;
end;
procedure TBASE.BitBtn6Click(Sender: TObject);
begin
if MessageDlg('ВЫ ДЕЙСТВИТЕЛЬНО ХОТИТЕ УДАЛИТЬ ЭТУ ЗАПИСЬ?',
mtConfirmation,[mbYes,mbNo],0)=mrYes then
begin
IBQuery9.Params.ParamByName('PAR1').Value:=BASE.IBTABLE2ID.VALUE;
try
IBQUERY9.ExecSQL;
Except
ShowMessage('ОШИБКА УДАЛЕНИЯ!'+#13+
'ПОПРОБУЙТЕ ЕЩЕ РАЗ!ВОЗМОЖНО ЗАПИСЬ УДАЛЕНА!');
DM.IBT.RollbackRetaining;
exit;
end;
DM.IBT.CommitRetaining;
BASE.IBTable2.Active:=FALSE;
BASE.IBTable2.Active:=TRUE;
end;
end;
{procedure TBASE.BitBtn8Click(Sender: TObject);
begin
if MessageDlg('ВЫ ДЕЙСТВИТЕЛЬНО ХОТИТЕ УДАЛИТЬ ЭТУ ЗАПИСЬ?',
mtConfirmation,[mbYes,mbNo],0)=mrYes then
begin
IBQuery12.Params.ParamByName('PAR1').Value:=
IBQuery10ID.Value;
try
IBQUERY12.ExecSQL;
Except
ShowMessage('ОШИБКА УДАЛЕНИЯ!'+#13+
'ПОПРОБУЙТЕ ЕЩЕ РАЗ!ВОЗМОЖНО ЗАПИСЬ УДАЛЕНА!');
DM.IBT.RollbackRetaining;
exit;
end;
DM.IBT.CommitRetaining;
IBQuery10.Close;
IBQuery10.Open;
end;
end;}
procedure TBASE.BitBtn7Click(Sender: TObject);
begin
//DETAL:=TDETAL.Create(SELF);
DETAL.IBTable1.Active:=TRUE;
DETAL.BitBtn1.Visible:=FALSE;DETAL.ShowModal;
end;
procedure TBASE.BitBtn8Click(Sender: TObject);
begin
REP_INS.Edit7.Text:=BASE.IBTable2DESCRIPTION1.Value;
//BASE.Close;
//DETAL:=DETAL.Create(SELF);
DETAL.BitBtn7.Enabled:=FALSE;
DETAL.BitBtn8.Enabled:=FALSE;
DETAL.IBTable1.Active:=TRUE;
DETAL.BitBtn1.Visible:=TRUE;DETAL.ShowModal;
end;
end.
unit UDETAL;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, IBCustomDataSet, IBQuery, StdCtrls, Buttons, ToolWin,
ComCtrls, ExtCtrls, DBCtrls, Grids, DBGrids, IBTable, XPMan;
type
TDETAL = class(TForm)
GroupBox4: TGroupBox;
DBGrid4: TDBGrid;
DBNavigator4: TDBNavigator;
ToolBar4: TToolBar;
BitBtn7: TBitBtn;
BitBtn8: TBitBtn;
IBQuery10: TIBQuery;
IBQuery10ID: TIntegerField;
IBQuery10T_ID: TIntegerField;
IBQuery10ASIGNATION: TIBStringField;
IBQuery10FULLNAME: TIBStringField;
IBQuery10CELL: TIBStringField;
IBQuery10REMAINS: TIntegerField;
IBQuery10UNIT: TIBStringField;
IBQuery11: TIBQuery;
IBQuery12: TIBQuery;
DataSource4: TDataSource;
IBTable1: TIBTable;
XPManifest1: TXPManifest;
IBTable1ID: TIntegerField;
IBTable1T_ID: TIntegerField;
IBTable1ASIGNATION: TIBStringField;
IBTable1FULLNAME: TIBStringField;
IBTable1CELL: TIBStringField;
IBTable1REMAINS: TIntegerField;
IBTable1UNIT: TIBStringField;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure BitBtn7Click(Sender: TObject);
procedure BitBtn8Click(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
DETAL: TDETAL;
implementation
uses UDM, UBASE, UMain, UINS_DET, UREP_INS, UREPORT, USET, UPR;
{$R *.dfm}
procedure TDETAL.FormClose(Sender: TObject; var Action: TCloseAction);
begin
DETAL.IBTable1.Active:=FALSE;
end;
procedure TDETAL.BitBtn7Click(Sender: TObject);
begin
INS_DET:=TINS_DET.Create(SELF);
INS_DET.ShowModal;
end;
procedure TDETAL.BitBtn8Click(Sender: TObject);
begin
if MessageDlg('ВЫ ДЕЙСТВИТЕЛЬНО ХОТИТЕ УДАЛИТЬ ЭТУ ЗАПИСЬ?',
mtConfirmation,[mbYes,mbNo],0)=mrYes then
begin
IBQuery12.Params.ParamByName('PAR1').Value:=DETAL.IBTable1ID.Value;
try
IBQUERY12.ExecSQL;
Except
ShowMessage('ОШИБКА УДАЛЕНИЯ!'+#13+
'ПОПРОБУЙТЕ ЕЩЕ РАЗ!ВОЗМОЖНО ЗАПИСЬ УДАЛЕНА!');
DM.IBT.RollbackRetaining;
exit;
end;
DM.IBT.CommitRetaining;
DETAL.IBTable1.Active:=FALSE;
DETAL.IBTable1.Active:=TRUE;
end;
end;
procedure TDETAL.BitBtn1Click(Sender: TObject);
begin
REP_INS.Edit8.Text:=DETAL.IBTable1FULLNAME.Value;
REP_INS.Label11.Caption:=INTTOSTR(DETAL.IBTable1REMAINS.Value);
REP_INS.Edit10.Text:=DETAL.IBTable1CELL.Value;
REP_INS.Tag:=DETAL.IBTable1ID.Value;
DETAL.Tag:=DETAL.IBTable1REMAINS.Value;
IF BASE.Tag<DETAL.Tag THEN
BEGIN
DETAL.IBTable1.Edit;
DETAL.IBTable1REMAINS.Value:=DETAL.Tag-BASE.Tag;
END
ELSE
BEGIN
DETAL.IBTable1.Edit;
DETAL.IBTable1REMAINS.Value:=0;
END;
BASE.Close;
DETAL.Close;
end;
procedure TDETAL.BitBtn2Click(Sender: TObject);
begin
detal.DBGrid4.Tag:=DETAL.IBTable1REMAINS.Value;
DETAL.IBTable1.Edit;
DETAL.IBTable1ID.Tag:=STRTOINT(INPUTBOX('Ввод количества оборудования','Введите количество',''));
DETAL.IBTable1REMAINS.Value:=DETAL.IBTable1ID.Tag+DETAL.DBGrid4.Tag;
DETAL.IBTable1.Post;
end;
end.
unit UINS_DET;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, XPMan;
type
TINS_DET = class(TForm)
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Edit4: TEdit;
Edit5: TEdit;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
GroupBox1: TGroupBox;
Label6: TLabel;
Edit6: TEdit;
Label7: TLabel;
Edit7: TEdit;
BitBtn1: TBitBtn;
XPManifest1: TXPManifest;
procedure BitBtn1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
INS_DET: TINS_DET;
implementation
uses UDETAL, UDM, UBASE, UMain, USET;
{$R *.dfm}
procedure TINS_DET.BitBtn1Click(Sender: TObject);
begin
DETAL.IBQuery11.Params.ParamByName('ASIGNATION').Value:=INS_DET.Edit1.Text;
DETAL.IBQuery11.Params.ParamByName('FULLNAME').Value:=INS_DET.Edit2.Text;
DETAL.IBQuery11.Params.ParamByName('CELL').Value:=INS_DET.Edit3.Text;
DETAL.IBQuery11.Params.ParamByName('REMAINS').Value:=STRTOINT(INS_DET.Edit4.Text);
DETAL.IBQuery11.Params.ParamByName('UNIT').Value:=INS_DET.Edit5.Text;
DETAL.IBQuery11.Params.ParamByName('T_ID').Value:=BASE.IBTable2ID.Value;
TRY
DETAL.IBQuery11.ExecSQL;
EXCEPT
CAPTION:='ERROR';
DM.IBT.RollbackRetaining;
EXIT;END;
DM.IBT.CommitRetaining;
DETAL.IBTable1.Active:=FALSE;
DETAL.IBTable1.Active:=TRUE;
end;
end.
unit UREP_INS;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, DB, IBCustomDataSet, IBQuery, Buttons, IBTable, Grids,
DBGrids, Menus, ExtCtrls, DBCtrls, XPMan;
type
TREP_INS = class(TForm)
GroupBox1: TGroupBox;
Label7: TLabel;
Edit7: TEdit;
Label8: TLabel;
Edit8: TEdit;
Label9: TLabel;
Edit9: TEdit;
Label10: TLabel;
Label11: TLabel;
Label12: TLabel;
Edit10: TEdit;
Button1: TButton;
BitBtn1: TBitBtn;
IBQuery1: TIBQuery;
MainMenu1: TMainMenu;
N1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
N4: TMenuItem;
IBTable1: TIBTable;
GroupBox2: TGroupBox;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Edit4: TEdit;
Edit5: TEdit;
Edit6: TEdit;
DBGrid1: TDBGrid;
DataSource1: TDataSource;
DataSource2: TDataSource;
IBTable2: TIBTable;
DataSource3: TDataSource;
IBQuery2: TIBQuery;
DataSource4: TDataSource;
IBTable1ID: TIntegerField;
BitBtn2: TBitBtn;
BitBtn3: TBitBtn;
DBNavigator1: TDBNavigator;
IBTable1NUM: TIBStringField;
Label13: TLabel;
IBTable2NOMENCLAT: TIBStringField;
IBTable2DET_NAME: TIBStringField;
IBTable2SUMM: TIntegerField;
IBTable2AL: TIntegerField;
IBTable2CELL: TIBStringField;
IBTable2ID: TIntegerField;
IBTable2O_ID: TIntegerField;
XPManifest1: TXPManifest;
BitBtn4: TBitBtn;
BitBtn5: TBitBtn;
IBQuery3: TIBQuery;
IBQuery4: TIBQuery;
IBQuery5: TIBQuery;
DBGrid2: TDBGrid;
procedure Button1Click(Sender: TObject);
procedure Edit9Change(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure N3Click(Sender: TObject);
procedure BitBtn3Click(Sender: TObject);
procedure N4Click(Sender: TObject);
procedure BitBtn4Click(Sender: TObject);
procedure BitBtn5Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
REP_INS: TREP_INS;
implementation
uses UBASE, UDETAL, UDM, UINS_DET, UMain, UREPORT, USET;
{$R *.dfm}
procedure TREP_INS.Button1Click(Sender: TObject);
begin
//BASE:=TBASE.Create(SELF);
BASE.IBTable1.Active:=TRUE;
BASE.IBQuery1.Active:=TRUE;
BASE.IBTable2.Active:=TRUE;
BASE.BitBtn1.Enabled:=FALSE;
BASE.BitBtn2.Enabled:=FALSE;
BASE.BitBtn3.Enabled:=FALSE;
BASE.BitBtn4.Enabled:=FALSE;
BASE.BitBtn5.Enabled:=FALSE;
BASE.BitBtn6.Enabled:=FALSE;BASE.BitBtn8.Visible:=TRUE;
BASE.BitBtn7.Visible:=FALSE;
BASE.Tag:=STRTOINT(REP_INS.Edit9.TEXT);
BASE.ShowModal;
end;
procedure TREP_INS.Edit9Change(Sender: TObject);
begin
//IF DETAL.IBTable1REMAINS.Value<STRTOINT(REP_INS.Edit9.Text);
end;
procedure TREP_INS.BitBtn1Click(Sender: TObject);
begin
REP_INS.GroupBox2.Enabled:=TRUE;
REP_INS.GroupBox1.Enabled:=FALSE;
end;
procedure TREP_INS.BitBtn2Click(Sender: TObject);
begin
REP_INS.IBQuery1.Params.ParamByName('NUM').Value:=EDIT1.Text;
REP_INS.IBQuery1.Params.ParamByName('OBJ').Value:=EDIT2.Text;
REP_INS.IBQuery1.Params.ParamByName('ZAKAZ').Value:=EDIT3.Text;
REP_INS.IBQuery1.Params.ParamByName('AUTOR').Value:=EDIT4.Text;
REP_INS.IBQuery1.Params.ParamByName('PICKER').Value:=EDIT5.Text;
REP_INS.IBQuery1.Params.ParamByName('Y').Value:=EDIT6.Text;
TRY
REP_INS.IBQuery1.ExecSQL;
EXCEPT
SHOWMESSAGE('Не удалось создать ведомость!Попробуйте еще раз!');
dm.IBT.RollbackRetaining;exit;
END;
dm.IBT.CommitRetaining;
REP_INS.GroupBox1.Enabled:=TRUE;
REP_INS.GroupBox2.Enabled:=FALSE;
REP_INS.IBTable1.Active:=TRUE;
REP_INS.IBTable2.Active:=TRUE;
EDIT1.Clear;EDIT2.Clear;EDIT3.Clear;EDIT4.Clear;EDIT5.Clear;EDIT6.Clear;
end;
procedure TREP_INS.N3Click(Sender: TObject);
begin
REP_INS.GroupBox1.Enabled:=TRUE;
REP_INS.GroupBox2.Enabled:=TRUE;
REP_INS.IBTable1.Open;
end;
procedure TREP_INS.BitBtn3Click(Sender: TObject);
begin
REP_INS.IBQuery2.Params.ParamByName('O_ID').Value:=REP_INS.IBTable1ID.Value;
REP_INS.IBQuery2.Params.ParamByName('SUMM').Value:=STRTOINT(REP_INS.Edit9.Text);
REP_INS.IBQuery2.Params.ParamByName('AL').Value:=STRTOINT(REP_INS.Label11.Caption);
REP_INS.IBQuery2.Params.ParamByName('NOMENCLAT').Value:=REP_INS.Edit7.Text;
REP_INS.IBQuery2.Params.ParamByName('DET_NAME').Value:=REP_INS.Edit8.Text;
REP_INS.IBQuery2.Params.ParamByName('CELL').Value:=REP_INS.Edit10.Text;
TRY
REP_INS.IBQuery2.ExecSQL;
EXCEPT
SHOWMESSAGE('Не удалось добавить данные!попробуйте еще раз!');
dm.IBT.RollbackRetaining;exit;
END;
dm.IBT.CommitRetaining;
REP_INS.IBTable2.Active:=FALSE;
REP_INS.IBTable2.Active:=TRUE;
EDIT9.Text:='0';
EDIT7.Clear;EDIT8.Clear;EDIT10.Clear;label11.Caption:='0';
end;
procedure TREP_INS.N4Click(Sender: TObject);
begin
TRY
REP_INS.Close;
rep_ins.IBTable1.Close;
rep_ins.IBTable2.Close;
EXCEPT
SHOWMESSAGE('Попробуйте еще раз');
END;
end;
procedure TREP_INS.BitBtn4Click(Sender: TObject);
begin
if MessageDlg('ВЫ ДЕЙСТВИТЕЛЬНО ХОТИТЕ УДАЛИТЬ ЭТУ ЗАПИСЬ?',
mtConfirmation,[mbYes,mbNo],0)=mrYes then
begin
IBQuery4.Params.ParamByName('PAR1').Value:=rep_ins.IBTable1ID.Value;
rep_ins.IBQuery5.Params.ParamByName('PAR1').Value:=REP_INS.IBTable1ID.Value;
try
IBQUERY5.ExecSQL;
IBQUERY4.ExecSQL;
Except
ShowMessage('ОШИБКА УДАЛЕНИЯ!'+#13+
'ПОПРОБУЙТЕ ЕЩЕ РАЗ!ВОЗМОЖНО ЗАПИСЬ УДАЛЕНА!');
DM.IBT.RollbackRetaining;
exit;
end;
DM.IBT.CommitRetaining;
rep_ins.IBTable1.Close;
rep_ins.IBTable1.Open;
rep_ins.IBTable2.Close;
rep_ins.IBTable2.Open;
end;
end;
procedure TREP_INS.BitBtn5Click(Sender: TObject);
begin
if MessageDlg('ВЫ ДЕЙСТВИТЕЛЬНО ХОТИТЕ УДАЛИТЬ ЭТУ ЗАПИСЬ?',
mtConfirmation,[mbYes,mbNo],0)=mrYes then
begin
IBQuery3.Params.ParamByName('PAR1').Value:=REP_INS.IBTable2ID.Value;
try
IBQUERY3.ExecSQL;
Except
ShowMessage('ОШИБКА УДАЛЕНИЯ!'+#13+
'ПОПРОБУЙТЕ ЕЩЕ РАЗ!ВОЗМОЖНО ЗАПИСЬ УДАЛЕНА!');
DM.IBT.RollbackRetaining;
exit;
end;
DM.IBT.CommitRetaining;
REP_INS.IBTable2.Close;
REP_INS.IBTable2.Open;
end;
end;
end.
unit UOPROG;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, StdCtrls, Buttons, XPMan, jpeg;
type
To_prog = class(TForm)
BitBtn1: TBitBtn;
Image1: TImage;
Label1: TLabel;
Label2: TLabel;
XPManifest1: TXPManifest;
procedure BitBtn1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
o_prog: To_prog;
implementation
{$R *.dfm}
procedure To_prog.BitBtn1Click(Sender: TObject);
begin
o_prog.Close;
end;
end.
unit UDM;
interface
uses
SysUtils, Classes, IBDatabase, DB;
type
TDM = class(TDataModule)
IBD: TIBDatabase;
IBT: TIBTransaction;
private
{ Private declarations }
public
{ Public declarations }
end;
var
DM: TDM;
implementation
uses UMain, UBASE, UDETAL, UINS_DET, UREP_INS, UREPORT, USET, UPR, Upoisk;
{$R *.dfm}
end.
unit UREPORT;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Grids, DBGrids, StdCtrls, DBCtrls, ExtCtrls, Mask, DB, IBTable,
IBCustomDataSet, IBQuery, ComCtrls, XPMan, jpeg, QuickRpt, QRCtrls,
Buttons;
type
TFREP = class(TForm)
PageControl1: TPageControl;
IBQuery1: TIBQuery;
DataSource1: TDataSource;
XPManifest1: TXPManifest;
IBTable1: TIBTable;
IBTable1ID: TIntegerField;
IBTable1O_ID: TIntegerField;
IBTable1NOMENCLAT: TIBStringField;
IBTable1DET_NAME: TIBStringField;
IBTable1SUMM: TIntegerField;
IBTable1AL: TIntegerField;
IBTable1CELL: TIBStringField;
TabSheet1: TTabSheet;
DBText1: TDBText;
DBText2: TDBText;
DBText3: TDBText;
DBText4: TDBText;
DBText5: TDBText;
Label6: TLabel;
Label5: TLabel;
Label4: TLabel;
Label3: TLabel;
Label2: TLabel;
Label1: TLabel;
DBEdit1: TDBEdit;
DBNavigator1: TDBNavigator;
Button1: TButton;
DBGrid1: TDBGrid;
TabSheet2: TTabSheet;
DataSource2: TDataSource;
QuickRep1: TQuickRep;
QRBand1: TQRBand;
QRSubDetail1: TQRSubDetail;
QRLabel1: TQRLabel;
QRLabel2: TQRLabel;
QRLabel3: TQRLabel;
QRLabel4: TQRLabel;
QRDBText1: TQRDBText;
QRDBText2: TQRDBText;
QRLabel5: TQRLabel;
QRDBText3: TQRDBText;
QRDBText4: TQRDBText;
QRLabel6: TQRLabel;
QRDBText5: TQRDBText;
QRLabel7: TQRLabel;
QRDBText6: TQRDBText;
QRSysData1: TQRSysData;
QRLabel8: TQRLabel;
QRShape1: TQRShape;
QRShape2: TQRShape;
QRShape3: TQRShape;
QRShape4: TQRShape;
QRShape5: TQRShape;
QRShape6: TQRShape;
QRShape7: TQRShape;
QRShape8: TQRShape;
QRShape9: TQRShape;
QRShape10: TQRShape;
QRLabel9: TQRLabel;
QRLabel10: TQRLabel;
QRLabel11: TQRLabel;
QRLabel12: TQRLabel;
QRLabel13: TQRLabel;
QRDBText7: TQRDBText;
QRDBText8: TQRDBText;
QRDBText9: TQRDBText;
QRDBText10: TQRDBText;
QRDBText11: TQRDBText;
BitBtn1: TBitBtn;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
FREP: TFREP;
implementation
uses UBASE, UDETAL, UDM, UINS_DET, UMain, USET, UREP_INS, UPR;
{$R *.dfm}
procedure TFREP.FormClose(Sender: TObject; var Action: TCloseAction);
begin
FREP.IBQuery1.Close;
end;
procedure TFREP.Button1Click(Sender: TObject);
begin
FREP.QuickRep1.Preview;
end;
end.
unit USET;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, XPMan, Buttons, ExtCtrls;
type
Tsett = class(TForm)
XPManifest1: TXPManifest;
Memo1: TMemo;
BitBtn1: TBitBtn;
Memo2: TMemo;
Image1: TImage;
Label1: TLabel;
Label2: TLabel;
procedure BitBtn1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
sett: Tsett;
implementation
uses UDM;
{$R *.dfm}
procedure Tsett.BitBtn1Click(Sender: TObject);
begin
if fileexists('DB_path.set') then
deletefile('DB_path.set');
memo1.Lines.SaveToFile(ExtractFileDir(Application.ExeName)+'\DB_path.set');
if fileexists('server.set') then
deletefile('server.set');
memo2.Lines.SaveToFile(ExtractFileDir(Application.ExeName)+'\server.set');
end;
procedure Tsett.FormCreate(Sender: TObject);
begin
memo1.Lines.Clear;
if fileexists('DB_path.set') then
begin
memo1.Lines.LoadFromFile(ExtractFileDir(Application.ExeName)+'\DB_path.set');
end;
memo2.Lines.Clear;
if fileexists('server.set') then
begin
memo2.Lines.LoadFromFile(ExtractFileDir(Application.ExeName)+'\server.set');
end;
end;
end.
unit UPR;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, QRCtrls, QuickRpt, ExtCtrls;
type
TREPOTRFORM = class(TForm)
QuickRep1: TQuickRep;
QRSubDetail1: TQRSubDetail;
QRDBText1: TQRDBText;
QRLabel1: TQRLabel;
QRLabel2: TQRLabel;
QRLabel3: TQRLabel;
QRDBText2: TQRDBText;
QRLabel4: TQRLabel;
QRDBText3: TQRDBText;
QRLabel5: TQRLabel;
QRDBText4: TQRDBText;
QRLabel6: TQRLabel;
QRDBText5: TQRDBText;
QRLabel7: TQRLabel;
QRDBText6: TQRDBText;
QRLabel8: TQRLabel;
QRDBText7: TQRDBText;
QRSysData1: TQRSysData;
QRLabel9: TQRLabel;
QRSubDetail2: TQRSubDetail;
QRDBText8: TQRDBText;
QRDBText9: TQRDBText;
QRDBText10: TQRDBText;
QRDBText11: TQRDBText;
QRDBText12: TQRDBText;
private
{ Private declarations }
public
{ Public declarations }
end;
var
REPOTRFORM: TREPOTRFORM;
implementation
uses UBASE, UDETAL, UDM, UINS_DET, UMain, Upoisk, UREP_INS, UREPORT;
{$R *.dfm}
end.
unit UAUTOR;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons,shellapi;
type
TAutor = class(TForm)
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
Memo1: TMemo;
procedure BitBtn2Click(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Autor: TAutor;
implementation
uses UMain;
{$R *.dfm}
procedure TAutor.BitBtn2Click(Sender: TObject);
begin
ShellExecute(application.Handle,'open','http://my.mail.ru/mail/danik_tugyl/',nil,nil,SW_SHOW);
end;
procedure TAutor.BitBtn1Click(Sender: TObject);
begin
autor.Close;
end;
end.
unit UDMOD;
interface
uses
SysUtils, Classes, IBDatabase, DB;
type
TDM = class(TDataModule)
IBDATA: TIBDatabase;
IBT: TIBTransaction;
private
{ Private declarations }
public
{ Public declarations }
end;
var
DM: TDM;
implementation
uses UBASE, UDETAL, UMain;
{$R *.dfm}
end.
unit Upoisk;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, XPMan, ExtCtrls, DBCtrls, Grids, DBGrids, StdCtrls, DB, IBQuery,
IBCustomDataSet, IBTable, Buttons;
type
TFpoisk = class(TForm)
RadioGroup1: TRadioGroup;
Edit1: TEdit;
BitBtn1: TBitBtn;
IBTable1: TIBTable;
DataSource1: TDataSource;
RadioGroup2: TRadioGroup;
RadioGroup3: TRadioGroup;
ComboBox1: TComboBox;
DBGrid1: TDBGrid;
DBNavigator1: TDBNavigator;
XPManifest1: TXPManifest;
Splitter1: TSplitter;
procedure BitBtn1Click(Sender: TObject);
procedure RadioGroup3Click(Sender: TObject);
procedure RadioGroup2Click(Sender: TObject);
procedure RadioGroup1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Fpoisk: TFpoisk;
implementation
uses UBASE, UDETAL, UDM, UINS_DET, UMain, UREP_INS, UREPORT;
{$R *.dfm}
procedure TFpoisk.BitBtn1Click(Sender: TObject);
VAR T:STRING;I:INTEGER;F:TEXTFILE;
begin
case fpoisk.RadioGroup3.ItemIndex of
1:
begin
//поиск по ведомости
try
IBTABLE1.TableName:='VEDOMOST';
fpoisk.IBTable1.Filtered:=false;
fpoisk.IBTable1.FILTER:='NUM like'+#39+'%'+edit1.Text+'%'+#39;;
fpoisk.IBTable1.Filtered:=true;
Fpoisk.IBTable1.Active:=TRUE;
except
showmessage('ошибка загрузки запроса из файла');
end;
end;
//--------------------------------------------------------
0:
begin
//поиск по базе
case fpoisk.RadioGroup2.ItemIndex of
0:
begin
//по номенклатуре
try
IBTABLE1.TableName:='NOMENCLATURE';
fpoisk.IBTable1.Filtered:=false;
fpoisk.IBTable1.FILTER:='name like'+#39+'%'+edit1.Text+'%'+#39;
fpoisk.IBTable1.Filtered:=true;
Fpoisk.IBTable1.Active:=TRUE;
except
showmessage('ошибка загрузки запроса');
end;
end;
1:
begin
//по оборудованию
try
IBTABLE1.TableName:='EQUIPMENT';
fpoisk.IBTable1.Filtered:=false;
fpoisk.IBTable1.FILTER:='NAME like'+#39+'%'+edit1.Text+'%'+#39;;
fpoisk.IBTable1.Filtered:=true;
Fpoisk.IBTable1.Active:=TRUE;
except
showmessage('ошибка загрузки SQL-запроса');
end;
end;
2:
begin
try
IBTABLE1.TableName:='TIP_O';
fpoisk.IBTable1.Filtered:=false;
fpoisk.IBTable1.FILTER:='DESCRIPTION like'+#39+'%'+edit1.Text+'%'+#39;;
fpoisk.IBTable1.Filtered:=true;
Fpoisk.IBTable1.Active:=TRUE;
except
showmessage('ошибка загрузки SQL-запроса');
end;
end;
3:
begin
//поиск по делаям
case fpoisk.RadioGroup1.ItemIndex of
0:
begin
//обозначение
try
IBTABLE1.TableName:='DETAILS';
fpoisk.IBTable1.Filtered:=false;
fpoisk.IBTable1.FILTER:='ASIGNATION like'+#39+'%'+edit1.Text+'%'+#39;;
fpoisk.IBTable1.Filtered:=true;
Fpoisk.IBTable1.Active:=TRUE;
except
showmessage('ошибка загрузки SQL-запроса');
end;
end;
1:
begin
//поиск по полному наименованию
try
IBTABLE1.TableName:='DETAILS';
fpoisk.IBTable1.Filtered:=false;
fpoisk.IBTable1.FILTER:='FULLNAME like'+#39+'%'+edit1.Text+'%'+#39;;
fpoisk.IBTable1.Filtered:=true;
Fpoisk.IBTable1.Active:=TRUE;
except
showmessage('ошибка загрузки SQL-запроса');
end;
end;
2:
begin
//поиск по ячейкам
try
IBTABLE1.TableName:='DETAILS';
fpoisk.IBTable1.Filtered:=false;
fpoisk.IBTable1.FILTER:='CELL like'+#39+'%'+edit1.Text+'%'+#39;;
fpoisk.IBTable1.Filtered:=true;
Fpoisk.IBTable1.Active:=TRUE;
except
showmessage('ошибка загрузки SQL-запроса');
end;
end;
3:
begin
//поиск по количеству
try
IBTABLE1.TableName:='DETAILS';
fpoisk.IBTable1.Filtered:=false;
fpoisk.IBTable1.FILTER:='REMAINS'+COMBOBOX1.Text+EDIT1.Text;
fpoisk.IBTable1.Filtered:=true;
Fpoisk.IBTable1.Active:=TRUE;
except
showmessage('ошибка загрузки SQL-запроса');
end;
end;
end;
end;
end;end;end;end;
procedure TFpoisk.RadioGroup3Click(Sender: TObject);
begin
case fpoisk.RadioGroup3.ItemIndex of
0: fpoisk.RadioGroup2.Enabled:=true;
1: begin fpoisk.RadioGroup2.Enabled:=false; fpoisk.RadioGroup1.Enabled:=false;end;
end;
end;
procedure TFpoisk.RadioGroup2Click(Sender: TObject);
begin
case fpoisk.RadioGroup2.ItemIndex of
0..2: fpoisk.RadioGroup1.Enabled:=false;
3:fpoisk.RadioGroup1.Enabled:=true;
end;
end;
procedure TFpoisk.RadioGroup1Click(Sender: TObject);
begin
case fpoisk.RadioGroup1.ItemIndex of
3: fpoisk.ComboBox1.Enabled:=true;
0..2:fpoisk.ComboBox1.Enabled:=false;
end;
end;
end.
Размещено на Allbest.ru
Подобные документы
Разработка базы данных и клиента для управления базой данных с целью автоматизации рабочего места менеджера по клининговым услугам для ООО "Мастер блеск". Обоснование выбора программного обеспечения для создания базы данных. Заполнение данных в таблицы.
дипломная работа [1,8 M], добавлен 13.04.2014Обоснование необходимости автоматизации рабочего места. Выбор среды программирования. Этапы разработки программного продукта. База данных и таблицы. Расчет возможного роста производительности труда от внедрения автоматизированной информационной системы.
дипломная работа [661,4 K], добавлен 17.07.2016Проектирование физической и логической моделей удаленной базы данных для АЗС. Разработка базы данных в СУБД Firebird с помощью утилиты IBExpert. Создание клиентского приложения для Windows с использованием клиент-серверной технологии в среде C++ Builder.
курсовая работа [3,9 M], добавлен 18.01.2017Использование информационных технологий с целью автоматизации рабочего места коменданта образовательного учреждения. Программные и аппаратные средства. Архитектура программного обеспечения. Описание пользовательских интерфейсов. Анализ предметной области.
курсовая работа [1,0 M], добавлен 06.06.2015Разработка и реализация базы данных информационной системы автоматизации рабочего места инспектора по начислению пенсии. Технология создания модуля для оперирования точной информацией при работе с клиентами организации, упрощение способа расчета пенсии.
дипломная работа [1,2 M], добавлен 09.08.2011Проект автоматизированного рабочего места для работы с клиентами и использования клиентских баз данных. Регистрация данных о состоянии объекта управления. Обеспечение взаимодействия человека с системой. Доступ к результатам регистрации информации.
курсовая работа [1,7 M], добавлен 02.10.2010Понятие информации, информационных технологий и их виды. Анализ основных положений по автоматизации рабочего места оператора автотранспортного предприятия. Разработка модели автоматизированного рабочего места начальника отдела. Применение модели АРМ.
дипломная работа [4,0 M], добавлен 18.09.2010Информация в современном мире как один из наиболее важных ресурсов. Рассмотрение особенностей разработки информационной системы для автоматизации рабочего места оператора телефонной компании по предоставлению услуг. Этапы создания информационной базы.
курсовая работа [2,6 M], добавлен 13.03.2013Основные понятия баз данных и функциональные возможности СУБД. Основы компьютерного обеспечения информационных процессов в школе и проблема автоматизации рабочего места. Структура базы данных сводной информации об учениках, входная и выходная информация.
курсовая работа [2,8 M], добавлен 17.02.2010Создание программного средства для автоматизации процесса управления учетом клиентов. Алгоритмы и модели базы данных; документооборот бизнес-процесса "работа отдела продаж", задачи и функции менеджера. Системные требования, экономическое обоснование.
курсовая работа [1,4 M], добавлен 18.03.2013