Работа базы на контрольных данных (вымышленных) показала ее работоспособность и эффективность.
Список используемых источников
1. Архангельский А.Я. Программирование в Delphi7 - М.: ООО «Бином-Пресс», 2005 г., 1150 стр.
2. База данных: способы модернизации // Журнал «Справочник по управлению персоналом» № 9, сентябрь 2003.
3. Барановская Т.П., Лойко В.И. Информационные системы и технологии в экономике: Учебник. - 2-е изд.,доп. и перераб./. - М.: Финансы и статистика, 2003.
4. Компьютерные программы для службы кадров // Журнал «Справочник кадровика» №2, февраль 2002.
5. Теоретическое учебное пособие РГТК «Тантал» по дисциплине «Технология разработки программного обеспечения».
6. Титоренко Г.А. Информационные технологии управления: Учеб. Пособие для вузов /- 2-е изд., доп. - М.:ЮНИТИ-ДАНА, 2003.
7. Фленов М.Е. Библия Delphi. - СПб.: БХВ-Петербург, 2004. - 880 с: ил.
Электронные учебники:
8. Иллюстрированный самоучитель по Delphi 7 для начинающих
9. Иллюстрированный самоучитель по Delphi 7 для профессионалов
Приложение
Form1
unit Unit 1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Menus, Grids, DBGrids, StdCtrls;
Type
TForm1 = class(TForm)
DBGridUTDBGrid;
MainMenu1: TMainMenu;
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;
N18: TMenuItem;
N19: TMenuItem;
N20: TMenuItem;
N21: TMenuItem;
N22: TMenuItem;
N23: TMenuItem;
N24: TMenuItem;
Button1:TButton;
N25: TMenuItem;
N26: TMenuItem;
procedure N2Click(Sender: TObject);
procedure N3Click(Sender: TObject);
procedure N5Click(Sender: TObject);
procedure N6Click(Sender: TObject);
procedure N7Click(Sender: TObject);
procedure N9Click(Sender: TObject);
procedure N10Click(Sender: TObject);
procedure N11Click(Sender: TObject);
procedure N13Click(Sender: TObject);
procedure N14Click(Sender: TObject);
procedure N19Click(Sender: TObject);
procedure N20Click(Sender: TObject);
procedure N21Click(Sender: TObject);
procedure N17Click(Sender: TObject);
procedure N18Click(Sender: TObject);
procedure N23Click(Sender: TObject);
procedure N24Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure N25Click(Sender: TObject);
procedure N26Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Forml: TForm1;
implementation
uses Unit2, Unit3, Unit4, Unit5;
{$R *.dfm}
procedure TForm1.N2Click(Sender: TObject);
begin
if DataModule2.ADOTablel .Modified then DataModule2.ADOTablel .Post;
end;
procedure TForm1.N3Click(Sender: TObject);
begin
Close;
end;
procedure TForm1.N5Click(Sender: TObject);
begin
DataModule2.ADOTable1.Insert;
Form3.ShowModal;
end;
procedure TForml.N6Click(Sender: TObject);
begin
Form3.ShowModal;
end;
procedure TForm1.N7Click(Sender: TObject);
begin
if application.MessageBox(PChar('Выдействительнохотитеудалитьзапись'+ DataModule2.ADOTable1.DesignerData), 'Внимание!!!',MB_OKCANCEL)=id_OK
then DataModule2.ADOTablel .Delete;
end;
procedure TForml.N9Click(Sender: TObject);
begin
DataModule2.ADOTable1.IndexFieldNames:='Фамилия';
DataModule2.ADOTable2.IndexFieldNames:='Фамилия';
end;
procedure TForml.N10Click(Sender: TObject);
begin
DataModule2.ADOTable1.IndexFieldNames:= 'Гpyппa';
DataModule2.ADOTable2.IndexFieldNames:= 'Гpyппa';
end;
procedure TForml.N11Click(Sender: TObject);
begin
DataModule2.ADOTable1.IndexFieldNames:=";
DataModule2.ADOTable2.IndexFieldNames:=";
end;
procedure TForml.N13Click(Sender: TObject);
begin
Form4.Show;
end;
procedure TForml.N14Click(Sender: TObject);
begin
DataModule2.ADOTable1.Filtered:=false;
DataModule2.ADOTable2.Filtered:=false;
end;
procedure TForml.N19Click(Sender: TObject);
begin
DataModule2.ADOTable1.Filtered:=true;
DataModule2.ADOTable2.Filtered:=true;
DataModule2.ADOTable1.Filter:='Cпopт="+'";
DataModule2.ADOTable2.Filter:='Cпopт="+'";
end;
procedure TForm1.N20Click(Sender: TObject);
begin
DataModule2.ADOTable1.Filtered:=true;
DataModule2.ADOTable2.Filtered:=true;
DataModule2.ADOTable1.Filter:='KBH="+'";
DataModule2.ADOTable2.Filter:='KBH="+'";
end;
procedure TForml.N21Click(Sender: TObject);
begin
DataModule2.ADOTable1.Filtered:=true;
DataModule2.ADOTable2.Filtered:=true;
DataModule2.ADOTable1.Filter:='Cтароста="+'";
DataModule2.ADOTable2.Filter:='Староста="+'";
end;
procedure TForml.N17Click(Sender: TObject);
begin
DataModule2.ADOTable1.Filtered:=true;
DataModule2.ADOTable2.Filtered:=true;
DataModule2.ADOTable1.Filter:='Cпopт="+" and KBH="+" and Староста="+'";
DataModule2.ADOTable2.Filter:='Cпopт="+" and KBH="+" and Староста="+'";
end;
procedure TForml.N18Click(Sender: TObject);
begin
DataModule2.ADOTable1.Filtered:=true;
DataModule2.ADOTable2.Filtered:=true;
DataModule2.ADOTable1.Filter:='Cпopт="-" and KBH="-" and Староста="-'";
DataModule2.ADOTable2.Filter:='Cпopт="-" and KBH="-" and Староста="-'";
end;
procedure TForml.N23Click(Sender: TObject);
begin
DBGrid1.DataSource:=datamodule2.DataSource2;
end;
procedure TForm1.N24Click(Sender: TObject);
begin
Form5.Show;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
Close;
end;
procedure TForml.N25Click(Sender: TObject);
begin
DataModule2.ADOTable1.Filtered:=false;
DataModule2.ADOTable2.Filtered:=false;
end;
procedure TForm1.N26Click(Sender: TObject);
begin
DBGrid1.DataSource:=datamodule2.DataSource1;
end;
end.
DataModule2
unit Unit2;
interface
uses
SysUtils, Messages, Classes, DB, ADODB;
type
TDataModule2 = class(TDataModule)
ADOConnection1: TADOConnection;
ADOTablel:TADOTable;
DataSourcel: TDataSource;
ADOTablelDSDesigner: TAutoIncField;
ADOTable1DSDesigner2: TWideStringField;
ADOTable1DSDesigner3: TWideStringField;
ADOTable1DSDesigner4: TDateTimeField;
ADOTable1DSDesigner5: TWideStringField;
ADOTable1DSDesigner6: TWideStringField;
ADOTable1DSDesigner7: TWideStringField;
ADOTable1DSDesigner8: TWideStringField;
ADOTable1DSDesigner9: TWideStringField;
ADOTable2: TADOTable;
DataSource2: TDataSource;
ADOTable2DSDesigner: TWideStringField;
ADOTable2DSDesigner2: TWideStringField;
ADOTable2DSDesigner3: TDateTimeField;
ADOTable2DSDesigner4: TWideStringField;
ADOTable2DSDesigner5: TWideStringField;
ADOTable2DSDesigner6: TWideStringField;
ADOTable2DSDesigner7: TWideStringField;
ADOTable2Summa: TFloatField;
ADOTable2DSDesigner8: TAutoIncField;
procedure ADOTable2CalcFields(DataSet: TDataSet);
procedure ADOTable2AfterOpen(DataSet: TDataSet);
private
{ Private declarations }
public
{ Public declarations }
end;
var
DataModule2: TDataModule2;
implementation
uses Unit1, Unit3, Unit4;
{$R *.dfm}
procedure TDataModule2.ADOTable2CalcFields(DataSet: TDataSet);
var
stip: Real;
const
bazstip: Integer=500;
profsous: Real= 0.01;
begin
//--Проверканаактивиста
if (ADOTable2DSDesigner4.Value='+') OR
(ADOTable2DSDesigner5.Value='+')OR
(ADOTable2DSDesigner6.Value='+')then
begin
//--Студент точно активист,
//--проверка на старосту.
if (ADOTable2DSDesigner6.Value='+') AND
((ADOTable2DSDesigner4.Value='+') OR (ADOTable2DSDesigner5.Value='+')) then
begin
//--Студент староста,
//--проверка занимается ли он еще и всем остальным
if (ADOTable2DSDesigner4.Value='+') AND
(ADOTable2DSDesigner5.Value='+')then
//--Студент староста и занимается еще 2 видами деятельности
//стипендия базовая +300
begin
stip:=(bazstip+300)*(1-profsous);
ADOTable2Summa.Value:=stip;
end
else
//--Студент староста, и занимается еще 1 видом деятельности
//--стипендия базовая +200
begin
stip:=(bazstip+200)*(l-profsous);
ADOTable2Summa.Value:=stip;
end;
end
else
//--Студент активист, но не староста
//--проверка на 2 вида деятельности
begin
if (ADOTable2DSDesigner4.Value='+') AND
(ADOTable2DSDesigner5.Value='+') then
//--Студент занимается 2 видами деятельности
//--стипендия базовая +150
begin
stip:= (bazstip+150)*(1-profsous);
ADOTable2Summa.Value:=stip;
end
else
//--Студент занимается только 1 видом деятельности
//--стипендиябазовая +100
begin
stip:=(bazstip+100)*(1-profsous);
ADOTable2Summa.Value:=stip;
end;
end;
end
else
begin
//--Студентнеактивист, базовая
stip:= bazstip;
ADOTable2Summa.Value:=stip;
end;
end;
procedure TDataModule2.ADOTable2AfterOpen(DataSet: TDataSet);
begin
ADOTable2.First;
end;
end.
Form3
unit Unit3;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, DBCtrls, StdCtrls, Mask;
type
TForm3 = class(TForm)
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
DBEditl: TDBEdit;
DBEdit2: TDBEdit;
DBEdit3: TDBEdit;
DBEdit4: TDBEdit;
DBEdit5: TDBEdit;
DBEdit6: TDBEdit;
DBEdit7: TDBEdit;
DBEdit8: TDBEdit;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
DBNavigator1: TDBNavigator;
Buttonl: TButton;
Button2: TButton;
procedure Button2Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form3: TForm3;
implementation
uses Unit1, Unit2;
{$R *.dfm}
procedure TForm3.Button2Click(Sender: TObject);
begin
if DataModule2.ADOTablel .Modified then DataModule2.ADOTablel .Post;
end;
procedure TForm3.Button1Click(Sender: TObject);
begin
DataModule2.ADOTable1.Cancel;
end;
end.
Form4
unit Unit4;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm4 = class(TForm)
Label 1: TLabel;
Label2: TLabel;
Edit1:TEdit;
Edit2:TEdit;
Button1: TButton;
Button2: TButton;
Button3: TButton;
Button4: TButton;
Button5: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form4: TForm4;
implementation
uses Unit1, Unit2, Unit3;
{$R*.dfm}
procedure TForm4.ButtonlClick(Sender: TObject);
begin
DataModule2.ADOTable1.Filtered:=true;
DataModule2.ADOTable2.Filtered:=true;
DataModule2.ADOTable1.Filter:='Фамилия='"+Edit1.Text+"";
DataModme2.ADOTable2.Filter:='Фамилия='"+Edit1.Text+"";
end;
procedure TForm4.Button2Click(Sender: TObject);
begin
DataModule2.ADOTable1.Filtered:=true;
DataModule2.ADOTable2.Filtered:=true;
DataModule2.ADOTable1.Filter:= 'Группа='''+Edit2.Text+'''';
DataModule2.ADOTable2.Filter:= 'Группа='''+Edit2.Text+'''';
end;
procedure TForm4.Button3Click(Sender: TObject);
begin
DataModule2.ADOTable1.Filtered:=true;
DataModule2.ADOTable2.Filtered:=true;
DataModule2.ADOTable1.Filter:='Фамилия='"+Edit1.Text+'" or Группа='"+Edit2.Text+"";
DataModule2.ADOTable2.Filter:='Фамилия='"+Edit1.Text+'" or Группа='"+Edit2.Text+"";
end;
procedure TForm4.Button5Click(Sender: TObject);
begin
DataModule2.ADOTable1.Filtered:=false;
DataModule2.ADOTable2.Filtered:=false;
end;
procedure TForm4.Button4Click(Sender: TObject);
begin
Form4.close;
end;
end.
Form5
unit Unit5;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, StdCtrls, jpeg;
type
TForm5 = class(TForm)
Image 1: TImage;
Label 1: TLabel;
private
{ Private declarations }
public
{ Public declarations }
end;
var Form5: TForm5;
implementation
{$R *.dfm}
end.