Автор: Пользователь скрыл имя, 15 Марта 2011 в 09:17, курсовая работа
Цель курсовой работы состоит в организации и обработке информации по анализу потребностей и предложений на рынке трудовых ресурсов. А также анализа нынешней ситуации и выяснения тенденцию к росту или снижения количества безработных.
ВВЕДЕНИЕ 3
1 НАЗНАЧЕНИЕ РАЗРАБАТЫВАЕМОЙ СИСТЕМЫ 4
2 ОПИСАНИЕ СРЕДСТВ РЕАЛИЗАЦИИ ПРИЛОЖЕНИЯ 6
2.1 Базы данных 6
2.1.1 Понятие базы данных 6
2.1.2 Сетевые базы данных 7
2.1.3 Реляционные базы данных 8
2.2 Язык SQL 9
2.3 Обзор Borland Delphi 11
3 ОПИСАНИЕ СТРУКТУРЫ РАЗРАБОТАННОЙ БАЗЫ ДАННЫХ 15
3.1 Состав таблиц базы данных 15
3.2 Структура таблиц базы данных 16
4 СХЕМА ДИАЛОГА ПОЛЬЗОВАТЕЛЯ С СИСТЕМОЙ 18
4.1 Главное окно и меню системы 18
4.2 Справочники 18
4.3 Оценка 20
4.4 Группировка 21
4.5 Трудоустройство 23
ЗАКЛЮЧЕНИЕ 24
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 25
ПРИЛОЖЕНИЕ 26
procedure Button1Click(Sender: TObject); //Функция выполняющая после клика по кнопке
procedure FormClose(Sender: TObject; var Action: TCloseAction); //Функция выполняющая после закрытия формы
procedure FormCreate(Sender: TObject); //Функция выполняющая после создания формы
private
{ Private declarations }
public
procedure Podschet(); //Процедура нахождения минимального и максимального года и подсчета разницы между этими годами
function YearP(n:integer):string; //Функция возвращающая строку в зависимости от переменной n
{ Public declarations }
end;
var
k,max,min,kol:integer;
FormPrognos: TFormPrognos;
implementation
uses UnitProbnik2, UDataModule, UMain;
{$R *.dfm}
function YearP(n:integer):string;
begin
if ((n>1) and (n<5)) or ((n mod 10>1) and (n mod 10 < 5)) then YearP:='года'
else if (n mod 10=1) or (n=1) then YearP:='год'
else YearP:='лет';
if (n>9) and (n<21) then YearP:='лет';
end;
procedure
TFormPrognos.Podschet();//Ране
end;
procedure TFormPrognos.FormCreate(
begin
memo1.Clear; //Очистка поля записей при создании формы
end;
procedure TFormPrognos.Button1Click(
var w:integer;
n:real;
begin
memo1.Clear; //Очистка поля записи
Podschet(); //Выполнение функции подсчета
w:=StrToInt(Edit1.Text); //Занесение в переменную значения заданное пользователем в поле Edit
n:=int((k*100/kol)/(max-min)*
memo1.Lines.Add('По данным таблицы:'); //Добавление записи в поле
if (k=0) or (n=0) then memo1.Lines.Add('В ближайщее время уровень безработицы не измениться'); //Добавление в поле для записи результатов расчета
if (k<0) then
memo1.Lines.Add('Через ' + IntToStr(w) + ' ' + YearP(w) + ' безработица уменьшится на ' + FloatToStr(n) + '%'); //Добавление в поле для записи результатов расчета
if (k>0) then
memo1.Lines.Add('Через ' + IntToStr(w) + ' ' + YearP(w) + ' безработица увеличится на ' + FloatToStr(n) + '%'); //Добавление в поле для записи результатов расчета
end;
procedure TFormPrognos.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
FMain.Visible:=True; //При закрытии формы «Прогноз темпов безработицы» видимость главной формы включается
end;
end.
unit
UnitSearch, предназначен для поиска наиболее
подходящей специальности для безработного
из списка вакансий.
Основные функции и процедуры:
procedure TFormSearch.FormActivate(
begin
Query.Close;
Query.SQL.Clear;
Query.SQL.Add('SELECT unemployed.ID, unemployed.name FROM unemployed');
Query.SQL.Add('Order By unemployed.name'); //Добавление в компонетну запроса выбора кода и имени безработного
Query.Open;
ComboBox1.Clear; //Очищение компоненты выпадающего списка
while not Query.Eof do //Выполнениц цикла пока компонента запросов не дойдёт до конца
begin
ComboBox1.Items.AddObject(
Query.Next;
end;
memo1.Text:='';memo2.Text:='';
Query.Active:=False;
Query.SQL.Clear;
end;
procedure TFormSearch.Button1Click(
begin
Query.Close;
Query.SQL.Clear;
Query.SQL.Add('Select Enterprice.Name as en, List.Zarabotok as zar,List.rabochi_den as den,List.Otpusk as ot,Speciality.name as sp '); //Добавление в компоненту запроса выбора имени, заработка, количество рабочих дней и количества дней отпуска
Query.SQL.Add('FROM Unemployed,List,Enterprice,
Query.SQL.Add('WHERE(
Query.SQL.Add('Order by List.Zarabotok DESC,List.rabochi_den ASC,List.Otpusk DESC;');//Группировка по заработку, количеству рабочих дней и отпускных дней
Query.ParamByName('Prm1').
Query.ExecSQL;
Query.Active:=True;
if (Query.fieldbyname('en').
begin
memo1.Text:=Query.fieldbyname(
memo2.Text:=Query.fieldbyname(
memo3.Text:=Query.fieldbyname(
memo4.Text:=Query.fieldbyname(
memo5.Text:=Query.fieldbyname(
end
else ShowMessage('Для данного безработного нет подходящей вакансии'); //Если подходящей вакансии не найденно на экран выводится сообщение
Query.Active:=False;
Query.SQL.Clear;
end;
unit
UnitGroup, предназначен для группировки
безработных по таким критериям как возраст,
пол, стаж, специальность, причины безработицы.
Список Основных функций и процедур:
procedure AddStag(n,n1 : integer); //Функция добавления результатов группировки по стажу в табилцу и диаграмму
procedure AddSex(s : string; n: integer); //Функция добавления результатов группировки по полу в табилцу и диаграмму
procedure AddAge(n,n1 : integer); //Функция добавления результатов группировки по возрасту в табилцу и диаграмму
procedure SpecAdd();//Функция добавления результатов группировки по специальности в табилцу и диаграмму
procedure BezrabAdd();//Функция добавления результатов группировки по причине безработицы в табилцу и диаграмму
function AgeK(n1,n2:integer):integer; //Функция группировки безработных по возрасту
function SexK (n:integer):integer; //Функция группировки безработных по полу
function StagK(n1,n2:integer):integer; //Функция группировки безработных по стажу