Дипломная работа
«Учет поступления инструментов в отдел главного механика ОАО»
- 95 страниц
Введение 6
1 Исследовательская часть 8
1.1 Анализ предметной области по теме дипломной работы 8
1.2 Постановка задачи на дипломное проектирование 12
2 Технология разработки программного продукта 15
2.1 Анализ входных и выходных данных 15
2.2 Инфологическая модель 16
2.3 Выбор и обоснование программных средств разработки 19
2.4 Выбор и обоснование аппаратных средств разработки 25
3 Описание программных модулей 28
3.1 Структура и алгоритм работы программного продукта 28
3.2 Инструментарий разработки программного продукта 31
3.3 Интерфейс программного продукта 34
4 Испытания программного продукта 37
4.1 Назначение испытаний 37
4.2 Испытания программного продукта 37
4.3 Результаты испытаний 39
5 Комплекс мер по охране труда оператора ПЭВМ 41
6 Расчет экономической эффективности внедрения программного продукта «Учет поступления инструментов в отдел главного механика ОАО «НефАЗ» 48
6 .1 Расчёт стоимости 1 часа работы ПЭВМ 48
6.2 Расчёт затрат на содержание и эксплуатацию системы по внедряемому варианту 52
6.3 Определение капитальных затрат и экономическая эффективность 54
Заключение 59
Список использованных источников 61
Приложение А (обязательное) Руководство программиста 62
Приложение Б (обязательное) Руководство пользователя 72
Приложение В (обязательное) Листинг программы 81
Приложение Г (обязательное) Расчет экономической эффективности создания и внедрения программного продукта «Учет выполнения заказов на станках с программным управлением» 95
В настоящее время информационная среда приобретает системообразующее значение для жизни общества, определяя его политическое, социально-экономическое и культурное развитие. Информационная составляющая в деятельности людей постепенно выходит на первый план. Появление новейших технологий, построение глобальных, национальных и региональных информационных сетей и систем открывают не только технические, но и экономические возможности для объединения информационных ресурсов цивилизации и обеспечения доступа к ним массового пользователя. Это влечёт за собой изменение во всех сферах человеческой деятельности, формирование информационного общества.
Открытое акционерное общество «Нефтекамский автозавод» является правопреемником Нефтекамского завода автосамосвалов, созданного в соответствии с Постановлением Совета Министров СССР «О строительстве и реконструкции заводов министерства автомобильной промышленности для обеспечения Камского автомобильного завода комплектующими изделиями».
Первая очередь завода введена в эксплуатацию в 1977 году. В 1993 году завод преобразован в открытое акционерное общество «НефАЗ».
Отдел главного механика (ОГМ) предприятия является самостоятельным структурным подразделением предприятия и подчиняется главному механику.
На сегодняшний день учет поступления инструментов в ОГМ ведется в бумажной форме: заполнение карточек, специальных журналов, а также программы MS Excel.
Для данной операции наиболее функционально создание специализированной программы, позволяющей получить необходимую информацию, а также проводить сортировку, поиск, фильтрацию и выводить полученные отчеты на бумажные носители.
Все это обусловило тему дипломной работы – «Создание программного продукта учета поступления инструментов в отдел главного механика ОАО «НефАЗ»
Целью дипломного проектирования является изучение материала по организации базы данных (БД) для отдела главного механика и создание программного продукта по учету поступления инструментов в отдел главного механика ОАО «НефАЗ».
Актуальность учета поступления инструментов на станках с программным управлением вполне очевидна продиктована возрастающей потребностью в разработке и применении эффективных и адекватных реальной действительности компьютерных программ, информационных систем и технологий.
В ходе выполнения работы будут исследованы анализ предметной области по теме дипломной работы, разработан программный продукт учета выполнения заказов на станках с программным управлением, также будет сделан выбор и обоснование программных и аппаратных средств разработки, проведены испытания программного продукта и будет произведен расчет экономической эффективности программного продукта.
1 Исследовательская часть
В исследовательской части пояснительной записки дипломной работы на тему «Создание программного продукта учета поступления инструментов в отдел главного механика ОАО «НефАЗ» проводится анализ предметной области. Анализируются программные аналоги, определяется структура программного продукта.
В ходе исследования по результатам анализа предметной области будет разработана постановка задачи. Для проектирования приложения необходимо изучить материал, техническую документацию отдела.
1.1 Анализ предметной области по теме дипломной работы
Анализ предметной области – это намеренное изучение области интересующей проблемы. В анализе предметной области рассматриваются цели и задачи, анализирующие потребности будущих пользователей базы данных, рассматриваются формы входных и выходных потоков, которые будут составлять основы баз данных, уточняются алгоритмы и процедуры.
Анализируемой предметной областью является отдел главного механика ОАО «НефАЗ». Данный отдел является самостоятельным структурным подразделением предприятия и подчиняется главному инженеру или его заместителю по техническому обслуживанию.
Отдел имеет свою структуру управления и определенную структуру (см. рисунок 1).
Главный механик организует всю работу по выполнению основных задач, поставленных перед отделом. Обязанности между работниками отдела распределяет главный механик в соответствии с распорядительными и исполнительными функциями, определенными положениями, процедурами и должностными инструкциями.
Отметим, что отдел главного механика (ОГМ), создан по приказу Генерального директора ОАО «НефАЗ» и в административном подчинении у главного механика находятся следующие подразделения:
бюро анализа, планирования и подготовки ремонтных работ;
бюро технической помощи и надзора за эксплуатацией и ремонтом оборудования;
конструкторско-технологическое бюро;
группа обеспечения запасными частями и материалами;
группа по ремонту грузоподъемных механизмов;
группа организации и развития ремонтообслуживания;
лаборатория промышленной электроники;
ремонтные подразделения ОАО "НефАЗ".
Работа данных подразделений немыслима без различных инструментов, поэтому считаем, что необходимо создание специального программного продукта, позволяющего вести учет поступления инструментов.
На сегодняшний день на предприятии, для учета инструментов используется программа MS Excel.
Microsoft Excel предназначен для работы с электронными таблицами. Основное назначение Microsoft Excel – решение практически любых задач расчетного характера, входные данные которых можно представить в виде таблиц. Применение электронных таблиц упрощает работу с данными и позволяет получать результаты без программирования расчётов.
Существуют и другие программы, которые могут учитывать поступление инструментов, программа «Учет инструмента» - программа автоматизирует ввод-вывод документации, сопровождающей процесс оформления заявок на покупной инструмент. В программе ведется учет заявок от подразделений, составление на их базе сводной заявки поставщику, отслеживание статуса заявки. Так же ведется складской учет: приход, расход, перемещение по складам. На каждого поставщика создан свой каталог цен. Кроме того, имеется возможность организовать обмен данными между уже существующими системами учета через Excel файлы. На случай непредвиденного сбоя программы предусмотрена процедура резервного копирования базы. Она может быть автоматической и ручной, что позволяет потом легко восстановить базу из резервных копий.
Основной режим работы с программой – диалоговый, при котором пользователь работает с базой, используя формы, вводя данные в соответствующие поля и получая результаты в виде отчетов Access, документов Word, Excel. В программе реализовано разделения прав доступа к базе данных. Уровень доступа задается администратором при помощи специальной формы.
Другим примером может служить программа «Лайт-учет» проста в использовании, легка в обучении. Не требует сопровождения программиста, может быть легко освоена даже неподготовленными пользователями. Учет товаров по срокам годности, возможность использования процентных скидок, учет транспортных и оказанных услуг; настраиваемая фасовка товаров и единиц измерения, удобная работа, как с фасованным, так и с весовым товаром.
Таким образом, создаваемый программный продукт должен соответствовать требованиям, которые предъявляет предприятие.
unit uDmAll;
interface
uses
SysUtils, Classes, DB, ADODB,DIALOGS;
type
TdmAll = class(TDataModule)
ADOConnection1: TADOConnection;
adsInstr: TADODataSet;
adsInstrnum: TAutoIncField;
adsInstrnazvanie: TWideStringField;
adsInstrmaterial: TWideStringField;
adsInstrkolvo: TIntegerField;
dsInstr: TDataSource;
adsOborud: TADODataSet;
adsUchet: TADODataSet;
adsZayavki: TADODataSet;
dsOborud: TDataSource;
dsUchet: TDataSource;
dsZayavki: TDataSource;
adsInstrNot0: TADODataSet;
AutoIncField1: TAutoIncField;
WideStringField1: TWideStringField;
WideStringField2: TWideStringField;
IntegerField1: TIntegerField;
dsInstrNot0: TDataSource;
adsUchetnum: TAutoIncField;
adsUchetinstr_num: TIntegerField;
adsUchetoper: TWideStringField;
adsUchetkolvo: TIntegerField;
adsUchetnum_zayavki: TIntegerField;
adsUchetdata_oper: TDateTimeField;
adsUchetInstrum: TStringField;
adsZayavkinum: TAutoIncField;
adsZayavkivid_remont: TWideStringField;
adsZayavkinum_ceh: TIntegerField;
adsZayavkibrigada: TIntegerField;
adsZayavkinum_oborud: TIntegerField;
adsZayavkidata_zayav: TDateTimeField;
adsOborudnum: TAutoIncField;
adsOborudInv_num: TIntegerField;
adsOborudceh: TIntegerField;
adsOborudnazvan: TWideStringField;
adsOborudmodel: TWideStringField;
adsOborudzav_num: TWideStringField;
adsOboruddata_ust: TDateTimeField;
adsZayavkiField: TStringField;
adsVidannie: TADODataSet;
dsVidannie: TDataSource;
adsVidannienum_zayavki: TIntegerField;
adsVidannieinstr_num: TIntegerField;
adsVidanniemater: TStringField;
adsVidanniekolvo: TIntegerField;
adsVidannienazvanie: TStringField;
adsUchetForReport: TADODataSet;
AutoIncField2: TAutoIncField;
IntegerField2: TIntegerField;
StringField1: TStringField;
WideStringField3: TWideStringField;
IntegerField3: TIntegerField;
IntegerField4: TIntegerField;
DateTimeField1: TDateTimeField;
dsUchetForReport: TDataSource;
procedure adsZayavkiAfterScroll(DataSet: TDataSet);
private
{ Private declarations }
public
{ Public declarations }
end;
var
dmAll: TdmAll;
implementation
uses uglav;
{$R *.dfm}
procedure TdmAll.adsZayavkiAfterScroll(DataSet: TDataSet);
begin
dmAll.adsVidannie.Parameters.ParamByName('nzayav').Value:= adsZayavkinum.Value;
end;
end.
unit uVidatKol;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DBCtrls, StdCtrls, Spin, Buttons;
type
TfmVidatKol = class(TForm)
Label1: TLabel;
SpinEdit1: TSpinEdit;
GroupBox1: TGroupBox;
DBText1: TDBText;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
DBText2: TDBText;
DBText3: TDBText;
DBText4: TDBText;
DBText5: TDBText;
DBText6: TDBText;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
DBText7: TDBText;
Label8: TLabel;
procedure FormShow(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
fmVidatKol: TfmVidatKol;
implementation
uses uDmAll;
{$R *.dfm}
procedure TfmVidatKol.FormShow(Sender: TObject);
begin
SpinEdit1.Value:=dmall.adsInstrNot0.fields.fieldbyname('kolvo').Value;
SpinEdit1.MaxValue:=dmall.adsInstrNot0.fields.fieldbyname('kolvo').Value;
SpinEdit1.SetFocus;
end;
procedure TfmVidatKol.BitBtn1Click(Sender: TObject);
begin
dmAll.adsInstrNot0.Edit;
dmall.adsInstrNot0.fields.fieldbyname('kolvo').Value:=dmall.adsInstrNot0.fields.fieldbyname('kolvo').Value-SpinEdit1.Value;
dmAll.adsInstrNot0.Post;
dmAll.adsUchet.Append;
dmAll.adsUchetinstr_num.Value:=dmall.adsInstrNot0.fields.fieldbyname('num').Value;
dmAll.adsUchetoper.value:='Выдача инструмента';
dmAll.adsUchetkolvo.value:=SpinEdit1.Value;
dmAll.adsUchetnum_zayavki.Value:= dmall.adsZayavkinum.Value;
dmAll.adsUchet.Post;
dmAll.adsInstrNot0.Requery([]);
end;
end.
unit uVidat;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, DBCtrls, TeEngine, Series, ExtCtrls, TeeProcs, Chart,
DbChart, Grids, DBGrids, ActnMan, ActnColorMaps,db;
type
TfmVidat = class(TForm)
DBNavigator1: TDBNavigator;
DBGrid1: TDBGrid;
GroupBox1: TGroupBox;
Button2: TButton;
Button1: TButton;
DBGrid3: TDBGrid;
DBGrid2: TDBGrid;
Label1: TLabel;
Label2: TLabel;
Panel1: TPanel;
ComboBox1: TComboBox;
ComboBox2: TComboBox;
Label3: TLabel;
Label4: TLabel;
Edit1: TEdit;
Label5: TLabel;
ComboBox3: TComboBox;
Button3: TButton;
Edit2: TEdit;
Label6: TLabel;
Button4: TButton;
Button5: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure DBGrid1TitleClick(Column: TColumn);
procedure DBGrid2TitleClick(Column: TColumn);
procedure ComboBox1Change(Sender: TObject);
procedure ComboBox2Change(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure DBGrid1CellClick(Column: TColumn);
private
{ Private declarations }
public
{ Public declarations }
end;
var
fmVidat: TfmVidat;
implementation
uses udmall, uVidatKol, uVernutKol;
{$R *.dfm}
procedure TfmVidat.Button1Click(Sender: TObject);
begin
fmVidatKol.ShowModal;
end;
procedure TfmVidat.Button2Click(Sender: TObject);
begin
fmVernutKol.ShowModal;
end;
procedure TfmVidat.DBGrid1TitleClick(Column: TColumn);
begin
if not(Column.Field.Lookup) then dmall.adsZayavki.Sort:=Column.FieldName+' ASC';
end;
procedure TfmVidat.DBGrid2TitleClick(Column: TColumn);
begin
if not(Column.Field.Lookup) then dmall.adsInstrNot0.Sort:=Column.FieldName+' ASC';
end;
procedure TfmVidat.ComboBox1Change(Sender: TObject);
var i:integer;
begin
case ComboBox1.ItemIndex of
0: begin
ComboBox2.Clear;
ComboBox3.Clear;
for i:=0 to DBGrid1.Columns.Count-1 do
if not(DBGrid1.Columns.Items[i].Field.Lookup) then begin
ComboBox2.Items.Add(DBGrid1.Columns.Items[i].Title.Caption);
ComboBox3.Items.Add(DBGrid1.Columns.Items[i].FieldName);
end;
end;
1: begin
ComboBox2.Clear;
ComboBox3.Clear;
for i:=0 to DBGrid2.Columns.Count-1 do
if not(DBGrid2.Columns.Items[i].Field.Lookup) then begin
ComboBox2.Items.Add(DBGrid2.Columns.Items[i].Title.Caption);
ComboBox3.Items.Add(DBGrid2.Columns.Items[i].FieldName);
end;
end;
2: begin
ComboBox2.Clear;
ComboBox3.Clear;
for i:=0 to DBGrid3.Columns.Count-1 do
if not(DBGrid3.Columns.Items[i].Field.Lookup) then begin
ComboBox2.Items.Add(DBGrid3.Columns.Items[i].Title.Caption);
ComboBox3.Items.Add(DBGrid3.Columns.Items[i].FieldName);
end;
end;
end;
ComboBox2.ItemIndex:=0;
ComboBox2.OnChange(Self);
end;
procedure TfmVidat.ComboBox2Change(Sender: TObject);
begin
ComboBox3.ItemIndex:=ComboBox2.ItemIndex;
end;
procedure TfmVidat.FormShow(Sender: TObject);
begin
ComboBox1Change(Self);
end;
procedure TfmVidat.Button3Click(Sender: TObject);
begin
case ComboBox1.ItemIndex of
0: dmall.adsZayavki.Locate(ComboBox3.Text,Edit1.Text,[]);
1: dmall.adsInstrNot0.Locate(ComboBox3.Text,Edit1.Text,[]);
2: dmall.adsVidannie.Locate(ComboBox3.Text,Edit1.Text,[]);
end;
end;
procedure TfmVidat.Button4Click(Sender: TObject);
begin
case ComboBox1.ItemIndex of
0: begin if (ComboBox3.Text='vid_remont') then dmall.adsZayavki.Filter:=ComboBox3.Text+'='+quotedstr(Edit2.Text)
else dmall.adsZayavki.Filter:=ComboBox3.Text+'='+Edit2.Text;
dmall.adsZayavki.Filtered:=true;
end;
1: begin if (ComboBox3.Text='nazvanie') or (ComboBox3.Text='material') then dmall.adsInstrNot0.Filter:=ComboBox3.Text+'='+quotedstr(Edit2.Text)
else dmall.adsInstrNot0.Filter:=ComboBox3.Text+'='+Edit2.Text;
showmessage(dmall.adsInstrNot0.Filter);
dmall.adsInstrNot0.Filtered:=true;
end;
2: begin if (ComboBox3.Text='nazvanie') or (ComboBox3.Text='material') then dmall.adsVidannie.Filter:=ComboBox3.Text+'='+quotedstr(Edit2.Text)
else dmall.adsVidannie.Filter:=ComboBox3.Text+'='+Edit2.Text;
dmall.adsVidannie.Filtered:=true;
end;
end;
end;
procedure TfmVidat.Button5Click(Sender: TObject);
begin
dmall.adsVidannie.Filtered:=false;
dmall.adsInstrNot0.Filtered:=false;
dmall.adsZayavki.Filtered:=false;
end;
procedure TfmVidat.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Button5Click(self);
end;
procedure TfmVidat.DBGrid1CellClick(Column: TColumn);
begin
dmAll.adsVidannie.Requery([]);
end;
end.
unit uVernutKol;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, DBCtrls, Spin;
type
TfmVernutKol = class(TForm)
Label1: TLabel;
SpinEdit1: TSpinEdit;
GroupBox1: TGroupBox;
DBText1: TDBText;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
DBText2: TDBText;
DBText3: TDBText;
DBText4: TDBText;
DBText5: TDBText;
DBText6: TDBText;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
DBText7: TDBText;
Label8: TLabel;
procedure FormShow(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
fmVernutKol: TfmVernutKol;
implementation
uses uDmAll;
{$R *.dfm}
procedure TfmVernutKol.FormShow(Sender: TObject);
begin
SpinEdit1.Value:=dmall.adsVidannie.fields.fieldbyname('kolvo').Value;
SpinEdit1.MaxValue:=dmall.adsVidannie.fields.fieldbyname('kolvo').Value;
SpinEdit1.SetFocus;
end;
procedure TfmVernutKol.BitBtn1Click(Sender: TObject);
begin
dmAll.adsInstr.Locate('num',dmall.adsVidannieinstr_num.value,[]);
dmAll.adsInstr.Edit;
dmall.adsInstr.fields.fieldbyname('kolvo').Value:=dmall.adsInstr.fields.fieldbyname('kolvo').Value+SpinEdit1.Value;
dmAll.adsInstr.Post;
dmAll.adsVidannie.Edit;
dmAll.adsVidanniekolvo.Value:= dmAll.adsVidanniekolvo.Value-SpinEdit1.Value;
dmAll.adsVidannie.Post;
dmAll.adsUchet.Append;
dmAll.adsUchetinstr_num.Value:=dmall.adsInstr.fields.fieldbyname('num').Value;
dmAll.adsUchetoper.value:='Возврат инструмента';
dmAll.adsUchetkolvo.value:=SpinEdit1.Value;
dmAll.adsUchetnum_zayavki.Value:= dmall.adsZayavkinum.Value;
dmAll.adsUchet.Post;
dmAll.adsInstr.Requery([]);
dmAll.adsInstrNot0.Requery([]);
end;
end.
unit uPostupInstr;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Spin, StdCtrls, Mask, DBCtrls, Buttons, Grids, DBGrids, db,
ExtCtrls;
type
TfmPostupInstr = class(TForm)
DBGrid1: TDBGrid;
GroupBox1: TGroupBox;
DBEdit1: TDBEdit;
SpinEdit1: TSpinEdit;
DBText1: TDBText;
DBEdit2: TDBEdit;
BitBtn2: TBitBtn;
BitBtn3: TBitBtn;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Panel1: TPanel;
BitBtn1: TBitBtn;
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure BitBtn3Click(Sender: TObject);
procedure DBGrid1ColEnter(Sender: TObject);
procedure DBGrid1TitleClick(Column: TColumn);
private
{ Private declarations }
public
{ Public declarations }
end;
var
fmPostupInstr: TfmPostupInstr;
implementation
uses uDmAll;
{$R *.dfm}
procedure TfmPostupInstr.BitBtn1Click(Sender: TObject);
begin
dmAll.adsInstr.Append;
end;
procedure TfmPostupInstr.BitBtn2Click(Sender: TObject);
begin
if dmAll.adsInstr.State= dsBrowse then dmAll.adsInstr.Edit;
if dbEdit1.Field.Value<>'' then dmAll.adsInstrkolvo.Value:=dmAll.adsInstrkolvo.Value+SpinEdit1.Value;
dmAll.adsInstr.Post;
dmAll.adsUchet.Append;
dmAll.adsUchetinstr_num.value:=dbText1.Field.Value;
dmAll.adsUchetoper.Value:='Поступление инструмента';
dmAll.adsUchetkolvo.Value:=SpinEdit1.Value;
dmAll.adsUchet.Post;
end;
procedure TfmPostupInstr.BitBtn3Click(Sender: TObject);
begin
dmAll.adsInstr.Cancel;
end;
procedure TfmPostupInstr.DBGrid1ColEnter(Sender: TObject);
begin
SpinEdit1.Value:=0;
end;
procedure TfmPostupInstr.DBGrid1TitleClick(Column: TColumn);
begin
if not(Column.Field.Lookup) then dmall.adsInstr.Sort:=Column.FieldName+' ASC';
end;
end.
unit uPeriodOtchet;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, RpCon, RpConDS, RpBase, RpSystem, RpDefine, RpRave, StdCtrls,
ComCtrls, Buttons, Grids, DBGrids;
type
TfmPeriodOtchet = class(TForm)
GroupBox1: TGroupBox;
DateTimePicker2: TDateTimePicker;
DateTimePicker1: TDateTimePicker;
Label1: TLabel;
Label2: TLabel;
RvProject2: TRvProject;
RvSystem2: TRvSystem;
RvDataSetConnection2: TRvDataSetConnection;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
procedure BitBtn1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
fmPeriodOtchet: TfmPeriodOtchet;
implementation
uses uDmAll;
{$R *.dfm}
procedure TfmPeriodOtchet.BitBtn1Click(Sender: TObject);
begin
dmAll.adsUchetForReport.Parameters.ParamByName('otdata').Value:=datetostr(DateTimePicker1.Date);
dmAll.adsUchetForReport.Parameters.ParamByName('dodata').Value:=datetostr(DateTimePicker2.Date);
dmAll.adsUchetForReport.Requery([]);
RvProject2.Execute;
end;
end.
unit uOborud;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, DBCtrls, Grids, DBGrids;
type
TfmOborud = class(TForm)
DBGrid1: TDBGrid;
DBNavigator1: TDBNavigator;
procedure DBGrid1TitleClick(Column: TColumn);
private
{ Private declarations }
public
{ Public declarations }
end;
var
fmOborud: TfmOborud;
implementation
uses uDmAll;
{$R *.dfm}
procedure TfmOborud.DBGrid1TitleClick(Column: TColumn);
begin
if not(Column.Field.Lookup) then dmall.adsOborud.Sort:=Column.FieldName+' ASC';
end;
end.
unit uInstr;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Grids, DBGrids, ExtCtrls, DBCtrls;
type
TfmInstr = class(TForm)
DBGrid1: TDBGrid;
DBNavigator1: TDBNavigator;
procedure DBGrid1TitleClick(Column: TColumn);
private
{ Private declarations }
public
{ Public declarations }
end;
var
fmInstr: TfmInstr;
implementation
uses uDmAll;
{$R *.dfm}
procedure TfmInstr.DBGrid1TitleClick(Column: TColumn);
begin
if not(Column.Field.Lookup) then dmall.adsInstr.Sort:=Column.FieldName+' ASC';
end;
end.
unit uGlav;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls, Grids, DBGrids, StdCtrls, ActnList, XPStyleActnCtrls,
ActnMan, ActnColorMaps, Buttons, XPMan, Menus, ExtCtrls, DBCtrls, RpCon,
RpConDS, RpBase, RpSystem, RpDefine, RpRave;
type
TfmGlav = class(TForm)
ActionManager1: TActionManager;
aVidat: TAction;
aPrinyat: TAction;
BitBtn1: TBitBtn;
XPManifest1: TXPManifest;
MainMenu1: TMainMenu;
N1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
N4: TMenuItem;
N5: TMenuItem;
N6: TMenuItem;
N7: TMenuItem;
GroupBox1: TGroupBox;
DBGrid3: TDBGrid;
DBNavigator1: TDBNavigator;
N8: TMenuItem;
N10: TMenuItem;
RvProject1: TRvProject;
RvSystem1: TRvSystem;
RvDataSetConnection1: TRvDataSetConnection;
procedure N4Click(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure N3Click(Sender: TObject);
procedure N7Click(Sender: TObject);
procedure N5Click(Sender: TObject);
procedure N8Click(Sender: TObject);
procedure N10Click(Sender: TObject);
procedure DBGrid3TitleClick(Column: TColumn);
private
{ Private declarations }
public
{ Public declarations }
end;
var
fmGlav: TfmGlav;
implementation
uses udmall, uVidat, uInstr, uOborud, uPostupInstr, uPeriodOtchet;
{$R *.dfm}
procedure TfmGlav.N4Click(Sender: TObject);
begin
fmVidat.ShowModal;
end;
procedure TfmGlav.N2Click(Sender: TObject);
begin
fmInstr.ShowModal;
end;
procedure TfmGlav.N3Click(Sender: TObject);
begin
fmOborud.ShowModal;
end;
procedure TfmGlav.N7Click(Sender: TObject);
begin
Close;
end;
В результате выполнения дипломной работы был создан программный продукт «Учет поступления инструментов в отдел главного механика ОАО «НефАЗ»
При создании были изучены программные средства для создания приложений (Borland Delphi 7.0). Объектно-ориентированные языки программирования, в том числе и Delphi, упрощают создание программ за счет визуализации компонентов и использования готовых исходных кодов, которые программист может использовать при написании своей программы. Но для работы в визуальной среде Delphi необходимо иметь представление об этой среде и ее компонентах, необходимы некоторые начальные знания.
Программа предназначена для того, чтобы усовершенствовать рабочие место сотрудника отдела главного технолога. Непосредственно облегчить труд, а также представить совершенно самостоятельный программный продукт, который может работать как в составе программного обеспечения, так и использоваться отдельно для отображения информации.
Поставленные задачи были полностью выполнены:
поиск и сбор материала;
анализ предметной области: выявлены направление создания программного средства, его функциональные возможности, программная конфигурация, визуализация программного средства, разработка логической модели процессов, выбор лингвистического обеспечения;
разработка модуля программиста: оформление программной документации, оформление описания файла справки, описание всех кнопок и полей ввода, описание работы поиска, генерации отчетов;
создание справочной системы: рассматриваются назначение горячих клавиш, описание работы вычисляемого поля, описание всех кнопок и полей ввода, описание работы поиска, генерации отчетов;
разработка установочной версии программы;
рассчитана экономическая эффективность создания и внедрения программного продукта.
В программном продукте использованы различные процедуры и функции, предназначенные для обработки таблиц баз данных, полей и записей, работы с формами и окнами. В дальнейшем можно легко изменить код программы, добавлять новые компоненты для улучшения программного продукта.
К работе прилагается рабочая программа на языке программирования
Тема: | «Учет поступления инструментов в отдел главного механика ОАО» | |
Раздел: | Информатика | |
Тип: | Дипломная работа | |
Страниц: | 95 | |
Цена: | 3500 руб. |
Закажите авторскую работу по вашему заданию.
- Цены ниже рыночных
- Удобный личный кабинет
- Необходимый уровень антиплагиата
- Прямое общение с исполнителем вашей работы
- Бесплатные доработки и консультации
- Минимальные сроки выполнения
Мы уже помогли 24535 студентам
Средний балл наших работ
- 4.89 из 5
написания вашей работы
У нас можно заказать
(Цены могут варьироваться от сложности и объема задания)
682 автора
помогают студентам
42 задания
за последние сутки
10 минут
время отклика
Анализ состояния делопроизводства и оформления документов в отделе геологии и лицензирования недропользования Министерства природопользования и экологии Республики Башкортостан
Дипломная работа:
Организация бухгалтерского учета, анализа и аудита оптового товарооборота
Дипломная работа:
Теория и практика использования CAT инструментов в переводческой деятельности
Курсовая работа:
Налоговая отчетность в российской федерации
Дипломная работа:
Учет наличия и движения основных средств на ОАО СХК