Разработка программного модуля "Кадровое агентство"
Создание информационной системы управления базой данных "Кадровое агентство". Характеристика используемой ЭВМ, ОС, языка программирования. Требования предъявляемые к ПО. Алгоритмы и тексты форм ввода. Описание, алгоритмы формирования выходных документов.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 07.01.2013 |
Размер файла | 1,1 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Оглавление
Введение
Глава 1. Общая часть
1.1 Сущность поставленной задачи
1.2 Постановка задачи
1.2.1 Первичные документы
1.2.2 Требования, предъявляемые к системе
1.2.3 Требования предъявляемые к ПО
1.3 Характеристика используемой ЭВМ, ОС и языка программирования
2. Разработка программного обеспечения
2.1 Технологический процесс машинной реализации задачи
2.2 Алгоритм задачи его описание
2.3 Описание переменных, процедур и функций
2.4 Программы и их описания
2.4.1 Меню
2.4.2 Алгоритмы и тексты форм ввода
2.4.3 Описание и алгоритмы формирования выходных документов
2.5 Результаты работы программы
2.6 Инструкция пользователю
Заключение
Список общепринятых сокращений
Список литературы
Приложения
Введение
Актуальность темы данной работы заключается в том, что в настоящее время кадровым агентствам приходиться обрабатывать большое количество информации, которую довольно сложно обработать уже имеющимися офисными пакетами. Как следствие, остро встает вопрос автоматизации работы в данной области, что в последствии повлечет высвобождение некоторого количества трудовых ресурсов.
Для выполнения поставленной цели необходимо решить следующие задачи:
1. Рассмотреть теоретические аспекты работы «кадровое агентство».
2. Определить требования к пакету.
3. Разработать интеллектуальную составную программы для характера ее ответов на запросы заказчика.
Текст работы состоит из введения, двух глав, заключения, списка общепринятых сокращений, списка литературы и приложений.
Первая глава - теоретическая, содержит в себе теоретическое содержание выбранной темы.
Вторая глава - практическая, содержит алгоритм решения задачи и его описание.
Заключение охватывает весь объем работы и подводит итоги по ней.
Глава 1. Общая часть
1.1 Сущность поставленной задачи
Сущность поставленной задачи заключается в разработке программного модуля «Кадровое агентство». Данный программный продукт после выполнения всех этапов работы должен иметь возможности по оформлению и принятию заявок от работников, желающих найти свободные вакансии, регистрацию свободных вакансий, давать возможность автоматического поиска соответствий свободных вакансий и безработных граждан, которые подали заявки.
Программа должна обладать простым и дружественным интерфейсом, понятным и легким для освоения потенциальным пользователем.
1.2 Постановка задачи
1.2.1 Первичные документы
Первичными документами по данной теме будут являться паспорт работника, данные о его профессиональных навыках и контактная информация. Со стороны работодателя первичными документами для заполнения таблиц базы данных будет являться его наименование, в случае если это юридическое лицо, либо паспортные данные в случае физического лица, телефон, адрес.
1.2.2 Требования, предъявляемые к системе
Для работы программы необходимо наличие компьютера и оператора ЭВМ, отвечающего за корректность и достоверность вводимых данных. В качестве оператора может выступать любое лицо, имеющее полномочия по принятию и обработки заявок.
1.2.3 Требования предъявляемые к ПО
Программный модуль поддерживает операционные системы Windows XP - Windows 7, Linux/Ubuntu (KDE, Unity).
1.3 Характеристика используемой ЭВМ, ОС и языка программирования
Разработка программы была осуществлена на компьютере, отвечающим стандартным требованиям. Имелась мышь, клавиатура.
Компьютер: |
|||
Тип компьютера |
ACPI компьютер на базе x86 (Mobile) |
||
Операционная система |
Microsoft Windows 7 Ultimate |
||
Пакет обновления ОС |
- |
||
Internet Explorer |
8.0.7600.16385 |
||
DirectX |
DirectX 11.0 |
||
Системная плата: |
|||
Тип ЦП |
DualCore Intel Core i5, 2000 MHz (15 x 133) |
||
Системная плата |
eMachines eME729Z |
||
Чипсет системной платы |
Intel Ibex Peak-M HM55, Intel Arrandale |
||
Системная память |
8173 Мб |
||
Тип BIOS |
Insyde (04/20/11) |
||
Коммуникационный порт |
Последовательный порт (COM1) |
||
Дисплей: |
|||
Видеоадаптер |
Intel(R) HD Graphics (781698 Кб) |
||
Видеоадаптер |
Intel(R) HD Graphics (781698 Кб) |
||
Монитор |
Универсальный монитор PnP [NoDB] |
||
Хранение данных: |
|||
Контроллер IDE |
Intel(R) 5 Series/3400 Series Chipset Family 2 port Serial ATA Storage Controller - 3B2D |
||
Контроллер IDE |
Intel(R) 5 Series/3400 Series Chipset Family 4 port Serial ATA Storage Controller - 3B28 |
||
Контроллер IDE |
Стандартный двухканальный контроллер PCI IDE |
||
Контроллер хранения данных |
APWK6ZX2 IDE Controller |
||
Дисковый накопитель |
TOSHIBA MK3259GSXP ATA Device (298 Гб, IDE) |
||
Дисковый накопитель |
Patriot Memory USB Device (980 Мб, USB) |
||
Оптический накопитель |
HL-DT-ST DVDRAM GT32N ATA Device |
||
Оптический накопитель |
IHGLUZM MF8XQV0TQR SCSI CdRom Device |
||
Статус SMART жёстких дисков |
OK |
||
Разделы: |
|||
C: (NTFS) |
310604 Мб (29122 Мб свободно) |
||
D: (NTFS) |
99 Мб (71 Мб свободно) |
||
Общий объём |
310703 Мб(221.7 Гб свободно) |
||
Ввод: |
|||
Клавиатура |
Стандартная клавиатура PS/2 |
||
Мышь |
HID-совместимая мышь |
При разработке использовалась Windows 7 Ultimate. Программа реализована в среде разработки Lazarus.
2. Разработка программного обеспечения
кадровый агентство документ алгоритм
2.1 Технологический процесс машинной реализации задачи
Блок-схема заполнение анкеты работника.
Размещено на http://www.allbest.ru/
Рисунок 1- Процесс машинной реализации
2.2 Алгоритм задачи его описание
Работа с программой начинается с открытия и заполнения базы работников и работодателей, сделать это можно либо в режиме таблицы, либо в режиме не менее удобной формы. С помощью вкладок меня на основной форме можно перейти на формы необходимых запросов, где найти необходимую информацию и на её основе сформировать отчет. При желании отчеты можно сохранить и распечатать На основной форме также возможно применить функцию поиска соответствий данных работника и работодателя.
Разработка происходила в следующем порядке:
1. Разработка концептуальной модели.
2. На основании составленной концептуальной модели была составлена логическая.
Код работодателяНаименованиеАдресТелефонКод специальности |
Работники |
|
Код работникаФИОТелефонКод специальности |
Специальности |
|
Код специальностиНаименованиеОклад |
3. После формирования логической модели была сформирована физическая модель:
Rab.dbf
id_r |
ftString |
10 |
|
fio |
ftString |
250 |
|
tel |
ftString |
10 |
|
kod_c |
ftString |
10 |
Cpec.dbf
kod_c |
ftString |
10 |
|
naim |
ftString |
250 |
|
oklad |
ftInteger |
d_rabot.dbf
id_ra |
ftString |
10 |
|
naimen |
ftString |
250 |
|
adres |
ftString |
250 |
|
tel |
ftString |
10 |
|
kod_c |
ftString |
30 |
2.3 Описание переменных, процедур и функций
При разработке программы были использованы стандартные компоненты и процедуры:
Таблица компонентов
Имя |
Форма |
Класс |
|
DBGrid |
Редактор таблиц, Меню, Запрос работника, Запрос вакансии |
TDBGrid |
|
Button |
Все |
TButton |
|
MainMenu |
Меню |
TMainMenu |
|
d |
Все |
TDatasource |
|
t |
Все |
TDbf |
|
ComboBox |
Редактор таблиц |
TComboBox |
|
DBEdit |
Все |
TDBEdit |
|
Label |
Все |
TLabel |
|
Memo |
Запрос работника |
TMemo |
|
DBText1 |
Запрос работника |
TDBText |
|
SaveDialog |
Запрос работника |
TSaveDialog |
Таблица переменных
Имя |
Тип |
|
x |
string |
|
c |
string |
|
v |
string |
|
b |
string |
|
n |
string |
|
m |
string |
|
y |
string |
|
w |
string |
|
u |
string |
|
z |
string |
Таблица функций и процедур
Имя |
Форма |
Назначение |
|
t_close() |
Редактор таблиц |
Закрытие таблиц |
2.4 Программы и их описания
2.4.1 Меню
При разработке было использовано стандартное «Windows-меню».
Для его создания использовался компонент класса «TMainMenu».
Описание работы меню: Пользователь выбирает нужный элемент, определяя его по указанному наименованию. Щелчком мыши производится выбор пункта меню, затем выбор подменю, при надобности. После подтверждения выбора производится выполнение действия, либо закрытие меню.
Алгоритм работы меню:
Рисунок 3- Алгоритм программы меню
2.4.2 Алгоритмы и тексты форм ввода
Формы ввода представляют собой обыкновенные компоненты класса TForm.
Рисунок 4- Форма ввода данных в таблицу «Работники». Вид из Lazarus
Рисунок 5- Форма ввода данных в таблицу «Вакансии». Вид из Lazarus
Рисунок 6- Форма ввода данных в таблицу «Специальности». Вид из Lazarus
Рисунок 7- Форма «СуБД». Вид из Lazarus.
Алгоритм работы форм ввода и СуБД:
Рисунок 8- Алгоритм работы форм ввода
2.4.3 Описание и алгоритмы формирования выходных документов
При формировании выходных документов используется компонент SaveDialog. Который позволяет сохранить данные в постом формате txt. Для формирования тела txt документа используется обычное memo поле с названием «code».
Формы ведомостей и отчетов
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
Алгоритм формирования выходного документа:
Рисунок 11- Алгоритм формирования выходного документа
2.5 Результаты работы программы
Результаты работы программы предоставлены на скриншотах ниже. В них отображена работа форм ввода первоначальных данных и формирование ведомостей.
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
2.6 Инструкция пользователю
Ввод исходных данных осуществляется с клавиатуры по запросу программы. Данные необходимо вводить, не придерживаясь строгого формата. Некорректно введенные данные программа корректирует самостоятельно.
Однако нужно внимательно проверять данные перед сохранением. Завершение ввода данных не подтверждается нажатием на «Enter», а нажатием мышью на кнопку «Сохранить», «Добавить» и так далее. Данные вводятся на русском языке, либо на «транслите» - вводе русских слов английскими символами.
Запуск программы осуществляется запуском главного и единственного файла программы «kassa.exe». При этом главная форма предлагает на выбор различные средства для обработки данных.
Установка для программы не требуется, вся нужная информация хранится в папке «data/» в корне папки с программой.
Заключение
В данной курсовой работе были рассмотрены теоретические аспекты разработки программного модуля «Кадровое агенсво» а так же значимость темы работы и этапы разработки. После всех этапов работы был получен готовый программный продукт, позволяющий вести учет анкет и вакансий, их обработку, формирование документов по запросу пользователя программы. Была разработана система управления базой данных а так же обработчики данных и формы, предоставляющие визуальный доступ к подпрограммам для удобства и автоматизации процессов, обычно выполняемыми пользователями вручную.
Были исследованы условия работы программы и написано техническое задание, описаны алгоритмы работы и раскрыты возможности системы в виде блок-схем, отображающих работу программных компонентов в подробном и понятном виде.
Тестовый запуск программы и рассмотрение ее работы на основе контрольного примера подтвердили работоспособность программы; тестирование и отладка позволили выявить и устранить все возможные недостатки и привести программу к конечному для использования виду.
Таким образом, можно сделать вывод, что работа в данном направлении позволяет автоматизировать систему работы с информацией кадрового агенства, сократить время обработки, формирования отчетов и застраховать человека от некоторых возможных ошибок.
Список общепринятых сокращений
ПП - программный продукт.
ПО - программное обеспечение.
HTML - язык гипертекстовой разметки документов.
СуБД - система управления баз данных.
Список литературы
1. Л.Г.Гагарина, Е.В. Кокорева, Б.Д. Виснадул Технология разработки программного обеспечения, учебное пособие -М.; "ФОРУМ": ИНФРА-М, 2008.- 400 с.
Приложения
Приложение 1
1. Работа выполняется в рамках проекта разработки программного модуля «Кадровое агенство»
2. Основание для разработки
2.1 Основанием для данной работы является учебный план «Теория разработки программных продуктов»
2.2 Наименование работы
«Разработка программного модуля кадровое агенство»
2.3 Исполнитель: Феданюк Илья Андреевич
2.4 Соисполнители: Нет
3. Назначение разработки
Создание программного модуля для кадрового агентства.
4. Технические требования
4.1 Требования к функциональным характеристикам
Разрабатываемое ПО должно обеспечивать:
· Регистрация анкет пользователя
· Регистрация вакансий работодателей:
· Поиск соответствий
4.1.2 Организация входных и выходных данных
Исходные данные поступают в систему в виде анкет от пользователей и свободных вакансий от работодателей. После происходит нахождение соответствий.
4.2 Требования к надёжности
Для обеспечения надёжности необходимо использовать контроль вводимых данных.
4.3 Условия эксплуатации и требования к составу и параметрам технических средств.
Для работы системы необходимо вмешательство ответственного оператора. Требования к составу и параметрам технических средств уточняются на этапе эскизного проектирования системы.
4.4 Требование к информационной и программной совместимости. Программа должна работать на платформах Windows xp/vista/7/8
4.5 Требования к транспортировке и хранению.
4.6. Специальные требования
· Высокая функциональность
5. Требования к программной документации
Основными документами, регламентирующими разработку будущих программ, должны быть документы Единой Системы Программной Документации (ЕСПД): руководство пользователя, руководство администратора, описание применения.
6. Технико-экономические показатели
Эффективность системы определяется удобством использования системы для поиска необходимых соответствий.
7. После передачи Исполнителем отдельного функционального модуля программы Заказчику последний имеет право тестировать модуль в течении 7 дней. После тестирования Заказчик должен принять работу по данному этапу или в письменном виде изложить причину отказа принятия. В случае обоснованного отказа Исполнитель обязуется доработать модуль.
8. Календарный план работ
№ этапа |
Название этапа |
Сроки этапа |
Чем заканчивается этап |
|
1 |
Изучение предметной области |
01.09.2012 01.10.2012 |
Предложение по работе системы. Акт сдачи-приемки |
|
2 |
Разработка программного модуля |
01.10.2012 30.11.2012 |
Программный комплекс |
|
3 |
Тестирование и отладка |
01.12.2012 30.12.2012 |
Готовая программа |
Руководитель работ Пегусов А.Ю.
Приложение 2
Эскизный проект
Ведомость эскизного проекта
Документы по разработанному продукту:
Техническое задание на создание информационной системы СуБД «Кадровое агенство».
Пояснительная записка к эскизному проекту.
Общие положения:
Данный документ является эскизным проектом на создание Системы Управления Базой Данных для ВУЗа (СуБД «кадровое агенство»).
Основные технические решения:
Решения по структуре системы СуБД «Кадровое агенство» будет представлять собой персональную систему управления локальной базой данных, работающей на одном компьютере.
Система будет управлять реляционной базой данных, представляющей собой набор связанных между собой таблиц в формате FoxPro (Visual *.DBF), доступ к которым осуществляется с помощью ключей или/и индексов. Сведения в одной таблице могут отражать сведения из другой, и при изменении сведений в первой таблице эти изменения немедленно отображаются во второй.
Таким образом будет достигнута непротиворечивость данных. Таблицы распределены на типы «Справочники» и «Динамические данные».
Общая структура базы данных:
Хранение информации о работниках и вакансиях осуществляется с сохранением целостности данных при изменении или удалении записей таблицы.
Указанные решения должны удовлетворять требованиям, приведенным в техническом задании на разработку системы.
Состав функций комплексов задач, реализуемых системой:
Автоматизированная система должна выполнять следующие функции:
* Обеспечивать целостное хранение данных в базе;
*Выводить корректные данные в случае поиска;
* Формировать необходимые отчеты;
Решения по составу программных средств, языкам деятельности, алгоритмам процедур и операций и методам их реализации.
Для реализации АС будет использоваться среда программирования Lazarus и язык программирования FreePascal.
Источники разработки:
Данный документ разрабатывался на основании ГОСТ 34.698--90 на написание ТЗ на автоматизированные системы управления от 01.01.1992 г.
Приложение 3
SADT и DFD модели
SADT модель
Рисунок 19- SADT модель
DFD модель
Рисунок 20- DFD модель
Приложение 4
Тексты программ
Form1 (Редактор таблиц)
unit Unit1;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, DB, dbf, FileUtil, Forms, Controls, Graphics, Dialogs,
Menus, DBGrids, StdCtrls, DbCtrls;
type
{ TForm1 }
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
list_t: TComboBox;
d: TDatasource;
t: TDbf;
DBGrid1: TDBGrid;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure list_tChange(Sender: TObject);
procedure MenuItem2Click(Sender: TObject);
procedure MenuItem3Click(Sender: TObject);
procedure MenuItem4Click(Sender: TObject);
procedure MenuItem6Click(Sender: TObject);
private
{ private declarations }
public
{ public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.lfm}
uses Unit2;
{ TForm1 }
procedure t_close();
begin
if (Form1.t.State = dsEdit) then Form1.t.Post;
Form1.t.Close;
end;
procedure TForm1.MenuItem2Click(Sender: TObject);
begin
t_close();
t.TableName:=list_t.Text;
t.Open;
end;
procedure TForm1.MenuItem3Click(Sender: TObject);
begin
t_close();
end;
procedure TForm1.MenuItem4Click(Sender: TObject);
begin
t.TableName := 'rab.dbf';
t.FieldDefs.Add('id_r', ftString, 10);
t.FieldDefs.Add('fio', ftString, 250);
t.FieldDefs.Add('tel', ftString, 10);
t.FieldDefs.Add('kod_c', ftString, 10);
t.CreateTable;
t.FieldDefs.Clear;
t.TableName := 'cpec.dbf';
t.FieldDefs.Add('kod_c', ftString, 10);
t.FieldDefs.Add('naim', ftString, 250);
t.FieldDefs.Add('oklad', ftInteger);
t.CreateTable;
t.FieldDefs.Clear;
t.TableName := 'd_rabot.dbf';
t.FieldDefs.Add('id_ra', ftString, 10);
t.FieldDefs.Add('naimen', ftString, 250);
t.FieldDefs.Add('adres', ftString, 250);
t.FieldDefs.Add('tel', ftString, 10);
t.FieldDefs.Add('kod_c', ftString, 30);
t.CreateTable;
t.FieldDefs.Clear;
end;
procedure TForm1.MenuItem6Click(Sender: TObject);
begin
form2.ShowModal;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
end;
procedure TForm1.FormShow(Sender: TObject);
begin
end;
procedure TForm1.list_tChange(Sender: TObject);
begin
t_close();
t.TableName:=list_t.Text;
t.Open;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
t_close();
form1.close;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
t.Delete;
end;
end.
Form2 (Анкета)
unit Unit2;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, dbf, db, FileUtil, Forms, Controls, Graphics, Dialogs,
DbCtrls, StdCtrls, Calendar;
type
{ TForm2 }
TForm2 = class(TForm)
Button1: TButton;
Button2: TButton;
Button3: TButton;
Button4: TButton;
now_kod: TDBEdit;
kod_c: TDBEdit;
DBText1: TDBText;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
dd: TDatasource;
kod_sotr: TDBEdit;
DBEdit2: TDBEdit;
DBEdit3: TDBEdit;
tt: TDbf;
d: TDatasource;
t: TDbf;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure kod_cChange(Sender: TObject);
procedure kod_sotrChange(Sender: TObject);
procedure now_kodChange(Sender: TObject);
procedure FormClose(Sender: TObject; var CloseAction: TCloseAction);
procedure FormCreate(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure Label1Click(Sender: TObject);
private
{ private declarations }
public
{ public declarations }
end;
var
Form2: TForm2;
implementation
{$R *.lfm}
{ TForm2 }
procedure TForm2.FormCreate(Sender: TObject);
begin
end;
procedure TForm2.Button1Click(Sender: TObject);
begin
tt.Prior;
end;
procedure TForm2.Button2Click(Sender: TObject);
begin
tt.next;
end;
procedure TForm2.Button3Click(Sender: TObject);
begin
t.append;
end;
procedure TForm2.Button4Click(Sender: TObject);
begin
t.delete;
t.close;
tt.close;
Form2.close;
end;
procedure TForm2.kod_cChange(Sender: TObject);
begin
end;
procedure TForm2.kod_sotrChange(Sender: TObject);
begin
end;
procedure TForm2.now_kodChange(Sender: TObject);
begin
kod_c.text:=now_kod.text;
end;
procedure TForm2.FormClose(Sender: TObject; var CloseAction: TCloseAction);
begin
if(t.State=dsEdit) then
t.post;
t.close;
tt.close;
end;
procedure TForm2.FormShow(Sender: TObject);
var x:string;
begin
t.open;
tt.open;
t.First;
while not(t.EOF) do begin
if (kod_sotr.Text <> '') then
x := IntToStr(StrToInt(kod_sotr.Text)+1);
t.Next;
end;
//ShowMessage(x);
t.Append;
t.Edit;
kod_sotr.Text:=x;
end;
procedure TForm2.Label1Click(Sender: TObject);
begin
end;
end.
Form3 (Меню)
unit Unit3;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, dbf, db, FileUtil, Forms, Controls, Graphics, Dialogs,
Menus, DBGrids, StdCtrls;
type
{ TForm3 }
TForm3 = class(TForm)
Button1: TButton;
temp: TDatasource;
temp1: TDbf;
rab: TDatasource;
rabi: TDatasource;
cpec: TDatasource;
rab1: TDbf;
rabi1: TDbf;
cpec1: TDbf;
DBGrid1: TDBGrid;
MainMenu1: TMainMenu;
MenuItem1: TMenuItem;
MenuItem2: TMenuItem;
MenuItem3: TMenuItem;
MenuItem4: TMenuItem;
MenuItem5: TMenuItem;
MenuItem6: TMenuItem;
MenuItem7: TMenuItem;
MenuItem8: TMenuItem;
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure MenuItem1Click(Sender: TObject);
procedure MenuItem2Click(Sender: TObject);
procedure MenuItem3Click(Sender: TObject);
procedure MenuItem4Click(Sender: TObject);
procedure MenuItem5Click(Sender: TObject);
procedure MenuItem6Click(Sender: TObject);
procedure MenuItem7Click(Sender: TObject);
procedure MenuItem8Click(Sender: TObject);
private
{ private declarations }
public
{ public declarations }
end;
var
Form3: TForm3;
implementation
{$R *.lfm}
uses unit1, unit2, unit4, unit5, unit6, Unit7;
{ TForm3 }
procedure TForm3.MenuItem1Click(Sender: TObject);
begin
end;
procedure TForm3.FormShow(Sender: TObject);
begin
rab1.Open;
cpec1.Open;
rabi1.open;
temp1.TableName := 'temp.dbf';
temp1.FieldDefs.Add('fio', ftString, 250);
temp1.FieldDefs.Add('tel', ftString, 10);
temp1.FieldDefs.Add('s', ftString, 10);
temp1.FieldDefs.Add('naimen', ftString, 250);
temp1.FieldDefs.Add('adres', ftString, 250);
temp1.FieldDefs.Add('tel1', ftString, 10);
temp1.FieldDefs.Add('naim', ftString, 250);
temp1.CreateTable;
temp1.FieldDefs.Clear;
temp1.Open;
end;
procedure TForm3.FormCreate(Sender: TObject);
begin
end;
procedure TForm3.Button1Click(Sender: TObject);
begin
end;
procedure TForm3.MenuItem2Click(Sender: TObject);
begin
form2.ShowModal;
end;
procedure TForm3.MenuItem3Click(Sender: TObject);
begin
form4.ShowModal;
end;
procedure TForm3.MenuItem4Click(Sender: TObject);
begin
form5.ShowModal;
end;
procedure TForm3.MenuItem5Click(Sender: TObject);
begin
form7.ShowModal;
end;
procedure TForm3.MenuItem6Click(Sender: TObject);
begin
form6.ShowModal;
end;
procedure TForm3.MenuItem7Click(Sender: TObject);
begin
form1.showmodal;
end;
procedure TForm3.MenuItem8Click(Sender: TObject);
var x,c,v,b,n,m,z:string;
begin
dbgrid1.Visible:=true;
button1.Visible:=true;
cpec1.First;
rab1.First;
rabi1.First;
while not(rab1.eof) do
begin
while not(rabi1.eof) do
begin
if((rab1.FieldByName('kod_c').AsString=rabi1.FieldByName('kod_c').AsString))
then
begin
x:= rab1.FieldByName('fio').AsString;
c:= rab1.FieldByName('tel').AsString;
v:= '-->';
b:= rabi1.FieldByName('naimen').AsString;
n:= rabi1.FieldByName('adres').AsString;
m:= rabi1.FieldByName('tel').AsString;
z:= cpec1.FieldByName('naim').AsString;
temp1.Append;
temp1.FieldByName('fio').AsString:=x;
temp1.FieldByName('tel').AsString:=c;
temp1.FieldByName('s').AsString:=v;
temp1.FieldByName('naimen').AsString:=b;
temp1.FieldByName('adres').AsString:=n;
temp1.FieldByName('tel1').AsString:=m;
temp1.FieldByName('naim').AsString:=z;
end ;
rabi1.next;
end;
rab1.next;
end;
cpec1.close;
rab1.close;
rabi1.close;
end;
end.
Form4 (Ввод специальности)
unit Unit4;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, dbf, db, FileUtil, Forms, Controls, Graphics, Dialogs,
DbCtrls, StdCtrls;
type
{ TForm4 }
TForm4 = class(TForm)
Button1: TButton;
Button2: TButton;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
d: TDatasource;
kod_c: TDBEdit;
naim: TDBEdit;
oklad: TDBEdit;
t: TDbf;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure naimChange(Sender: TObject);
procedure okladChange(Sender: TObject);
private
{ private declarations }
public
{ public declarations }
end;
var
Form4: TForm4;
implementation
{$R *.lfm}
{ TForm4 }
procedure TForm4.FormShow(Sender: TObject);
var x:string;
begin
t.open;
//d2.open;
t.First;
while not(t.EOF) do begin
if (kod_c.Text <> '') then
x := IntToStr(StrToInt(kod_c.Text)+1);
t.Next;
end;
//ShowMessage(x);
t.Append;
t.Edit;
kod_c.Text:=x;
end;
procedure TForm4.naimChange(Sender: TObject);
begin
end;
procedure TForm4.okladChange(Sender: TObject);
begin
// oklad:=StrToInt(oklad.text);
end;
procedure TForm4.Button1Click(Sender: TObject);
begin
t.append;
end;
procedure TForm4.Button2Click(Sender: TObject);
begin
t.delete;
t.close;
Form4.close;
end;
end.
Form5 (Ввод вакансии)
unit Unit5;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, dbf, db, FileUtil, Forms, Controls, Graphics, Dialogs,
DbCtrls, StdCtrls;
type
{ TForm5 }
TForm5 = class(TForm)
Button1: TButton;
Button2: TButton;
Button3: TButton;
Button4: TButton;
dd: TDatasource;
DBEdit5: TDBEdit;
tt: TDbf;
DBText1: TDBText;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
d: TDatasource;
DBEdit1: TDBEdit;
DBEdit2: TDBEdit;
DBEdit3: TDBEdit;
DBEdit4: TDBEdit;
t: TDbf;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure DBText1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FormShow(Sender: TObject);
private
{ private declarations }
public
{ public declarations }
end;
var
Form5: TForm5;
implementation
{$R *.lfm}
{ TForm5 }
procedure TForm5.FormCreate(Sender: TObject);
begin
end;
procedure TForm5.FormShow(Sender: TObject);
begin
t.Open;
tt.Open;
end;
procedure TForm5.Button1Click(Sender: TObject);
begin
t.Append;
end;
procedure TForm5.Button2Click(Sender: TObject);
begin
t.delete;
t.close;
Form5.close;
end;
procedure TForm5.Button3Click(Sender: TObject);
begin
tt.Prior;
end;
procedure TForm5.Button4Click(Sender: TObject);
begin
tt.next;
end;
procedure TForm5.DBText1Click(Sender: TObject);
begin
end;
end.
Form6 (Запрос работника)
unit Unit6;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, dbf, db, FileUtil, Forms, Controls, Graphics, Dialogs,
DbCtrls, StdCtrls, DBGrids;
type
{ TForm6 }
TForm6 = class(TForm)
Button1: TButton;
Button2: TButton;
Button3: TButton;
Button4: TButton;
Button5: TButton;
Button6: TButton;
dd: TDatasource;
fio: TDBEdit;
Label2: TLabel;
Label3: TLabel;
code: TMemo;
SaveDialog1: TSaveDialog;
tel: TDBEdit;
naim: TDBEdit;
DBGrid1: TDBGrid;
temp1: TDatasource;
temp: TDbf;
DBText1: TDBText;
d: TDatasource;
Label1: TLabel;
now_k: TDBEdit;
t: TDbf;
tt: TDbf;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure Button6Click(Sender: TObject);
procedure DBText1Click(Sender: TObject);
procedure FormClose(Sender: TObject; var CloseAction: TCloseAction);
procedure FormShow(Sender: TObject);
procedure Label1Click(Sender: TObject);
procedure now_kChange(Sender: TObject);
private
{ private declarations }
public
{ public declarations }
end;
var
Form6: TForm6;
implementation
{$R *.lfm}
{ TForm6 }
procedure TForm6.Button1Click(Sender: TObject);
begin
t.Prior;
end;
procedure TForm6.Button2Click(Sender: TObject);
begin
t.next;
end;
procedure TForm6.Button3Click(Sender: TObject);
var x,y,z,w: string;
begin
//while not(tt.eof) do begin
//if(now_k.Text = t.FieldByName('kod_c').AsString) then
//begin
//temp.Append; temp.Edit;
//fio.text:=tt.FieldByName('fio').AsString;
//tel.text:=tt.FieldByName('tel').AsString;
//naim.text:=t.FieldByName('naim').AsString;
//end;
//tt.Next;
// end;
x:=now_k.text;
tt.First;
temp.open;
temp.First;
while not(tt.eof) do begin
if(x=tt.FieldByName('kod_c').AsString) then begin
z:= tt.FieldByName('fio').AsString;
y:= t.FieldByName('naim').AsString;
w:= tt.FieldByName('tel').AsString;
Label2.caption:=z;
Label3.caption:=y;
//tt.FieldDefs.;
temp.Append;
temp.FieldByName('fio').AsString:=z;
temp.FieldByName('tel').AsString:=w;
temp.FieldByName('naim').AsString:=y;
end;
tt.Next;
end;
Button5.Visible:=true;
end;
procedure TForm6.Button4Click(Sender: TObject);
begin
tt.close;
t.close;
Form6.close;
temp.close;
end;
procedure TForm6.Button5Click(Sender: TObject);
var s:string;
begin
Button6.Visible:=true;
code.Visible:=true ;
if(savedialog1.Execute) then begin
temp.First;
code.Lines.Add( ' Список работников ');
code.Lines.Add( ' ФИО '+' Телефон '+' Специальность ' );
while not(temp.EOF) do begin
code.Lines.Add(
temp.FieldByName('fio').AsString+' '+
temp.FieldByName('tel').AsString+' '+
temp.FieldByName('naim').AsString+' '
);
temp.Next;
end;
code.Lines.SaveToFile(UTF8ToSys(SaveDialog1.FileName+'.txt'));
end;
end;
procedure TForm6.Button6Click(Sender: TObject);
begin
code.Visible:=false ;
Button6.Visible:=false;
end;
procedure TForm6.DBText1Click(Sender: TObject);
begin
end;
procedure TForm6.FormClose(Sender: TObject; var CloseAction: TCloseAction);
begin
temp.Close;
t.Close;
tt.Close;
end;
procedure TForm6.FormShow(Sender: TObject);
begin
temp.TableName := 'temp2.dbf';
temp.FieldDefs.Add('fio', ftString, 250);
temp.FieldDefs.Add('tel', ftString, 10);
temp.FieldDefs.Add('naim', ftString, 250);
temp.CreateTable;
temp.FieldDefs.Clear;
temp.Open;
t.open;
tt.open;
end;
procedure TForm6.Label1Click(Sender: TObject);
begin
end;
procedure TForm6.now_kChange(Sender: TObject);
begin
end;
end.
Form7 (Запрос вакансии)
unit Unit7;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, dbf, db, FileUtil, Forms, Controls, Graphics, Dialogs,
DbCtrls, StdCtrls, DBGrids, ExtCtrls;
type
{ TForm7 }
TForm7 = class(TForm)
Button1: TButton;
Button2: TButton;
Button3: TButton;
Button4: TButton;
d: TDatasource;
temp1: TDatasource;
temp: TDbf;
dd: TDatasource;
now_k: TDBEdit;
tt: TDbf;
DBGrid1: TDBGrid;
DBText1: TDBText;
Label1: TLabel;
t: TDbf;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure FormShow(Sender: TObject);
private
{ private declarations }
public
{ public declarations }
end;
var
Form7: TForm7;
implementation
{$R *.lfm}
{ TForm7 }
procedure TForm7.Button1Click(Sender: TObject);
begin
t.Prior;
end;
procedure TForm7.Button2Click(Sender: TObject);
begin
t.next;
end;
procedure TForm7.Button3Click(Sender: TObject);
var x,z,y,w,u:string;
begin
x:=now_k.text;
tt.First;
temp.open;
temp.First;
while not(tt.eof) do begin
if(x=tt.FieldByName('kod_c').AsString) then begin
z:= tt.FieldByName('naimen').AsString;
w:= tt.FieldByName('tel').AsString;
u:= tt.FieldByName('adres').AsString;
y:= t.FieldByName('naim').AsString;
temp.Append;
temp.FieldByName('naimen').AsString:=z;
temp.FieldByName('tel').AsString:=w;
temp.FieldByName('adres').AsString:=u;
temp.FieldByName('naim').AsString:=y;
end;
tt.Next;
end;
end;
procedure TForm7.Button4Click(Sender: TObject);
begin
form7.close;
tt.close;
t.close;
temp.close;
end;
procedure TForm7.FormShow(Sender: TObject);
begin
temp.TableName := 'temp.dbf';
temp.FieldDefs.Add('naimen', ftString, 250);
temp.FieldDefs.Add('tel', ftString, 10);
temp.FieldDefs.Add('adres', ftString, 250);
temp.FieldDefs.Add('naim', ftString, 250);
temp.CreateTable;
temp.FieldDefs.Clear;
temp.Open;
tt.open;
t.open;
end;
end.
Исполняемый код.
program project1;
{$mode objfpc}{$H+}
uses
{$IFDEF UNIX}{$IFDEF UseCThreads}
cthreads,
{$ENDIF}{$ENDIF}
Interfaces, // this includes the LCL widgetset
Forms, Unit1, dbflaz, Unit2, Unit3, Unit4, Unit5, Unit6, Unit7;
{$R *.res}
begin
Application.Initialize;
Application.CreateForm(TForm3, Form3);
Application.CreateForm(TForm1, Form1);
Application.CreateForm(TForm2, Form2);
Application.CreateForm(TForm4, Form4);
Application.CreateForm(TForm5, Form5);
Application.CreateForm(TForm6, Form6);
Application.CreateForm(TForm7, Form7);
Application.Run;
end.
Размещено на Allbest.ru
Подобные документы
Разработка информационной системы "Кадровое агентство выпускников" для автоматизации процесса подбора специалистов по заявкам организаций. Требования к системе, программное обеспечение. Описание процесса деятельности. Проектирование базы данных.
дипломная работа [3,4 M], добавлен 27.11.2009Анализ используемой системы обработки информации на предприятии, ее структура и анализ эффективности функционирования. Содержание и принципы организации входной и выходной информации. Аппаратные и программные средства обеспечения, описание интерфейса.
дипломная работа [1,1 M], добавлен 24.08.2016Разработка программного обеспечения для регистрации удержаний из заработной платы. Характеристика используемой операционной системы и языка программирования. Написание алгоритма и текста программы меню, ввода данных и формирования выходных документов.
курсовая работа [2,1 M], добавлен 20.11.2012Даталогическая и инфологическая модели системы управления базой данных футбольного клуба. Обоснование выбора даталогической модели данных. Разработка структуры и системы управления базой данных. Выбор системы программирования, создание форм ввода.
курсовая работа [406,0 K], добавлен 24.12.2014Моделирование предметной области. Состав программного модуля. Разработка логической структуры единой базы данных банковской информационной системы "БИС". Создание экранных форм для ввода и корректировки информации. Разработка интерфейса пользователя.
курсовая работа [1,8 M], добавлен 17.05.2016Разработка информационной системы административного управления. Выбор языка и среды программирования. Структура взаимодействия информации. Требования к программно-аппаратному окружению. Создание программы в Delphi и связывание ее с базой данных.
курсовая работа [1010,9 K], добавлен 08.10.2015Проектирование программного модуля: сбор исходных материалов; описание входных и выходных данных; выбор программного обеспечения. Описание типов данных и реализация интерфейса программы. Тестирование программного модуля и разработка справочной системы.
курсовая работа [81,7 K], добавлен 18.08.2014Разработка автоматизированной системы "Кадровое агентство" с целью оформления и принятия заявок от работников, желающих найти свободные вакансии, регистрации свободных вакансий. Автоматический поиск соответствий свободных вакансий и безработных граждан.
курсовая работа [1,5 M], добавлен 05.07.2014Разработка программного модуля "органайзер", позволяющего вести телефонную книгу, книгу записей, а так же работать с фильтрами и отчетами по данным. Характеристика используемой ЭВМ, ОС и языка программирования. Описание переменных, процедур и функций.
курсовая работа [1,5 M], добавлен 25.12.2012Разработка базы данных на основе СУБД Microsoft Access, позволяющая автоматизировать работу кадрового агентства. Предметная область, основанная на реальной информации по кадровому агентству. Модель информационной системы, реализованная в ER-win.
курсовая работа [3,1 M], добавлен 15.12.2011