Отдел кадров


Тип работы:  Курсовая работа
Бесплатно:  Антиплагиат
Объем: 12 страниц
В избранное:   

Казахский Экономический Университет имени

Т. Рыскулова

Проверил:

Выполнил: Жумаханов Т.

110группа, ИЭФ-05, «ВТ и ПО»

Алматы 2006

Содержание

Введение3

Задача3

Алгоритм решения задачи3

Инструкция пользователя5

Исходный код программы5

Блок-схемы14

Список литературы15

Введение

Тема курсовой работы называется «Отдел кадров». С помощью интегрированной среды разработки Delphi версии 6. 0 я решил проблему автоматизации учета сотрудников учреждения. Программа является полностью готовой, рабочей и может без проблем быть внедрена в указанные инстанции.

Задача

Автоматизировать процесс учета и регистрации сотрудников учреждения, при этом сохранить простоту и удобство управления процессом. В целом, программа должна хранить информацию, предоставить возможность просмотра и редактирования данных. Помимо этого нужно реализовать поиск по определенным критериям и в определенных полях. Что собственно и было реализовано в моей курсовой работе, а также были добавлены некоторые дополнительные функции, которые будут описаны далее в разделе «Алгоритм решения задачи».

Алгоритм решения задачи

Программа написана на языке программирования Delphi версии 6. 0. При написании программы использовались лишь стандартные компоненты интегрированной среды разработки. Технологии и типы, которые получили реализации в проекте:

  • Borland Database Engine (BDE) - орган управления базами данных (в нашем случае мы используем БД Paradox версии 7. 0) .
  • Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ComCtrls, ExtCtrls, DBCtrls, Grids, DBGrids, StdCtrls, Buttons, Menus, DB, DBTables, ImgList - юниты, с помощью которых я получил доступ к процедурам и фукнциям работы с операционной системой, меню, базами данных, визуальными компонентами Delphi.
  • String, Integer, Boolean - типы данных, на которых основана данная программа. Соответственно строковый, целочисленный, логический типы.

При написании курсовой работы я обращался к использованию визуальных и не визуальных компонентов. Давайте, перечислим всех их:

  • TButton - обычная кнопка, нам нужно лишь ее событие onClick(для обработки) .
  • TEdit - поле ввода информации, нужно как часть для: реализации поиска, процесса считывания новых данных о пациенте.
  • TCombobox - представляет собой TEdit с выпадающим вниз меню, элементы которого можно программировать.
  • TMainMenu - компонент для создания главного меню («Файл», «Правка», «Вид» и т. д. ) .
  • TDBGrid - компоненты отображения таблиц базы данных в удобочитаемой форме, в виде сетки ячеек и столбцов.
  • TDBNavigator - набор соединенных вместе кнопок навигации по таблице БД. Действия: Назад, Вперед, Вставить, Удалить, Сохранить, Отменить и т. д. над ячейками и строками таблиц.
  • TTreeView - компоненты древовидного представления данных.
  • TPanel - представляет собой визуальный модуль, на который могут помещаться другие визуальные компоненты.
  • TDatasource - компонент управления потоком данных между базой данных и программой.
  • TTable - является виртуальной таблицей, копией физической таблицы, все операции над ней затем сохраняются в физической таблице.
  • DBMemo - компоненты отображения текстовой информации.
  • DBImage -компоненты отображения графической информации.

Так как в проекте используются только базы данных Paradox, то каждая таблица будет соответствовать только одной физической базу данных. Всего в программе существует 3 БД: «Персонал», «Данные о переводах», «Архив» - они хранятся в папке с самой программой.

Все БД создавались с помощью SQL Explorer. Имя псевдонима - “Talga”. Тип драйвера «STANDART».

После создания локальных БД, я приступил к написанию исходного кода будущей программы. Для начала была созданы следующие формы: главная форма, несколько форм для фильтрации БД (для каждой базы - своя) . Заострять особого внимания на данной стадии разработки мы не будем, а сразу перейдем к рассмотрению принципа работы продукта.

После запуска на экране возникает главная форма с размещенными на ней визуальными компонентами работы с базами данных (DBGrid1, DBNavigator1) . Имена компонентов остались стандартными, т. е. не менялись с целью наглядного просмотра кода. Навигация между определенными таблицами осуществляется с помощью компоненты TTreeView, размещенного слева на нашей форме. При раскрытии списка в TreeView, открывается доступ к еще 2 подпунктам в каждом пункте, также при двукратном нажатии на элементы «древа» программой обрабатывается событие onChange, в котором инициализируется выбранный пункт и в DBGrid1 отображается определенная таблица базы данных, а в компоненте Table1 свойство TableName меняется в зависимости от выбранного подпункта «древа навигации». Активной таблица делается с помощью установки свойства Active в значение true. При смене таблиц текущая деактивизируется, выбирается нужная и снова активизируется.

Поиск в программе реализован при помощи метода Locate. Задавая определенные критерии в Edit1 и выбирая нужное поле для поиска, мы можем без проблем отыскать интересующую нас информацию, автоматически переместив на нее указатель в визуальном компоненты DBGrid1.

Добавление новых сотрудников в базу данных можно осуществить нажав на Navigator-е на кнопку «+» и вручную заполнить все поля. А добавление в БД «Архив» и «Данные о переводах» можно с БД «Персонал» нажав на главной форме на кнопки «Уволить» и «Перевести» соответствеено.

При увеличении или уменьшении размеров формы главного окна программы все остальные компоненты пропорционально меняют свои размеры. Это реализуется при помощи события Align у определенных компонентов.

Завершение работы программы осуществляется либо нажатием кнопки «крестик» в заголовке программы, либо нажатием на главной форме кнопки «Выход», либо выбором из главного меню пункта «Выход», который влечет за собой выполнение стандартного метода Delphi - Close.

Инструкция пользователя

В принципе программа предоставляет очень простой и понятный интерфейс, никаких загвоздок или непонятных пунктов там нет. Например:

Поиск осуществляется после того как вы введете код интересующей вас записи в окно ввода кода и щелкните по кнопке «Найти», которая расположена рядом с окном ввода кода.

Фильтрация запускается щелчком на одноименной кнопке.

А для того чтобы восстановить все записи щелкните на кнопке «Все записи».

Для перевода или увольнения сотрудников щелкните на соответствующих кнопках. После чего у вас появится диалоговое окно, в которое если вы щелкнули на кнопке «Перевести» нужно ввести наименование отдела куда вы его переводите, а если щелкнули на кнопке «Уволить», то вводите причину по которой вы его увольняете.

Исходный код

unit Unit1;

interface

uses

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

Dialogs, StdCtrls, Grids, DBGrids, Menus, DBCtrls, ComCtrls, ExtCtrls;

type

TForm1 = class(TForm)

Panel1: TPanel;

Panel3: TPanel;

Panel4: TPanel;

Panel6: TPanel;

MainMenu1: TMainMenu;

Button2: TButton;

N1: TMenuItem;

DBGrid1: TDBGrid;

Button3: TButton;

Edit1: TEdit;

Label3: TLabel;

DBNavigator1: TDBNavigator;

N2: TMenuItem;

N4: TMenuItem;

Label2: TLabel;

DBImage1: TDBImage;

Button4: TButton;

Button5: TButton;

N5: TMenuItem;

N6: TMenuItem;

N7: TMenuItem;

TreeView1: TTreeView;

Label4: TLabel;

DBMemo1: TDBMemo;

Button1: TButton;

Button6: TButton;

procedure TreeView1Change(Sender: TObject; Node: TTreeNode) ;

procedure Button3Click(Sender: TObject) ;

procedure N4Click(Sender: TObject) ;

procedure Button2Click(Sender: TObject) ;

procedure Button4Click(Sender: TObject) ;

procedure Button5Click(Sender: TObject) ;

procedure N2Click(Sender: TObject) ;

procedure N6Click(Sender: TObject) ;

procedure N7Click(Sender: TObject) ;

procedure Button1Click(Sender: TObject) ;

procedure Button6Click(Sender: TObject) ;

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

implementation

uses Unit2, Unit3;

{$R *. dfm}

procedure TForm1. TreeView1Change(Sender: TObject; Node: TTreeNode) ;

begin

if TreeView1. Selected. Text[1] ='1' then begin

DataModule2. Table1. Close;

DBGrid1. DataSource:=DataModule2. DataSource1;

DBNavigator1. DataSource:=DataModule2. DataSource1;

DBMemo1. DataSource:=DataModule2. DataSource1;

DBImage1. DataSource:=DataModule2. DataSource1;

DataModule2. Table1. Open;

end;

if TreeView1. Selected. Text[1] ='2' then begin

DataModule2. Table2. Close;

DBGrid1. DataSource:=DataModule2. DataSource2;

DBNavigator1. DataSource:=DataModule2. DataSource2;

DBMemo1. DataSource:=DataModule2. DataSource2;

DBImage1. DataSource:=DataModule2. DataSource2;

DataModule2. Table2. Open;

end;

if TreeView1. Selected. Text[1] ='3' then begin

DataModule2. Table3. Close;

DBGrid1. DataSource:=DataModule2. DataSource3;

DBNavigator1. DataSource:=DataModule2. DataSource3;

DBMemo1. DataSource:=DataModule2. DataSource3;

DBImage1. DataSource:=DataModule2. DataSource3;

DataModule2. Table3. Open;

end;

end;

procedure TForm1. Button3Click(Sender: TObject) ;

begin

Close;

end;

procedure TForm1. N4Click(Sender: TObject) ;

begin

Close;

end;

procedure TForm1. Button2Click(Sender: TObject) ;

begin

if TreeView1. Selected. Text[1] ='1' then

DataModule2. Table1. Locate('Kod', Edit1. Text, [] ) ;

if TreeView1. Selected. Text[1] ='2' then

DataModule2. Table2. Locate('Kod', Edit1. Text, [] ) ;

if TreeView1. Selected. Text[1] ='3' then

DataModule2. Table3. Locate('Kod', Edit1. Text, [] ) ;

end;

procedure TForm1. Button4Click(Sender: TObject) ;

begin

DataModule2. Table3. Active:=false;

DataModule2. Table3. TableName:='Archiv';

DataModule2. Table3. Active:=true;

DataModule2. Table3. Append;

DataModule2. Table3. FieldValues['Kod'] :=DataModule2. Table1. FieldValues['Kod'] ;

DataModule2. Table3. FieldValues['Familia'] :=DataModule2. Table1. FieldValues['Familia'] ;

DataModule2. Table3. FieldValues['Imya'] :=DataModule2. Table1. FieldValues['Imya'] ;

DataModule2. Table3. FieldValues['Otchestvo'] :=DataModule2. Table1. FieldValues['Otchestvo'] ;

DataModule2. Table3. FieldValues['Pol'] :=DataModule2. Table1. FieldValues['Pol'] ;

DataModule2. Table3. FieldValues['Prichina'] :=InputBox('Отдел Кадров', 'Причина:', '') ;

DataModule2. Table3. FieldValues['Charact'] :=DataModule2. Table1. FieldValues['Charact'] ;

DataModule2. Table3. FieldValues['Photo'] :=DataModule2. Table1. FieldValues['Photo'] ;

DataModule2. Table1. Delete;

MessageBox(0, 'Уволен', 'Отдел Кадров', mb_ok+mb_iconinformation) ;

DataModule2. Table3. Post;

end;

procedure TForm1. Button5Click(Sender: TObject) ;

begin

DataModule2. Table2. Active:=false;

DataModule2. Table2. TableName:='D_perevoda';

DataModule2. Table2. Active:=true;

DataModule2. Table2. Append;

DataModule2. Table2. FieldValues['Kod'] :=DataModule2. Table1. FieldValues['Kod'] ;

DataModule2. Table2. FieldValues['Familia'] :=DataModule2. Table1. FieldValues['Familia'] ;

DataModule2. Table2. FieldValues['Imya'] :=DataModule2. Table1. FieldValues['Imya'] ;

DataModule2. Table2. FieldValues['Otchestvo'] :=DataModule2. Table1. FieldValues['Otchestvo'] ;

DataModule2. Table2. FieldValues['Pol'] :=DataModule2. Table1. FieldValues['Pol'] ;

DataModule2. Table2. FieldValues['1Otdel'] :=DataModule2. Table1. FieldValues['Otdel'] ;

DataModule2. Table2. FieldValues['2Otdel'] :=InputBox('Отдел Кадров', 'Новая должность:', '') ;

DataModule2. Table2. FieldValues['Charact'] :=DataModule2. Table1. FieldValues['Charact'] ;

DataModule2. Table2. FieldValues['Photo'] :=DataModule2. Table1. FieldValues['Photo'] ;

DataModule2. Table1. Delete;

MessageBox(0, 'Переведен', 'Отдел Кадров', mb_ok+mb_iconinformation) ;

DataModule2. Table2. Post;

end;

procedure TForm1. N2Click(Sender: TObject) ;

begin

if TreeView1. Selected. Text[1] ='1' then DataModule2. Table1. Delete;

if TreeView1. Selected. Text[1] ='2' then DataModule2. Table2. Delete;

if TreeView1. Selected. Text[1] ='3' then DataModule2. Table3. Delete;

end;

procedure TForm1. N6Click(Sender: TObject) ;

begin

if TreeView1. Selected. Text[1] ='1' then DataModule2. Table1. First;

if TreeView1. Selected. Text[1] ='2' then DataModule2. Table2. First;

if TreeView1. Selected. Text[1] ='3' then DataModule2. Table3. First;

end;

procedure TForm1. N7Click(Sender: TObject) ;

begin

if TreeView1. Selected. Text[1] ='1' then DataModule2. Table1. Last;

if TreeView1. Selected. Text[1] ='2' then DataModule2. Table2. Last;

if TreeView1. Selected. Text[1] ='3' then DataModule2. Table3. Last;

end;

procedure TForm1. Button1Click(Sender: TObject) ;

begin

if TreeView1. Selected. Text[1] ='1' then form3. show;

if TreeView1. Selected. Text[2] ='1' then form3. show;

if TreeView1. Selected. Text[3] ='1' then form3. show;

end;

procedure TForm1. Button6Click(Sender: TObject) ;

begin

if TreeView1. Selected. Text[1] ='1' then form3. show;

if TreeView1. Selected. Text[2] ='1' then form3. show;

if TreeView1. Selected. Text[3] ='1' then form3. show;

end;

end.

unit Unit2;

interface

uses

SysUtils, Classes, DB, DBTables;

type

TDataModule2 = class(TDataModule)

DataSource1: TDataSource;

DataSource2: TDataSource;

DataSource3: TDataSource;

Table1: TTable;

Table2: TTable;

Table3: TTable;

Table1Kod: TFloatField;

Table1Familia: TStringField;

Table1Imya: TStringField;

Table1Otchestvo: TStringField;

Table1Pol: TBooleanField;

Table1Otdel: TStringField;

Table1God_roj: TSmallintField;

Table1Charact: TMemoField;

Table1Photo: TGraphicField;

Table2Kod: TFloatField;

Table2Familia: TStringField;

Table2Imya: TStringField;

Table2Otchestvo: TStringField;

Table2Pol: TBooleanField;

: TStringField;

: TStringField;

Table2Prichina: TStringField;

Table2Charact: TMemoField;

Table2Photo: TGraphicField;

Table3Kod: TFloatField;

Table3Familia: TStringField;

Table3Imya: TStringField;

Table3Otchestvo: TStringField;

Table3Pol: TBooleanField;

Table3Prichina: TStringField;

Table3Charact: TMemoField;

Table3Photo: TGraphicField;

private

{ Private declarations }

public

{ Public declarations }

end;

var

DataModule2: TDataModule2;

implementation

{$R *. dfm}

end.

unit Unit3;

... продолжение

Вы можете абсолютно на бесплатной основе полностью просмотреть эту работу через наше приложение.
Похожие работы
ДЕЯТЕЛЬНОСТЬ ОРГАНОВ ВНУТРЕННИХ ДЕЛ
Моделирование и нормализация базы данных кадрового отдела организации
КАДРОВАЯ ПОЛИТИКА ОРГАНИЗАЦИИ
Налоговая система Китая: структура, функции и развитие налогового законодательства в Китайской Народной Республике
Управление Кадрами: Трансформация Системы и Развитие Человеческого Фактора
Стратегическое Управление Персоналом: Планирование и Развитие Кадрового Потенциала Предприятия
ТОО Сагиз Петролеум Компани
ОФИЦИАЛЬНАЯ ИНФОРМАЦИЯ ОБ АО ФОНД НАКОПИТЕЛЬНОГО ПЕНСИОННОГО ФОНДА
Делопроизводство в кадровой службе предприятия
Структура и Функционирование Системы Управления Персоналом в Организации: Компоненты, Подсистемы и Программа Кадрового Планирования
Дисциплины



Реферат Курсовая работа Дипломная работа Материал Диссертация Практика - - - 1‑10 стр. 11‑20 стр. 21‑30 стр. 31‑60 стр. 61+ стр. Основное Кол‑во стр. Доп. Поиск Ничего не найдено :( Недавно просмотренные работы Просмотренные работы не найдены Заказ Антиплагиат Просмотренные работы ru ru/