ІНСТРУКЦІЯ КОРИСТУВАЧА ТА РЕЗУЛЬТАТИ РОБОТИ ПРОГРАМИ



Завантажувальний модуль програми – файл Zarplata .exe. Для запуску програми достатньо відкрити даний файл одним із стандартних для ОС Windows способів: подвійне натиснення лівою клавішею миші на файлі; в контекстному меню вибрати пункт Відкрити; виділити файл і натиснути Enter.

Після завантаження програми на екрані з ’ являється головне вікно програми , що має структуру типового вікна Windows ( рис унок 6. 1). Вікно має рядок заголовку з назвою програми («Довідник нарахування заробітної плати працівникам підприємства»), рядок меню з чотирма пунктами (Файл, Очистити, Автор, Вихід), робочу область. На початку роботи робоча область має шість вікон - закладок , які не містять ніяких елементів , крім фонових малюнків .

Рисунок 6.1 – Головне вікно програми

Роботу слід розпочати з команди Файл/ Створити або Файл/ Відкрити, якщо вже існує файл даних, в якому розміщена інформація про нарахування. На першій закладці «Введення даних» з ’ являється поле для введення імені файла , який буде ство рюватись або відкриватись (рисунок 6. 2). Ввівши ім ’ я файла , потрібно натиснути кнопку «Прийнято!». Натиснення на кнопку приводить до ототожнення файлової змінної з фізичним файлом на диску, а також до появи на вікнах-вкладках елементів для подальшої роботи. В разі створення нового файла даних необхідно спочатку ввести інформацію про нарахування (назва відділу, ПІБ, стать, посада, оклад, премія, відрахування) і лише потім переходити до інших дій (рисунок 6.3).

Рисунок 6.2 – Введення імені файла даних

Рисунок 6.3 – Вкладка «Введення даних» після натиснення на кнопку «Прийнято!»

Рисунок 6.4 – Додавання записів у файл даних

 

При введенні даних поля активізуються поступово один за одним , починаючи з першого ( «ПІБ» ) (див. рисунок 6.3). Після заповнення поля «Відрахування)» активізується кнопка «Додати» (рисунок 6.4).

Для перегляду всіх даних, що записані у файлі, потрібно перейти на вкладку «Перегляд даних» (рисунок 6.5).

Рисунок 6.5 – Вкладка «Перегляд даних»

Натиснувши на кнопку «Перегляд усіх записів», у вікні з ’ являється таблиця з ін формацією, а також кнопка «Завершити перегляд даних» (рисунок 6.6), натиснення на яку повертає вигляд вікна до попереднього (див. рисунок 6.5).

Рисунок 6. 6 – Перегляд записів з файла даних

Для редагування даних про нарахування потрібно перейти на вкладку «Редагування даних». Вікно має вигляд, зображений на рис. 6.7.

Рисунок 6.7 – Вкладка «Редагування даних»

Для висвітлення інформації з метою редагування потрібно ввести назву відділу (рисунок 6.8) та натиснути кнопку «Пошук». В результаті отримаємо інформацію про нарахування за назвою відділу з можливістю редагування даних (рисунок 6.9). Після внесення змін у табличних даних натискують кнопку «Зберегти зміни».

Рисунок 6.8 – Введення назви відділу для пошуку даних

Рисунок 6.9 – Перегляд інформації про нарахування з можливістю редагування

Натиснення на кнопку «Завершити редагування» повертає вигляд вікна до попереднього (див. рис. 6.7).

Наступний етап – пошук інформації згідно критеріїв і виведення її на екра н.

Для отримання інформації по першій довідці потрібно перейти на вкладку «Довідка 1». Вікно має вигляд, зображений на рис. 6.10.

Рисунок 6.10 – Вкладка «Довідка 1»

Для отримання інформації потрібно вибрати назву посади (рисунок 6.11) і натиснути кнопку «Пошук» (рисунок 6.12).

Рисунок 6.11 – Вибір назви посади

Рисунок 6.12 – Перегляд інформації по першій довідці

Натиснення на кнопку «Завершити перегляд» повертає вигляд вікна до попереднього (див. рисунок 6.10).

Для отримання інформації по другій довідці потрібно перейти на вкладку «Довідка 2». Вікно має вигляд, зображений на рисунку 6.13.

Рисунок 6.13 – Вкладка «Довідка 2»

Для отримання інформації по даній довідці потрібно вибрати назву відділу (рисунок 6.14), і натиснути кнопку «Пошук» (рисунок 6.15).

Рисунок 6.1 4 – Введення назви відділу

Рисунок 6.15 – Перегляд інформації по другій довідці

Натиснення на кнопку «Завершити перегляд» повертає вигляд вікна до попереднього (див. рисунок 6.13).

Для отримання інформації по третій довідці потрібно перейти на вкладку «Довідка 3». Вікно має вигляд, зображений на рисунку 6.16

Рисунок 6.16 – Вкладка «Довідка 3»

Для отримання інформації по даній довідці потрібно натиснути кнопку «Визначення премії» (рисунок 6.18).

Рисунок 6.17 – Перегляд інформації по третій довідці

Натиснення на кнопку «Завершити перегляд» повертає вигляд вікна до попереднього (див. рисунок 6.16).

У програмі реалізовано функції очистки полів введення (пункт меню Очистити/Очистити поля), очистки файла (пункт меню Очистити/ Очистити файл) (рисунок 6.18).

Рисунок 6.18 – Пункт меню «Очистити»

Для отримання інформації про розробника інформаційно-пошукової системи потрібно скористатись пунктом меню Автор (рисунок 6.19). Вихід з програми можна реалізувати, скориставшись пунктом меню Вихід.

Рисунок 6.19  - Пункт меню «Автор»


 

ВИСНОВКИ

Під час виконання курсової роботи була розроблена програма по створенню і опрацюванню типізованого файлу записів для реалізації інформаційно-пошукової системи нарахувань заробітної плати працівникам підприжмства. Програма розроблена в середовищі Borland Delphi 7, може бути використана в цілях автоматизації збору та пошуку інформації про нарахування заробітної плати.

Відштовхуючись від потреби створення гpaфiчнoгo iнтеpфейсу кopистувaчa, менi випaлa нaгoдa кpaще пoзнaйoмитися з деякими зaсoбами, щo нaдaє iнтегpoвaне сеpедoвище poзpoбки Borland Delphi 7, а саме: створення головного меню програми, створення закладок, використання компонентів типу T StringGrid, T ComboBox, TDateTimePicker та ін.

Дана курсова робота виконана в повній відповідності до поставленого завдання. З метою подальшого розвитку та удосконалення розробленого програмного забезпечення можливе доопрацювання програми в таких напрямках: збільшення полів запису, збільшення кількості запитів, реалізація вилучення конкретних записів з файлу.

В результаті виконання даної курсової роботи я закріпив знання, уміння та навички алгоритмізації і програмування, побудов блок-схем алгоритмів, переконався в широких можливостях мови програмування Delphi, освоїв принципи роботи з типізованими файлами записів, роботи з масивами записів, впорядкування елементів масиву, ознайомився з організацією інформаційно-пошукових систем.


 

СПИСОК ВИКОРИСТАНИХ ДЖЕРЕЛ

1 Архангельский, А.Я. Программирование в Delphi 7 / А.Я. Архангельский. – М .: БИНОМ , 2003. – 1152 с .

2 Безменов, М.І. Основи програмування в середовищі Delphi : навч. посіб. / М.І. Безменов. – Ч .: НТУ «ХПІ» , 2010. – 608 с.

3 Бєльков, Д.В. Методичний посібник до курсу «Алгоритмізація та програмування» / Д.В. Бєльков, О.М. Копитова, В.М. Павлиш. – Донецьк : ДОННТУ , 2008. – 84 с .

4 Вакалюк, Т.А. Візуальне програмування. Навчсально-методичний посібник для студентів фізико-математичного факультету / Т.А. Дудзяний. – Житомир : Вид - во ЖДУ , 2013. – 116 с .

5 Глинський, Я.М. Паскаль. TurboPascal і Delphi : Навч. посібн. / Я.М. Глинський, В.Є. Анохін, В.А. Ряжська. – Львів : СПД Глинський , 2008. – 192 с .

6 Дудзяний, І.М. Програмування мовою ObjectPascal / І.М. Дудзяний. – Львів : ВЦ ЛНУ ім . І.Франка, 2008 – 329 с .

7 Кащеев , Л.Б. Інформатика. Основи візуального програмування: Навч. посібник / Л.Б. Кащеев, С.В. Коваленко, С.М. Коваленко. ­ – Х .: Веста , 2011. – 192 с .

8 Культин, Н.Б. Основы программирования в Delphi 2007 / Н.Б. Культин. – СПб .: БХБ - Петербург , 2008. – 480 с .

9 Мірошниченко, Г.А. Мови програмування. Короткий курс програмування в середовищі Delphi / Г.А. Мірошниченко. – Харків : ХНАМГ , 2008 – 79 с .

10 Навчальний посібник «Delphi 6. Основи програмування» / М.О. Алєксєєнко, С.П. Кондзюба, Л.М. Коротенко, О.С. Шевцова. – Дніпропетровськ : ДВНЗ «НГУ» , 2012. – 272 с .

11 Олійник, О.А. Методичні матеріали до проведення занять з алгоритмізації і програмування/О. Олійник// Інформатика та інформаційні технології в навчальних закладах. – 2010. – № 3. – с .11-14.

12 Програмування в Delphi. Методичний посібник для практичних і лабораторних занять з дисципліни «Інформатика» / В.А. Шаповаленко, Л.М. Буката, В.Д. Кузнецов, І.Г. Швайко. – Одеса , ВЦ ОНАЗ ім . О . С . Попова , 2008. – 97 с.

13 Саволюк, А.О. Навіщо нам цикли/А. Саволюк//Науково-методичний журнал «Інформатика в школі». – 2013. – № 12(60). – с .24-1 – 24-8.

14 Саволюк, А.О. Розгалуження в програмі/А. Саволюк//Науково-методичний журнал «Інформатика в школі». – 2013. – № 4(52). – с .24-1 – 24-4.

15 Славінська, Л.В. Основи алгоритмізації та програмування в середовищі Delphi. Методичні рекомендації до лабораторних робіт з навчальної дисципліни «Основи інформаційних технологій і програмування» / Л.В. Славінська, О.М. Копитова – Донецьк : ДОННТУ , 2011. – 111с.

16 Усатенко, Т.М. Навчальний посібник з дисципліни «Програмування» програмування в середовищі Delphi /Т.М. Усатенко. – Суми : Вид - во СумДУ , 2008. – 80 с .

17 Усатенко, Т.М. Програмування: Навчальний посібник / Т.М. Усатенко. – Суми : Вид - во СумДУ , 2008. – 84 с .

18 Яременко, Г.І. Програмування в середовищі Delphi: Навч. посібн. / Г.І. Яременко, Д.В. Копил – Черкаси : ЧДТУ , 2011. – 188 с .

19 Королевство Delphi: [сайт]. – Режим доступу : http://www.delphikingdom.com/

20 Мастера Delphi: [сайт]. – Режим доступу : http://delphimaster.tu/

21 Программирование на Delphi: [сайт]. – Режим доступу: http://delphi.ucoz.kz/

22 DelphiWorld: [сайт]. – Режим доступу : http://delphiworld.narod.ru/

Додаток А

Текст модуля

unit Unit1;

 

interface

 

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, ComCtrls, Menus, StdCtrls, ExtCtrls, Grids, jpeg;

 

type

TForm1 = class(TForm)

MainMenu1: TMainMenu;

PageControl1: TPageControl;

N1: TMenuItem;

N2: TMenuItem;

TabSheet1: TTabSheet;

TabSheet2: TTabSheet;

TabSheet3: TTabSheet;

TabSheet4: TTabSheet;

TabSheet5: TTabSheet;

TabSheet6: TTabSheet;

N3: TMenuItem;

N4: TMenuItem;

N5: TMenuItem;

N6: TMenuItem;

N8: TMenuItem;

N7: TMenuItem;

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

Label4: TLabel;

Label5: TLabel;

Label6: TLabel;

Label7: TLabel;

Label8: TLabel;

ComboBox1: TComboBox;

Edit1: TEdit;

RadioGroup1: TRadioGroup;

Edit2: TEdit;

Button1: TButton;

Label9: TLabel;

Button2: TButton;

ComboBox2: TComboBox;

Edit3: TEdit;

Button3: TButton;

StringGrid1: TStringGrid;

Button4: TButton;

Edit4: TEdit;

Edit5: TEdit;

Label10: TLabel;

Edit6: TEdit;

Button5: TButton;

Label11: TLabel;

StringGrid2: TStringGrid;

Label12: TLabel;

Button6: TButton;

Button7: TButton;

Label13: TLabel;

ComboBox3: TComboBox;

Button8: TButton;

Label14: TLabel;

Label15: TLabel;

StringGrid3: TStringGrid;

Label16: TLabel;

Edit7: TEdit;

Button9: TButton;

Label17: TLabel;

ComboBox4: TComboBox;

Button10: TButton;

Label18: TLabel;

StringGrid4: TStringGrid;

Label20: TLabel;

Edit8: TEdit;

Label21: TLabel;

Button11: TButton;

Label22: TLabel;

Button12: TButton;

Label23: TLabel;

Label24: TLabel;

StringGrid5: TStringGrid;

StringGrid6: TStringGrid;

Button13: TButton;

Label25: TLabel;

Label26: TLabel;

Label27: TLabel;

Label28: TLabel;

Label29: TLabel;

Label30: TLabel;

Label31: TLabel;

Label32: TLabel;

Image1: TImage;

Image2: TImage;

Image3: TImage;

Image4: TImage;

Image5: TImage;

Image6: TImage;

procedure FormActivate(Sender: TObject);

procedure N3Click(Sender: TObject);

procedure N4Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

procedure Edit5Change(Sender: TObject);

procedure Edit1Change(Sender: TObject);

procedure ComboBox1Change(Sender: TObject);

procedure RadioGroup1Click(Sender: TObject);

procedure ComboBox2Change(Sender: TObject);

procedure Edit2Change(Sender: TObject);

procedure Edit3Change(Sender: TObject);

procedure Edit4Change(Sender: TObject);

procedure Button1Click(Sender: TObject);

procedure Button3Click(Sender: TObject);

procedure Button4Click(Sender: TObject);

procedure Edit6Change(Sender: TObject);

procedure Button5Click(Sender: TObject);

procedure Button6Click(Sender: TObject);

procedure Button7Click(Sender: TObject);

procedure ComboBox3Change(Sender: TObject);

procedure Button8Click(Sender: TObject);

procedure Button9Click(Sender: TObject);

procedure ComboBox4Change(Sender: TObject);

procedure Button10Click(Sender: TObject);

procedure Button11Click(Sender: TObject);

procedure Button12Click(Sender: TObject);

procedure N8Click(Sender: TObject);

procedure Button13Click(Sender: TObject);

procedure N5Click(Sender: TObject);

procedure N6Click(Sender: TObject);

procedure N7Click(Sender: TObject);

 

private

{ Private declarations }

public

{ Public declarations }

end;

 

var

Form1: TForm1;

 

implementation

 

{$R *.dfm}

 

//Опис глобального типу

Type zarpl=record

viddl:string[20];

pib:string[40];

stat:string[8];

posad:string[30];

okld:real;

prm:real;

vidrah:real;

end;

 

 

//Опис глобальних змінних

var f: file of zarpl;

z:zarpl;

namefile:string;

nbtn2:integer;

m_zap:array[1..50] of zarpl;

m_ind:array[1..50] of integer;

kz_file, kz_edit:integer;

 

{Встановлення початкових властивостей компонентів та забезпечення їх

доступу на формі}

 

//Підпрограма активізувати форми

procedure TForm1.FormActivate(Sender: TObject);

 

var i:integer;

begin

for i:=0 to ComponentCount-1 do

begin

if components[i] is TLabel then (components[i] as TLabel).Visible:=false;

if components[i] is TEdit then (components [i]as TEdit ).Visible:=false;

if components [i] is TButton then (components [i] as TButton).Visible:=false;

if components [i] is TDateTimePicker then (components [i] as TDateTimePicker).Visible:=false;

if components [i] is TComboBox then (components [i] as TComboBox).Visible:=false;

if components [i] is TStringGrid then(components [i] as TStringGrid).Visible:=false;

if components [i] is TRadioGroup then (components [i] as TRadioGroup).Visible:=false;

end;

N2.Enabled:=false;

Image1.Enabled:=true;

Image2.Enabled:=true;

Image3.Enabled:=true;

Image4.Enabled:=true;

Image5.Enabled:=true;

Image6.Enabled:=true;

end;

 

 

//Підпрограма команди меню "Створити файл"

 

procedure TForm1.N3Click(Sender: TObject);

begin

Label9.Show; Edit5.Show; Edit5.SetFocus;

Button2.Show; Button2.Enabled:=false;

nbtn2:=1;

 end;

 

 

 //Підпрограма команди меню "Відкрити файл"

 procedure TForm1.N4Click(Sender: TObject);

begin

Label9.Show; Edit5.Show; Edit5.SetFocus;

Button2.Show; Button2.Enabled:=false;

nbtn2:=2;

end;

 

 

{Вкладка ВВЕДЕННЯ ДАНИХ}

 

//Підпрограма активізації кнопки Button2

 procedure TForm1.Edit5Change(Sender: TObject);

begin

Button2.Enabled:=true;

end;

 

 

//Підпрограма кнопки "Прийнято!"

 procedure TForm1.Button2Click(Sender: TObject);

 var i:integer;

 begin

if Edit5.Text= ''then

begin

ShowMessage('Ви не ввели им"я файла!'+#13+'Повторіть введення!');

Exit;

end;

namefile:=Edit5.Text;

AssignFile(f,namefile);

if nbtn2=1

then rewrite(f)

else

begin //Відкрити файлу

{$I-}

reset(f);

{$I+}

if IOResult<> 0 then

begin

ShowMessage('Такого файлу не існує !'+#13+'Повторіть введення');

Edit5.Clear; Edit5.SetFocus; exit;

end ;

end;

 CloseFile(f);//Закрити файл

 

{Активізація компонентів на вкладках}

for i:=0 to ComponentCount-1 do

 begin

 //Всі мітки видимі

 if components [i] is TLabel then (components [i] as TLabel).Visible:=true;

 //Всі компоненти Edit видимі і активізовані

 If components [i] is TEdit then (components [i]as TEdit ).Visible:=true;

 end;

 

 {Вкладка Введення даних}

 Edit5.Clear; Edit5.Hide;

 Label9.Hide; Button2.Hide;

 Edit1.SetFocus;

 Edit2.Enabled:=false;

 Edit3.Enabled:=false;

 Edit4.Enabled:=false;

 ComboBox1.Visible:=true;

 ComboBox1.Enabled:=false;

 ComboBox2.Visible:=true;

 ComboBox2.Enabled:=false;

 Button1.Visible:=true;

 Button1.Enabled:=false;

 RadioGroup1.Visible:=true;

 RadioGroup1.Enabled:=false;

 

 {Вкладка Перегляд даних}

Button3.Visible:=true;

 

{Вкладка редагування даних}

Label11.Visible:=false;

Edit6.Enabled:=true; // Компонент неактивізований

Button5.Visible:=true; //Кнокпка видима

Button5.Enabled:=false; //Кнопка неактивізована

   

{Вкладка Довідка 1}

 Edit7.Visible:=false;     //Компонент неактивізований

Label15.Visible:=false;  // Мітка не видима

Label13.Visible:=true; // Мітка не видима

ComboBox3.Visible:=true; // Компонент видимий

ComboBox3.Enabled:=true; // Компонент активізований

Button8.Visible:=true; // Кнопка видима

Button8.Enabled:=false; // Кнопка неактивізована

Button9.Visible:=false;

Label16.Visible:=false;

 

{Вкладка Довідка 2}

 Edit8.Visible:=false;    //Компонент неактивізований

 Label17.Visible:=true;  // Мітка не видима

 Label20.Visible:=false;   // Мітка не видима

 ComboBox4.Visible:=true;  // Компонент видимий

 ComboBox4.Enabled:=true; // Компонент активізований

 Button10.Visible:=true;   // Кнопка видима

 Button10.Enabled:=false;   // Кнопка неактивізована

 Button11.Visible:=false;

 Label21.Visible:=false;

 

{Вкладка Довідка 3}

Button12.Visible:=true;

Button12.Enabled:=true;

Label23.Visible:=false;

Label24.Visible:=false;

Button13.Visible:=false;

Label25.Visible:=false;

Label26.Visible:=false;

Label29.Visible:=false;

Label30.Visible:=false;

 

 {Пункт меню Очистити}

 N2.Enabled:=true; //Пункт меню активізований

 end;

 

 

 //Підпрограма активізації ComboBox1

procedure TForm1.Edit1Change(Sender: TObject);

begin

 ComboBox1.Enabled:=true;

end;

 

//Підпрограма активізації RadioGroup1

procedure TForm1.ComboBox1Change(Sender: TObject);

begin

 RadioGroup1.Enabled:=true;

end;

 

//Підпрограма активізації ComboBox2

procedure TForm1.RadioGroup1Click(Sender: TObject);

begin

 ComboBox2.Enabled:=true;

end;

 

//Підпрограма активізації Edit2

procedure TForm1.ComboBox2Change(Sender: TObject);

begin

 Edit2.Enabled:=true;

end;

 

//Підпрограма активізації Edit3

procedure TForm1.Edit2Change(Sender: TObject);

begin

 Edit3.Enabled:=true;

end;

 

//Підпрограма активізації Edit4

procedure TForm1.Edit3Change(Sender: TObject);

begin

 Edit4.Enabled:=true;

end;

 

//Підпрограма активізації Button1

procedure TForm1.Edit4Change(Sender: TObject);

begin

 Button1.Enabled:=true;

end;

 

//Кнопка"Додати"

procedure TForm1.Button1Click(Sender: TObject);

begin

 //перевірка наявності даних у вікнах введення

 if (length(Edit3.Text)=0)or(length(Edit2.Text)=0)or

(length(Edit3.Text)=0)or(length(Edit4.Text)=0)or

(length(ComboBox1.Text)=0)or(length(ComboBox2.Text)=0)

then

begin

  ShowMessage('Введіть усі відомості про підприємство');

  exit;

end;

 

 //записування у файл значень про зарплату

 reset(f);

 seek(f,FileSize(f));

 with z do

begin

viddl:=ComboBox1.Text;

pib:=Edit1.Text;

if RadioGroup1.ItemIndex=0 then stat:='Чоловіча'

                          else stat:='Жіноча';

posad:=ComboBox2.Text;

okld:=StrToFloat(Edit2.Text);

prm:=StrToFloat(Edit3.Text);

vidrah:=StrToFloat(Edit4.Text);

end;

 write(f,z);

 CloseFile(f);

 

 //Очищення вікон для нових значень

Edit1.Clear;Edit2.Clear;Edit3.Clear;Edit4.Clear;

ComboBox1.Text:=''; ComboBox2.Text:='';

RadioGroup1.ItemIndex:=-1;

 

 //Компоненти неактивні

Edit2.Enabled:=false;Edit3.Enabled:=false;

Edit4.Enabled:=false;ComboBox1.Enabled:=false;

ComboBox2.Enabled:=false;RadioGroup1.Enabled:=false;

 end;

 

{Вкладка ПЕРЕГЛЯД ДАНИХ}

 

 //Підпрограма перегляду даних у файлі

procedure TForm1.Button3Click(Sender: TObject);

 var i:integer;

begin

reset(f);

seek(f,0);

with StringGrid1 do

begin

cells[0,0]:='ПІБ';

cells[1,0]:='Назва відділу';

cells[2,0]:='Стать';

cells[3,0]:='Посада';

cells[4,0]:='Оклад';

cells[5,0]:='Премія';

cells[6,0]:='Відрахування';

Visible:=false;

end;

StringGrid1.Show;

Button4.Enabled;

i:=0;

while not eof(f) do

begin

read(f,z);

//збільшення кількості рядків таблиці

StringGrid1.RowCount:=StringGrid1.RowCount+1;

//Виведення даних у таблицю

i:=i+1;

with z do

begin

StringGrid1.Cells[0,i]:=pib;

StringGrid1.Cells[1,i]:=viddl;

StringGrid1.Cells[2,i]:=stat;

StringGrid1.Cells[3,i]:=posad;

StringGrid1.Cells[4,i]:=FloatToStr(okld);

StringGrid1.Cells[5,i]:=FloatToStr(prm);

StringGrid1.Cells[6,i]:=FloatToStr(vidrah);

end;

 end;

 CloseFile(f);

 Button4.Show;

 end;

 

 //Завершити перегляд даних

procedure TForm1.Button4Click(Sender: TObject);

 var i,j:integer;

begin

 for i:=0 to StringGrid1.RowCount-1 do

for j:=0 to 6 do StringGrid1.Cells[j,i]:='';

 StringGrid1.Height:=150;

 StringGrid1.RowCount:=2;

 StringGrid1.Hide;

 Button4.Hide;

 end;

 {Вкладка редагування даних}

 

//Підпрограма активізації Button 5

 

procedure TForm1.Edit6Change(Sender: TObject);

begin

Button5.Enabled:=true;

end;

 

// Підпрограма пошуку даних для редагування

 

procedure TForm1.Button5Click(Sender: TObject);

 

var i,j:integer;

r1:string;

begin

//Перевірка наявності значень у вікні Edit

if(length(Edit6.Text)=0) then

begin

ShowMessage('Введіть назву підприємства');

Exit;

end;

//Зчитування даних

r1:=Edit6.Text;

 

//Пошук інформації про підприємство та виведення її на екран

 

//Підпис стовпців таблиці

with StringGrid2 do

begin

 

cells[0,0]:='ПІБ';

cells[1,0]:='Назва відділу';

cells[2,0]:='Стать';

cells[3,0]:='Посада';

cells[4,0]:='Оклад';

cells[5,0]:='Премія';

cells[6,0]:='Відрахування';

end;

 

//Компоненти видимі

Label11.Visible:=true;

StringGrid2.Visible:=true;

Button7.Visible:=true;

Button6.Visible:=true;

 

reset(f); //відкрити файл

seek(f,0); //Переведння на початок файла

 

 

//Зчитування даних із файлу у масив

kz_file:=0; // кількість записів для редагування(початкова)

while not eof(f) do

begin

read(f,z); //Читання запису з файлу

kz_file:=kz_file+1; //Збільшення кількості записів на 1

m_zap[kz_file]:=z; //Занесення запису у масив записів

end;

 

//Виведення записів для редагування

kz_edit:=0; // кількість записів для редагування (початкова)

i:=0; //нумерація рядків таблиці для виведення інформації

for j:=1 to kz_file do

begin

//Виведення даних

if pos(r1,m_zap[j].viddl)<>0 then //Введена назва є частиною іншої із масиву записів?

begin

//Фіксація номера запису для редагування в масиві записів

kz_edit:=kz_edit+1;

m_ind[kz_edit]:=j;

//Виведення записів в StringGrid2 для редагування

i:=i+1;

StringGrid2.Cells[0,i]:=m_zap[j].pib;

StringGrid2.Cells[1,i]:=m_zap[j].viddl;

StringGrid2.Cells[2,i]:=m_zap[j].stat;

StringGrid2.Cells[3,i]:=m_zap[j].posad;

StringGrid2.Cells[4,i]:=FloatToStr(m_zap[j].okld);

StringGrid2.Cells[5,i]:=FloatToStr(m_zap[j].prm);

StringGrid2.Cells[6,i]:=FloatToStr(m_zap[j].vidrah);

//Збільшення рядків таблиці на 1

StringGrid2.RowCount:=StringGrid2.RowCount+1;

end;

end;

 

CloseFile(f); //Закрити файл

Button7.Visible:=true; //Кнопка видима

end;

 

//Зберегти зміни

 

procedure TForm1.Button6Click(Sender: TObject);

var i,j:integer;

begin

//Зміна інформації в масиві записів (введеня таблиці)

i:=0;

for j:=1 to kz_edit do

begin

i:=i+1;

m_zap[m_ind[j]].pib:= StringGrid2.Cells[0,i];

m_zap[m_ind[j]].viddl:= StringGrid2.Cells[1,i];

m_zap[m_ind[j]].stat:= StringGrid2.Cells[2,i];

m_zap[m_ind[j]].posad:= StringGrid2.Cells[3,i];

m_zap[m_ind[j]].okld:= StrToFloat(StringGrid2.Cells[4,i]);

m_zap[m_ind[j]].prm:= StrToFloat(StringGrid2.Cells[5,i]);

m_zap[m_ind[j]].vidrah := StrToFloat(StringGrid2.Cells[6,i]);

end;

//Очищення файлу записів

Rewrite(f);

//Переведення покажчика на початок файла

seek(f,0);

//Запис у файл масиву записів

for i:=1 to kz_file do write(f,m_zap[i]);

//Закриття файлу

CloseFile(f);

end;

 

 

//Завершити перегляд

procedure TForm1.Button7Click(Sender: TObject);

var i:integer;

begin

//Завершення операції,підготовка вкладки до наступного редагування

 for i:=0 to StringGrid2.RowCount-1 do

    StringGrid2.Rows[i].Clear; //Очищення рядків таблиці

                               //Кількість рядків 2

 StringGrid2.RowCount:=2;

 //Компоненти невидимі

 StringGrid2.Hide;

 Button7.Hide;

 Button6.Hide;

 Button5.Enabled:=false;

 Label11.Visible:=false;

 

 //Очищення поля

 Edit6.Clear;

end;

 

 

{Вкладка Довідка 1}

 

//Підпрограма активізації Button8

 

procedure TForm1.ComboBox3Change(Sender: TObject);

begin

 Button8.Enabled:=true;

end;

 

//Підпрограма Довідка 1

 

procedure TForm1.Button8Click(Sender: TObject);

var i:integer;

r2:string;

sumokl:real;

 begin

//Перевірка наявності значень у вікні ComboBox

if(length(ComboBox3.Text)=0)then

begin

ShowMessage('Введіть назву посади');

Exit;

end;

 

 

//Зчитування даних

r2:=ComboBox3.Text;

//Початкові значення

i:=0;

sumokl:=0;

 

//Виведення інформації

//Підпис стовпчиків

 with StringGrid3 do

begin

cells[0,0]:='ПІБ';

cells[1,0]:='Назва відділу';

cells[2,0]:='Стать';

cells[3,0]:='Посада';

cells[4,0]:='Оклад';

cells[5,0]:='Премія';

cells[6,0]:='Відрахування';

end;

 

 

 Edit7.Visible:=true;

 Label15.Visible:=true;

 Label13.Visible:=true;

 StringGrid3.Visible:=true;

 Button9.Visible:=true;

 Label16.Visible:=true;

 

 

reset(f); //Відкрити файл

seek(f,0); //Перевести покажчик на початок файла

 

 while not eof(f) do

begin

read(f,z);

with z do

if r2=posad then

//Виведення даних

begin

i:=i+1;

StringGrid3.RowCount:=StringGrid3.RowCount+1; // Збільшення кількості рядків в таблиці

StringGrid3.Cells[0,i]:=pib;

StringGrid3.Cells[1,i]:=viddl;

StringGrid3.Cells[2,i]:=stat;

StringGrid3.Cells[3,i]:=posad;

StringGrid3.Cells[4,i]:=FloatToStr(okld);

StringGrid3.Cells[5,i]:=FloatToStr(prm);

StringGrid3.Cells[6,i]:=FloatToStr(vidrah);

sumokl:=sumokl+okld;

end;

end;

 Button9.Visible:=true; //видимий

// Виведення результатів

 Edit7.Text:=FloatToStr(sumokl/i);

 Button9.Show;

 CloseFile(f);

end;

 

//Завершити перегляд

procedure TForm1.Button9Click(Sender: TObject);

var i:integer;

begin

//Очищення

for i:=0 to StringGrid3.RowCount-1 do StringGrid3.Rows[i].Clear;

ComboBox3.Text:='';

//Кількість рядків -2

StringGrid3.RowCount:=2;

//Компоненти невидимі

StringGrid3.Hide;

Button9.Hide;

Edit7.Hide;

Label15.Hide;

Button8.Enabled:=false;

Label16.Visible:=false;

end;

 

 

{Довідка 2}

 

 //Підпрограма активізації Button 10

 

 

procedure TForm1.ComboBox4Change(Sender: TObject);

begin

 Button10.Enabled:=true;

end;

 

 

procedure TForm1.Button10Click(Sender: TObject);

var i:integer;

r3:string;

sumvidrah:real;

 

 

begin

//Перевірка наявності значень у вікні ComboBox

if(length(ComboBox4.Text)=0) then

begin

 ShowMessage('Введіть назву відділу ');

 Exit;

end;

 

//Зчитування даних

r3:=ComboBox4.Text;

if pos(r3,'Відділ логістики')<>0 then Image5.Picture.LoadFromFile('відділ логістики.bmp');

if pos(r3,'Відділ маркетингу ')<>0 then Image5.Picture.LoadFromFile('відділ маркетингу.bmp');

if pos(r3,'Відділ кадрів')<> 0 then Image5.Picture.LoadFromFile('відділ кадрів.bmp');

if pos(r3,'Відділ обліку')<> 0 then Image5.Picture.LoadFromFile('відділ обліку.bmp');

if pos(r3,'ІТ- відділ')<> 0 then Image5.Picture.LoadFromFile('belyy-interyer-ofisa-everlane-v-san-frantsisko-21.bmp');

if pos(r3,'Відділ продажу')<> 0 then Image5.Picture.LoadFromFile('відділ продаж.bmp');

if pos(r3,'Відділ планування ')<> 0 then Image5.Picture.LoadFromFile('depositphotos.bmp');

Image5.Visible:=true;

//Початкові значення

i:=0;

sumvidrah:=0;

 

//Виведення інформації

//Підпис стовпчиків

with StringGrid4 do

 begin

 cells [0,0]:='ПІБ Особи';

 cells [1,0]:='Відрахування';

end;

 

Edit8.Visible:=true;

Label20.Visible:=true;

Label17.Visible:=true;

StringGrid4.Visible:=true;

Button11.Visible:=true;

Label21.Visible:=true;

 

reset(f); //Відкрити файл

seek(f,0);     //Перевести покажчик на початок файла

 

while not eof (f) do

 begin

 read(f,z);

 with z do

 if r3=viddl then

//Виведення даних

 begin

i:=i+1;

StringGrid4.RowCount:=StringGrid4.RowCount+1;

StringGrid4.Cells[0,i]:=pib;

StringGrid4.Cells[1,i]:=FloatToStr(vidrah);

sumvidrah:=sumvidrah+vidrah;

end;

end;

Button11.Visible:=true;

// Виведення результатів

Edit8.Text:=FloatToStr(sumvidrah);

Button11.Show;

CloseFile(f);

end;

 

//Завершити перегляд

procedure TForm1.Button11Click(Sender: TObject);

var i:integer;

begin

//Очищення

for i:=0 to StringGrid4.RowCount-1 do StringGrid4.Rows[i].Clear;

ComboBox4.Text:='';

//Кількість рядків -2

StringGrid4.RowCount:=2;

//Компоненти невидимі

StringGrid4.Hide;

Button11.Hide;

Edit8.Hide;

Label20.Hide;

Button10.Enabled:=false;

Label21.Visible:=false;

 

end;

 

 

{Вкладка 3}

 

//Процедура Довідки 3

procedure TForm1.Button12Click(Sender: TObject);

 var i,j,n:integer;

m_zap:array[1..50]of zarpl;

begin

//Компоненти видимі

Button13.Visible:=true;

StringGrid5.Show;

StringGrid6.Show;

Label23.Visible:=true;

Label24.Visible:=true;

Label25.Visible:=true;

Label26.Visible:=true;

Label29.Visible:=true;

Label30.Visible:=true;

 

reset(f); //Відкрити файл

seek(f,0); //Перевести покажчик на початок файла

 

//Підписи стовпців таблиць

 with StringGrid5 do

begin

cells[0,0]:='ПІБ';

cells[1,0]:='Посада';

cells[2,0]:='Премія';

end;

 with StringGrid6 do

begin

cells[0,0]:='ПІБ';

cells[1,0]:='Посада';

cells[2,0]:='Премія';

end;

 

 //Формування масиву записів для жінок

 n:=0;

 while not eof(f) do

begin

read(f,z); //Прочитати з файлу запис

if z.stat='Жіноча' then

begin

n:=n+1;

m_zap[n]:=z;

end;

end;

 

//Сортування в таблиці записи від найменшого до найбільшого

for i:=n downto 2 do

begin

for j:=2 to i do

if m_zap[j-1].prm>m_zap[j].prm then

  begin

   z:=m_zap[j-1];

   m_zap[j-1]:=m_zap[j];

   m_zap[j]:=z;

  end;

end;

 

 

//Виведення жінок с премією від наймешної до найбільшої

 for i:=1 to n do

begin

StringGrid5.RowCount:= StringGrid5.RowCount+1;

StringGrid5.Cells[0,i]:=m_zap[i].pib;

StringGrid5.Cells[1,i]:=m_zap[i].posad;

StringGrid5.Cells[2,i]:=FloatToStr(m_zap[i].prm);

end;

 

//Виведення максимальних і мінімальних значень

Label27.Caption:=FloatToStr(m_zap[1].prm);

Label28.Caption:=FloatToStr(m_zap[n].prm);

 

seek(f,0); //Перевести покажчик на початок файла

 

//Формування масиву записів для чоловіків

n:=0;

while not eof(f) do

begin

read(f,z); //Прочитати з файлу запис

if z.stat='Чоловіча' then

begin

  n:=n+1;

  m_zap[n]:=z;

end;

end;

 

//Сортування в таблиці записи від найменшого до найбільшого

for i:=n downto 2 do

begin

for j:=2 to i do

if m_zap[j-1].prm>m_zap[j].prm then

  begin

   z:=m_zap[j-1];

   m_zap[j-1]:=m_zap[j];

   m_zap[j]:=z;

  end;

end;

 

 

//Виведення чоловіків с премією від наймешної до найбільшої

for i:=1 to n do

begin

 StringGrid6.RowCount:= StringGrid6.RowCount+1;

 StringGrid6.Cells[0,i]:=m_zap[i].pib;

 StringGrid6.Cells[1,i]:=m_zap[i].posad;

 StringGrid6.Cells[2,i]:=FloatToStr(m_zap[i].prm);

end;

 

//Виведення максимальних і мінімальних значень

Label31.Caption:=FloatToStr(m_zap[1].prm);

Label32.Caption:=FloatToStr(m_zap[n].prm);

 

 

CloseFile(f);

end;

 

//Завершити перегляд даних

procedure TForm1.Button13Click(Sender: TObject);

var i:integer;

begin

 for i:=0 to StringGrid5.RowCount-1 do StringGrid5.Rows[i].Clear;

for i:=0 to StringGrid6.RowCount-1 do StringGrid6.Rows[i].Clear;

 

 //Компоненти невидимі

 StringGrid5.Hide;

 StringGrid6.Hide;

 Label23.Hide;

 Label24.Hide;

 Button13.Hide;

 Label25.Hide;

 Label26.Hide;

 Label27.Hide;

 Label28.Hide;

 Label29.Hide;

 Label30.Hide;

 Label31.Hide;

 Label32.Hide;

 

end;

 

{Пункт меню ОЧИСТИТИ}

//Очищення полів

procedure TForm1.N5Click(Sender: TObject);

begin

 Edit1.Clear;

 Edit2.Clear;

 Edit3.Clear;

 Edit4.Clear;

 ComboBox1.Clear;

 ComboBox2.Clear;

 RadioGroup1.ItemIndex:=-1;

end;

 

//Очищення файлу

procedure TForm1.N6Click(Sender: TObject);

begin

 rewrite(f);

 CloseFile(f);

end;

 

 

{Пункт меню ВИХІД}

procedure TForm1.N7Click(Sender: TObject);

begin

 Close;

end;

 

 {Пункт меню АВТОР}

 

procedure TForm1.N8Click(Sender: TObject);

begin

ShowMessage('Автор проекту - студент ТЕК БНАУ'+#13+'групи ІДП-31'+

#13+'Лапач Богдан Миколайович');

end;

 

end.


Дата добавления: 2019-02-22; просмотров: 268; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!