- •Вступне заняття. Ознайомлення і дослідження структури управління об’єктом. Вивчення техніки безпеки
- •2. Заняття і екскурсії під час практики
- •Вивчення тематики робіт
- •Вивчення апаратних засобів і програмного забезпечення
- •Вивчення прикладного програмного забезпечення
- •Вивчення інформаційного і програмного забезпечення конкретної задачі
- •7. Розробка програм для удосконалення або модифікації конкретної задачі
- •7.1. Основні функції програмного продукту
- •Структура програмного продукту
- •Розробка алгоритму
- •Розробка програми
- •Інструкція користувачу
- •Результати тестування
- •Висновок
- •Список використаної літератури
- •Лістинг програми
Інструкція користувачу
Для того щоб розпочати введення або редагування даних потрібно вибрати пункт головного меню Редагувати, яка переведе форму в режим редагування.
Рис. 7.5.1 Таблиця Виробники в режимі редагування
* Щоб додати новий рядок натисніть кнопку " додати запис (+) " ;
* Щоб видалити рядок натисніть кнопку " видалити запис (-) ", а потім підтвердіть або скасуйте видалення ;
* Щоб редагувати записи натисніть кнопку " редагувати записи " або двічі клацніть лівою клавішею миші по потрібному полю ;
* Якщо Ви хочете зберегти зміни натисніть кнопку " зберегти зміни ", якщо ні - "відмінити зміни" ;
* Для обновлення даних натисніть кнопку " обновити " ;
Для користування фільтром необхідно вибрати таблиці в режимі перегляду, пункт Перегляд та вказати пошукове значення у відповідному рядку. Щоб відмінити дію фільтру необхідно натиснути на кнопці Скинути фільтр.
Рис. 7.5.2 Таблиця Виробники в режимі перегляду
В результаті такого вибору будуть доступні поля по яким може проводитися фільтрування.
Результати тестування
Програма працює в середовищі Windows. Програма протестована на комп’ютері з такою конфігурацією:
Процесор – Intel Pentium M 1,7 ГГц ; ОЗП – 512 Мб ; Жорсткий диск – 80 Гб ; Відеоадаптер – Intel 915 GL ;
Мінімальні системні вимоги данної програми:
Процесор – 400 МГц; ОЗП – 64 Мб ;
Всі функції програми, а саме: пошук, добавлення нових записів в таблицю, редагування записів і їх видалення працюють.
Висновок
Практика підтвердила вміння володіти навиками роботи з комп’ютером, вміння складати програми дала можливість не тільки розв’язувати поставлену задачу, але й показати розуміння, і вміння чітко і лаконічно формулювати свої думки, правильно ставити задачу і знаходити оптимальні шляхи її рішення, швидко орієнтуватися в потоці інформації, звично звертатися до літературних джерел для знаходження оптимального варіанту вирішення задачі.
Для виконання поставленої задачі було створена програма яка виконує поставлену задачу по керуванні базою даних обладнання організації. Вона проста і зручна в експлуатації. Дану програму можна застосовувати в різних магазинах по виготовлення та збуту автозапчастин.
Список використаної літератури
Архангельський А. Я. Інтегрованная среда разработки Delphi – М.:ЗАО, Біном; 1999.
А. Федоров. Delphi2 для всех. 2-е издание. Компьютер-Пресс, 1997. - 464 с.
Нейл Рубенкинг. Программирование в Delphi для “чайников”. - 2-е издание. Диалектика, 1997. - 368 с.
Лей Лишнер. Секреты Delphi. Диасофт, 1996. - 600 с.
Мазке Кенту для професіоналів Delphi 6: видавництво Пітер, 2002.
Том Сван. Секреты 32-разрядного программирования на Delphi. Диалектика, 1997. - 480 с.
Довідкова система Delphi 7.0 Help.
Лістинг програми
unit uMain;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Menus, StdActns, ActnList, ImgList;
type
TfmMain = class(TForm)
MainMenu1: TMainMenu;
Edit1: TMenuItem;
File1: TMenuItem;
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;
ActionList1: TActionList;
ImageList1: TImageList;
WindowClose1: TWindowClose;
WindowCascade1: TWindowCascade;
WindowTileHorizontal1: TWindowTileHorizontal;
WindowTileVertical1: TWindowTileVertical;
WindowMinimizeAll1: TWindowMinimizeAll;
WindowArrange1: TWindowArrange;
Cascade1: TMenuItem;
MinimizeAll1: TMenuItem;
ileHorizontally1: TMenuItem;
ileVertically1: TMenuItem;
procedure N1Click(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure N3Click(Sender: TObject);
procedure N5Click(Sender: TObject);
procedure N6Click(Sender: TObject);
procedure N7Click(Sender: TObject);
procedure N13Click(Sender: TObject);
procedure N14Click(Sender: TObject);
procedure N9Click(Sender: TObject);
procedure N11Click(Sender: TObject);
procedure N16Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
fmMain: TfmMain;
implementation
uses uDBTableV, uDBTableD, uDBTableP, uDBFormD, uDBFormP, uDBFormV,
uMasterDetailV, uMasterDetailDetali, uDBFormPostavky, uDBTablePostavky,
fmAbout;
{$R *.dfm}
procedure TfmMain.N1Click(Sender: TObject);
begin
fmDBFormV := TfmDBFormV.Create( Application );
fmDBFormV.Show;
// fmDBFormV.Free; fmDBFormV := nil;
end;
procedure TfmMain.N2Click(Sender: TObject);
begin
fmDBFormD := TfmDBFormD.Create( Application );
fmDBFormD.Show;
// fmDBFormD.Free; fmDBFormD := nil;
end;
procedure TfmMain.N3Click(Sender: TObject);
begin
fmDBFormP := TfmDBFormP.Create( Application );
fmDBFormP.Show;
// fmDBFormP.Free; fmDBFormP := nil;
end;
procedure TfmMain.N5Click(Sender: TObject);
begin
fmDBTableV := TfmDBTableV.Create( Application );
fmDBTableV.Show;
// fmDBTableV.Free; fmDBTableV := nil;
end;
procedure TfmMain.N6Click(Sender: TObject);
begin
fmDBTableD := TfmDBTableD.Create( Application );
fmDBTableD.Show;
// fmDBTableD.Free; fmDBTableD := nil;
end;
procedure TfmMain.N7Click(Sender: TObject);
begin
fmDBTableP := TfmDBTableP.Create( Application );
fmDBTableP.Show;
// fmDBTableP.Free; fmDBTableP := nil;
end;
procedure TfmMain.N13Click(Sender: TObject);
begin
fmDBMasterDetailV := TfmDBMasterDetailV.Create( Application );
fmDBMasterDetailV.Show;
// fmDBMasterDetailV.Free; fmDBMasterDetailV := nil;
end;
procedure TfmMain.N14Click(Sender: TObject);
begin
fmDBMasterDetailDetali := TfmDBMasterDetailDetali.Create( Application );
fmDBMasterDetailDetali.Show;
// fmDBMasterDetailDetali.Free; fmDBMasterDetailDetali := nil;
end;
procedure TfmMain.N9Click(Sender: TObject);
begin
fmDBFormPostavky := TfmDBFormPostavky.Create( Application );
fmDBFormPostavky.Show;
// fmDBFormPostavky.Free; fmDBFormPostavky := nil;
end;
procedure TfmMain.N11Click(Sender: TObject);
begin
fmDBTablePostavky := TfmDBTablePostavky.Create( Application );
fmDBTablePostavky.Show;
// fmDBTablePostavky.Free; fmDBTablePostavky := nil;
end;
procedure TfmMain.N16Click(Sender: TObject);
begin
About := TAbout.Create( Application );
About.Show;
end;
end.
unit uDBTableD;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, uDBTable, DB, DBTables, DBCtrls, StdCtrls, Buttons, Grids,
DBGrids, ExtCtrls, jpeg;
type
TfmDBTableD = class(TfmDBTable)
Table1DNo: TStringField;
Table1DNazva: TStringField;
Table1Kolir: TStringField;
Table1Vaga: TSmallintField;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
fmDBTableD: TfmDBTableD;
implementation
{$R *.dfm}
procedure TfmDBTableD.Button1Click(Sender: TObject);
begin
inherited;
Table1.Filtered := False;
Table1.Filter := 'DNazva = ''' + Edit1.Text+ '''';
Table1.Filtered := True;
end;
procedure TfmDBTableD.Button2Click(Sender: TObject);
begin
inherited;
Table1.Filtered := False;
Table1.Filter := 'Kolir = ''' + Edit2.Text+ '''';
Table1.Filtered := True;
end;
end.
unit uDBForm;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, uAny, DB, DBTables, DBCtrls, StdCtrls, Buttons, ExtCtrls, jpeg;
type
TfmDBForm = class(TfmAny)
DBNavigator1: TDBNavigator;
Table1: TTable;
DataSource1: TDataSource;
Label1: TLabel;
Label2: TLabel;
Image1: TImage;
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure DataSource1DataChange(Sender: TObject; Field: TField);
procedure FormActivate(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
{ Private declarations }
public
{ Public declarations }
end;
var
fmDBForm: TfmDBForm;
implementation
{$R *.dfm}
procedure TfmDBForm.BitBtn1Click(Sender: TObject);
begin
if Table1.State in [dsEdit, dsInsert] then
Table1.Post;
inherited;
end;
procedure TfmDBForm.BitBtn2Click(Sender: TObject);
begin
if Table1.State in [dsEdit, dsInsert] then
Table1.Cancel;
inherited;
end;
procedure TfmDBForm.DataSource1DataChange(Sender: TObject; Field: TField);
begin
inherited;
case Table1.State of
dsEdit : Label1.Caption := 'Редагування';
dsInsert: Label1.Caption := 'Вставка';
dsBrowse: Label1.Caption := 'Перегляд';
end;
case Table1.State of
dsEdit, dsBrowse:
Label2.Caption := 'Запис '+IntToStr(Table1.RecNo)
+' ³ç '+IntToStr(Table1.RecordCount);
dsInsert:
Label2.Caption := 'Новий запис';
end;
end;
procedure TfmDBForm.FormActivate(Sender: TObject);
begin
inherited;
DataSource1DataChange(self, Table1.Fields[0]);
end;
procedure TfmDBForm.FormCreate(Sender: TObject);
begin
inherited;
Table1.Open;
end;
procedure TfmDBForm.FormClose(Sender: TObject; var Action: TCloseAction);
begin
inherited;
Table1.Close;
end;
end.
unit uMasterDetail;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, uDBForm, DB, DBTables, DBCtrls, StdCtrls, Buttons, ExtCtrls,
Grids, DBGrids, jpeg;
type
TfmDBMasterDetail = class(TfmDBForm)
DBGrid1: TDBGrid;
DataSource2: TDataSource;
Table2: TTable;
procedure FormCreate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
private
{ Private declarations }
public
{ Public declarations }
end;
var
fmDBMasterDetail: TfmDBMasterDetail;
implementation
{$R *.dfm}
procedure TfmDBMasterDetail.FormCreate(Sender: TObject);
begin
inherited;
Table2.Open;
end;
procedure TfmDBMasterDetail.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
inherited;
Table2.Close;
end;
procedure TfmDBMasterDetail.DBGrid1DrawColumnCell(Sender: TObject;
const Rect: TRect; DataCol: Integer; Column: TColumn;
State: TGridDrawState);
begin
inherited;
if odd(table2.RecNo) then begin
with DBGrid1.Canvas do
begin
Brush.Color:=clGreen;
Font.Color:=clWhite;
FillRect(Rect);
TextOut(Rect.Left+2,Rect.Top+2,Column.Field.Text);
end;
end;
end;
end.
unit uDBTablePostavky;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, uDBTable, DB, DBTables, DBCtrls, StdCtrls, Buttons, Grids,
DBGrids, ExtCtrls, jpeg;
type
TfmDBTablePostavky = class(TfmDBTable)
Table2: TTable;
Table3: TTable;
Table4: TTable;
Table1VNo: TStringField;
Table1DNo: TStringField;
Table1PNo: TStringField;
Table1Kilkist: TSmallintField;
Table1V: TStringField;
Table1D: TStringField;
Table1P: TStringField;
Table1Data: TDateField;
Table1Cina: TFloatField;
Table1Suma: TFloatField;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
fmDBTablePostavky: TfmDBTablePostavky;
implementation
{$R *.dfm}
procedure TfmDBTablePostavky.Button1Click(Sender: TObject);
begin
inherited;
Table1.Filtered := False;
Table1.Filter := 'V = ''' + Edit1.Text+ '''';
Table1.Filtered := True;
end;
procedure TfmDBTablePostavky.Button2Click(Sender: TObject);
begin
inherited;
Table1.Filtered := False;
Table1.Filter := 'D = ''' + Edit2.Text+ '''';
Table1.Filtered := True;
end;
end.