Автор работы: Пользователь скрыл имя, 24 Ноября 2013 в 00:14, курсовая работа
Конструкторсько-технологічна підготовка виробництва є одним з найбільш важливих аспектів роботи будь-якого машинобудівного підприємства. Від її планування залежить найбільш раціональне використання виробничих, а значить і ефективність його роботи та можливість конкурування з іншими підприємствами галузі. На цій стадії закладаються етапи виготовлення машин і механізмів, а також строки їх реалізації.
12. Цех виробник.
Після групування даних в окремі таблиці та виключення дублюючих отримуємо такі таблиці основні таблиці бази даних: “Інформація про виріб”, “Відомості про ТП” та “Інформація про розробника”.
Інформація про виріб:
1. Шифр;
2. Назва;
3. Тип виробу (деталь, складальна одиниця);
4. Шифр механізму до якого входить;
6. Щорічний випуск;
7. Кількість;
8. Розробник креслення;
9. Шифр технологічного процесу.
Відомості про ТП:
1. Шифр креслення;
2. Назва;
3. Шифр ТП;
4. Розробник ТП.
5. Тип виробу (деталь, складальна одиниця);
6. Габарити;
7. Вага;
8. Вид заготовки (прокат круглий, квадратний, листовий, відливка, штамповка);
9. Матеріал;
10. Дата початку виготовлення;
11. Дата завершення виготовлення;
12. Цех виробник.
Інформація про розробника (креслення чи ТП):
1. Ф.І.П;
2. Посада;
3. Категорія;
4. Відділ;
5. Домашня адреса;
6. Телефон;
7. Початок робочого дня;
8. Кінець робочого дня;
9. Дата початку відпустки;
10. Дата завершення відпустки.
Для даних: посада, категорія, відділ і телефон, цех виробник та тип виробу і вид заготовки доцільно створити окремі таблиці.
Отже база даних буде складатися з 10 таблиці, три з яких є основними, а інші допоміжні.
2.2 Проектування структури окремих таблиць
Тепер для даних, що будуть міститися в таблицях БД потрібно призначити типи даних, їх довжину, дати короткі й зрозумілі назви таблиць та стовбців, що в них містяться.
Таблиця Izdelie:
1. Shifr – A15 (ключ);
2. Name – A15;
3. Type – I;
4. Predok – A15;
5. Vipusk – I;
6. Col – I;
7. Emploer – I;
8. TP – A15.
Таблиця TP:
1. TP – A15 (ключ);
2. Name A15;
3. Emploer – I;
4. Gabarit – A7;
5. Mass – I;
6. Zagotovka – I;
7. Material – I;
8. Start_Izgot – D;
9. End_Izgot – D;
10. Ceh – I.
Таблиця Emploer:
1. ID_Emploer - личильник (ключ);
2. FIO – A25;
3. Dlzn – I;
4. Kategory – I;
5. Otdel – I;
6. Adress – A20;
7. Work_Tel – A14;
8. Start_Day – T;
9. End_Day - T;
10. Start_Otpusk – D;
11. End_Otpusk – D.
Таблиця Ceh:
1. ID_Ceh – личильник (ключ);
2. Number – S.
Таблиця Dolzn:
1. ID_Dolzn – личильник (ключ);
2. Name – A11.
Таблиця Kategory:
1. ID_Kategory – личильник (ключ);
2. Name – A3.
Таблиця Otdel:
1. ID_Otdel – личильник (ключ);
2. Name – A12.
Таблиця Material:
1. ID_Material – личильник (ключ);
2. Name – A12.
Таблиця Type_Izdelia:
1. ID_Type – личильник (ключ);
2. Type – A3.
Таблиця Zagotovka:
1. ID_Zagotovka – личильник (ключ);
2. Name – A15.
Таблиці Izdelie та TP зв’язані між собою по полям TP. Таблиці Izdelie та Emploer – полями Emploer та ID_Emploer, а поле Type використовується для зв’язку з таблицею Type_Izdelia за її ключовим полем за допомогою властивості LookUp компоненту TTable середовища Delphi.
Таблиці TP та Emploer зв’язані між собою по полям Emploer та ID_Emploer, поля Zagotovka, Material та Ceh служать для організації зв’язку з таблицями Zagotovka, Material та Ceh за їх ключовими полями методом LookUp.
В таблиці Emploer поля Dlzn, Kategory та Otdel використовуються для зв’язку з таблицями Dolzn, Kategory та Otdel за їх ключовими полями методом LookUp.
На рисунку 2.1 схематично зображений зв'язок таблиць.
Рисунок 2.1 – Зв'язок таблиць
3 Розробка основних модулів програми та графічного інтерфейсу
При розробці програми в середовищі Delphi був організований зв'язок таблиць та розроблений графічний інтерфейс, що складається з декількох вікон програми, що дають можливість користувачеві легко орієнтуватися в інформації, яку містить програма. Розглянемо головне вікно програми, що зображено на рисунку 3.1.
Рисунок 3.1 – Головне вікно програми
При розробці головного вікна програми були змінені властивості деяких компонентів, їх перелік можна знайти в таблиці 3.1.
Таблиця 3.1 – Властивості компонентів
Назва компоненту |
Властивість |
Значення |
DBG_Izdel |
Align |
alClient |
DataSourse |
DS_Izdelie | |
PopupMenu |
PM | |
DBG_Izd_Emp |
Align |
alClient |
DataSourse |
DS_Emploer | |
dgGoEditing |
False | |
DBG_TP |
Align |
alClient |
DataSourse |
DS_TP | |
dgGoEditing |
False | |
DBG_TP_Empl |
Align |
alClient |
DataSourse |
DS_EMploer_TP | |
dgGoEditing |
False |
На рисунку 3.2 зображено вікно Object TreeView з переліком усіх компонентів, що розташовані на формі.
Рисунок 3.2 – Вікно Object TreeView
Код модуля MainKTP головного вікна програми наведений в листингу 3.1.
Листинг 3.1 – Код модуля MainKTP
unit MainKTP;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, DBTables, ExtCtrls, DBCtrls, Grids, DBGrids, ComCtrls,
ToolWin, Menus;
type
TCheckKTP = class(TForm)
MMenu: TMainMenu;
MFile: TMenuItem;
MEdit: TMenuItem;
MSpr: TMenuItem;
MAbout: TMenuItem;
N5: TMenuItem;
MExit: TMenuItem;
KTP_StBar: TStatusBar;
PC_Izdel: TPageControl;
DS_Izdelie: TDataSource;
Izdelie: TTable;
DS_TP: TDataSource;
DS_Emploer: TDataSource;
Emploer: TTable;
Emploer_TP: TTable;
DS_EMploer_TP: TDataSource;
TP: TTable;
Type_Izdel: TTable;
IzdelieShifr: TStringField;
IzdelieName: TStringField;
IzdelieType: TIntegerField;
IzdeliePredok: TStringField;
IzdelieVipusk: TIntegerField;
IzdelieCol: TIntegerField;
IzdelieEmploer: TIntegerField;
IzdelieTP: TStringField;
IzdelieType_izdel: TStringField;
EmploerID_Emploer: TAutoIncField;
EmploerFIO: TStringField;
EmploerDlzn: TIntegerField;
EmploerKategory: TIntegerField;
EmploerOtdel: TIntegerField;
EmploerAdress: TStringField;
EmploerWork_Tel: TStringField;
EmploerStart_Day: TTimeField;
EmploerEnd_Day: TTimeField;
EmploerStart_Otpusk: TDateField;
EmploerEnd_Otpusk: TDateField;
Ceh: TTable;
Dolzn: TTable;
Kategory: TTable;
Material: TTable;
Otdel: TTable;
EmploerDolz: TStringField;
EmploerKateg: TStringField;
EmploerOtd: TStringField;
TPTP: TStringField;
TPName: TStringField;
TPEmploer: TIntegerField;
TPGabarit: TStringField;
TPMass: TIntegerField;
TPZagotovka: TIntegerField;
TPMaterial: TIntegerField;
TPStart_Izgot: TDateField;
TPEnd_Izgot: TDateField;
TPCeh: TIntegerField;
Zagotovka: TTable;
TPZagot: TStringField;
TPMater: TStringField;
TPCeh_Name: TIntegerField;
Emploer_TPID_Emploer: TAutoIncField;
Emploer_TPDlzn: TIntegerField;
Emploer_TPKategory: TIntegerField;
Emploer_TPOtdel: TIntegerField;
Emploer_TPAdress: TStringField;
Emploer_TPWork_Tel: TStringField;
Emploer_TPStart_Day: TTimeField;
Emploer_TPEnd_Day: TTimeField;
Emploer_TPStart_Otpusk: TDateField;
Emploer_TPEnd_Otpusk: TDateField;
Emploer_TPFIO: TStringField;
PC_TP: TPageControl;
TS_TP: TTabSheet;
KTP_Split: TSplitter;
DBG_TP: TDBGrid;
TS_TP_Empl: TTabSheet;
DBG_TP_Empl: TDBGrid;
Emploer_TPDolz: TStringField;
Emploer_TPKateg: TStringField;
Emploer_TPOtd: TStringField;
TS_Izd_Empl: TTabSheet;
DBG_Izd_Empl: TDBGrid;
TS_Izdel: TTabSheet;
DBG_Izdel: TDBGrid;
MTP: TMenuItem;
MTSpisky: TMenuItem;
Type_IzdelID_Type: TAutoIncField;
Type_IzdelType2: TStringField;
DolznID_Dolznost: TAutoIncField;
DolznName: TStringField;
KategoryID_Kategory: TAutoIncField;
KategoryName: TStringField;
MaterialID_Material: TAutoIncField;
MaterialName: TStringField;
OtdelID_Otdel: TAutoIncField;
OtdelName: TStringField;
ZagotovkaID_Zagot: TAutoIncField;
ZagotovkaName: TStringField;
CehID_Ceh: TAutoIncField;
CehNumber: TSmallintField;
PM: TPopupMenu;
PMSerch: TMenuItem;
PMNew: TMenuItem;
PMApply: TMenuItem;
PMDelete: TMenuItem;
MTEmpl: TMenuItem;
N1: TMenuItem;
TblEmpl: TTable;
TPEmp: TStringField;
TblTP: TTable;
TblTPTP: TStringField;
TblTPName: TStringField;
TblTPEmploer: TIntegerField;
TblTPGabarit: TStringField;
TblTPMass: TIntegerField;
TblTPZagotovka: TIntegerField;
TblTPMaterial: TIntegerField;
TblTPStart_Izgot: TDateField;
TblTPEnd_Izgot: TDateField;
TblTPCeh: TIntegerField;
TblTPZagot: TStringField;
TblTPMater: TStringField;
TblTPCeh_Name: TIntegerField;
TblTPEmpl: TStringField;
TblEmplID_Emploer: TAutoIncField;
TblEmplFIO: TStringField;
TblEmplDlzn: TIntegerField;
TblEmplKategory: TIntegerField;
TblEmplOtdel: TIntegerField;
TblEmplAdress: TStringField;
TblEmplWork_Tel: TStringField;
TblEmplStart_Day: TTimeField;
TblEmplEnd_Day: TTimeField;
TblEmplStart_Otpusk: TDateField;
TblEmplEnd_Otpusk: TDateField;
TblEmplDolz: TStringField;
TblEmplKateg: TStringField;
TblEmplOtd: TStringField;
IzdelieTP_Name: TStringField;
IzdelieEmpl: TStringField;
N3: TMenuItem;
procedure MExitClick(Sender: TObject);
procedure MAboutClick(Sender: TObject);
procedure MTPClick(Sender: TObject);
procedure MTSpiskyClick(Sender: TObject);
procedure PMSerchClick(Sender: TObject);
procedure PMDeleteClick(Sender: TObject);
procedure PMNewClick(Sender: TObject);
procedure PMApplyClick(Sender: TObject);
procedure MTEmplClick(Sender: TObject);
procedure FormShow(Sender: TObject);
private
{ Private declarations }
procedure Hint(Sender: TObject); // Подсказки
procedure TablesOn; // Відключити відображення даних в таблицях
procedure TablesOff; // Включити відображення даних в таблицях
public
{ Public declarations }
end;
var
CheckKTP: TCheckKTP;
implementation
uses TP, Empl, AllEdit,Serch, AboutKTP;
{$R *.dfm}
// Включити відображення даних в таблицях
procedure TCheckKTP.TablesOn;
begin
Izdelie.Active := True;
Emploer.Active := True;
TP.Active := True;
Emploer_TP.Active := True;
end;
// Відключити відображення даних в таблицях
procedure TCheckKTP.TablesOff;
begin
Izdelie.Active := False;
Emploer.Active := False;
TP.Active := False;
Emploer_TP.Active := False;
end;
// Вихід з програми
procedure TCheckKTP.MExitClick(Sender: TObject);
begin
Application.Terminate;
end;
// О програмі
procedure TCheckKTP.MAboutClick(Sender: TObject);
begin
AboutBox.ShowModal;
end;
// Редагування списку ТП
procedure TCheckKTP.MTPClick(Sender: TObject);
begin
TablesOff;
TPFrm.ShowModal;
TablesOn;
end;
// Редагування додаткових списків
procedure TCheckKTP.MTSpiskyClick(
begin
TablesOff;
FrmAllEdit.ShowModal;
TablesOn;
end;
// Пошук в списки креслень
procedure TCheckKTP.PMSerchClick(Sender: TObject);
begin
// Заповнити дані в пошуковій формі
FrmSerch.CBSerch.Items.Clear;
Информация о работе Контроль конструкторско-технологической подготовки производства