Курсовые работы / ПРИС П _10
.pdf
|
подстановки |
|
|
|
VZapas_srok |
Числовой |
Длинное целое |
Да |
Нет |
VZapas_zarplata |
Числовой |
Длинное целое |
Да |
Нет |
|
|
|
|
|
VZapas_pensia |
Числовой |
Длинное целое |
Да |
Нет |
VZapas_denplata |
Числовой |
Длинное целое |
Да |
Нет |
VoenZvanie |
|
|
|
|
VZvanie_ID |
Счетчик |
Длинное целое |
Да |
Да (Совпадения не |
|
|
|
|
допускаются) |
VZvanie_name |
Текстовый |
255 |
Да |
Нет |
32
ПРИЛОЖЕНИЕ В |
|
Листинг программы |
|
unit EnterUnit; |
close; |
|
end |
interface |
else |
|
ShowMessage('Пароль введен неверно!!!'); |
uses |
end; |
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, |
|
Forms, |
end. |
Dialogs, DMUnit, StdCtrls, Buttons, DBCtrls, DB; |
|
|
unit MainUnit; |
type |
|
TEnterForm = class(TForm) |
interface |
DBLookupComboBox1: TDBLookupComboBox; |
|
Edit1: TEdit; |
uses |
Label1: TLabel; |
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, |
Label2: TLabel; |
Forms, |
BitBtn1: TBitBtn; |
Dialogs, Menus, StdCtrls, Buttons, DMUnit, IniFiles, ExtCtrls; |
BitBtn2: TBitBtn; |
|
procedure FormShow(Sender: TObject); |
type |
//procedure DBLookupComboBox1CloseUp(Sender: TObject); |
TMainForm = class(TForm) |
procedure BitBtn2Click(Sender: TObject); |
MainMenu1: TMainMenu; |
procedure BitBtn1Click(Sender: TObject); |
FileN: TMenuItem; |
|
RelayN: TMenuItem; |
private |
QuitN: TMenuItem; |
{ Private declarations } |
VoenInfoN: TMenuItem; |
public |
IndexN: TMenuItem; |
{ Public declarations } |
OtchetN: TMenuItem; |
end; |
OtchVoenPensN: TMenuItem; |
|
OtchZaderzhkaN: TMenuItem; |
var |
OtchMaxIndN: TMenuItem; |
EnterForm: TEnterForm; |
ServiceN: TMenuItem; |
parol:string; |
ChUserN: TMenuItem; |
|
ChParolN: TMenuItem; |
implementation |
ReservN: TMenuItem; |
|
SpravkaN: TMenuItem; |
uses MainUnit; |
HelpN: TMenuItem; |
|
AboutN: TMenuItem; |
|
BitBtn1: TBitBtn; |
{$R *.dfm} |
BitBtn2: TBitBtn; |
|
SpravochN: TMenuItem; |
procedure TEnterForm.FormShow(Sender: TObject); |
ZvanieN: TMenuItem; |
begin |
OpenDialog1: TOpenDialog; |
dm.ADOConnection1.Connected:=true; |
Image1: TImage; |
dm.EnterADOQuery.Open; |
procedure ZvanieNClick(Sender: TObject); |
|
procedure VoenInfoNClick(Sender: TObject); |
end; |
procedure IndexNClick(Sender: TObject); |
|
procedure BitBtn1Click(Sender: TObject); |
//procedure TEnterForm.DBLookupComboBox1CloseUp(Sender: |
procedure BitBtn2Click(Sender: TObject); |
TObject); |
procedure OtchMaxIndNClick(Sender: TObject); |
//begin |
procedure OtchVoenPensNClick(Sender: TObject); |
//dm.EnterADOQuery.Active:=true; |
procedure OtchZaderzhkaNClick(Sender: TObject); |
//dm.EnterADOQuery.Locate('U_ID',DBLookupComboBox1.KeyValue,[ |
procedure QuitNClick(Sender: TObject); |
]); |
procedure RelayNClick(Sender: TObject); |
//parol:=dm.EnterADOQuery.FieldValues['U_Pass']; |
procedure FormCreate(Sender: TObject); |
//end; |
procedure ChParolNClick(Sender: TObject); |
|
procedure ChUserNClick(Sender: TObject); |
procedure TEnterForm.BitBtn2Click(Sender: TObject); |
private |
begin |
{ Private declarations } |
Application.Terminate; |
public |
end; |
|
|
{ Public declarations } |
procedure TEnterForm.BitBtn1Click(Sender: TObject); |
end; |
begin |
|
dm.EnterADOQuery.Active:=true; |
var |
dm.EnterADOQuery.Locate('U_ID',DBLookupComboBox1.KeyValue,[] |
MainForm: TMainForm; |
); |
|
parol:=dm.EnterADOQuery.FieldValues['U_Pass']; |
|
if Edit1.Text=parol then |
implementation |
begin |
|
MainForm:=TMainForm.Create(self); |
uses ZvanieUnit, VoenInfoUnit, IndexUnit, ZapasUnit, VidPensUnit, |
MainForm.ShowModal; |
OIndexMaxUnit, |
33
OVoenPensUnit, OZaderzhkaViplatUnit, EnterUnit, PassChangeUnit;
{$R *.dfm}
procedure TMainForm.ZvanieNClick(Sender: TObject); begin
S_VoenZvanie:=TS_VoenZvanie.Create(self); S_VoenZvanie.ShowModal;
end;
procedure TMainForm.VoenInfoNClick(Sender: TObject); begin
S_VoenInfo:=TS_VoenInfo.Create(self); S_VoenInfo.ShowModal;
end;
procedure TMainForm.IndexNClick(Sender: TObject); begin
S_Index:=TS_Index.Create(self); S_Index.ShowModal;
end;
procedure TMainForm.BitBtn1Click(Sender: TObject); begin
S_Zapas:=TS_Zapas.Create(self); S_Zapas.ShowModal;
end;
procedure TMainForm.BitBtn2Click(Sender: TObject); begin
S_PensVid:=TS_PensVid.Create(self); S_PensVid.ShowModal;
end;
procedure TMainForm.OtchMaxIndNClick(Sender: TObject); begin
O_MaxIndex:=TO_MaxIndex.Create(self); O_MaxIndex.ShowModal;
end;
procedure TMainForm.OtchVoenPensNClick(Sender: TObject); begin
O_VoenPens:=TO_VoenPens.Create(self); O_VoenPens.ShowModal;
end;
procedure TMainForm.OtchZaderzhkaNClick(Sender: TObject); begin
O_ZaderzhkaViplat:=TO_ZaderzhkaViplat.Create(self); O_ZaderzhkaViplat.ShowModal
end;
procedure TMainForm.QuitNClick(Sender: TObject); begin
Application.Terminate;
end;
procedure TMainForm.RelayNClick(Sender: TObject); var F:tinifile;//дискриптор ini-файла
DBPath:widestring; //путь к БД begin
//создаём объект Ini-файла, ассоциируя его с физическим файлом на диске
F:=TiniFile.Create(ExtractFilePath(Application.ExeName)+'Options.ini');
//запускаем диалог открытия, если запущен успешно, то...
if OpenDialog1.Execute then begin
//сохраняем указанный в диалоговом окне пользователем путь DBPath:=ExtractFilePath(OpenDialog1.FileName);
//записываем в раздел Section_DBPath значение переменной DBPath в параметр Path ini-файла F.WriteString('Section_DBPath','Path',DBPath); DM.ADOConnection1.Close;
//формируем ConnectionString
DM.ADOConnection1.ConnectionString:='Provider=Microsoft.Jet.OLE
DB.4.0;Data Source='+DBPath+'BD.mdb;Persist Security Info=False';
34
//открываем соединение DM.ADOConnection1.Open; end;
// освобождаем память F.Free;
end;
procedure TMainForm.FormCreate(Sender: TObject); begin
Application.Icon:=Image1.Picture.Icon;
if EnterForm.DBLookupComboBox1.KeyValue=2 then begin
SpravochN.Enabled:=false;
ReservN.Enabled:=false;
end;
if EnterForm.DBLookupComboBox1.KeyValue=3 then begin
SpravochN.Enabled:=false;
ReservN.Enabled:=false;
BitBtn1.Enabled:=false;
BitBtn2.Enabled:=false;
end;
end;
procedure TMainForm.ChParolNClick(Sender: TObject); begin
PassChange:=TPassChange.Create(self);
PassChange.ShowModal;
end;
procedure TMainForm.ChUserNClick(Sender: TObject); begin
EnterForm:=TEnterForm.Create(self);
EnterForm.ShowModal;
//EnterForm.Show;
MainForm.Close;
end;
end.
unit IndexUnit;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DMUnit, Grids, DBGrids, ComCtrls, StdCtrls, ExtCtrls, Buttons,
Mask, DBCtrls, DB;
type
TS_Index = class(TForm) Panel1: TPanel; Label1: TLabel;
DateTimePicker1: TDateTimePicker; DBGrid1: TDBGrid;
GroupBox1: TGroupBox; RadioButton1: TRadioButton; RadioButton2: TRadioButton; Label2: TLabel;
DBEdit1: TDBEdit; Label3: TLabel;
DateTimePicker2: TDateTimePicker; DBEdit2: TDBEdit;
Label4: TLabel; DBEdit3: TDBEdit; BitBtn1: TBitBtn; BitBtn2: TBitBtn; BitBtn3: TBitBtn; Label5: TLabel; DBEdit4: TDBEdit; Label6: TLabel; Button1: TButton; procedure Refresh;
procedure FormCreate(Sender: TObject); procedure BitBtn3Click(Sender: TObject);
procedure DBGrid1TitleClick(Column: TColumn); procedure BitBtn2Click(Sender: TObject);
procedure DateTimePicker2CloseUp(Sender: TObject); procedure Button1Click(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure DateTimePicker1Change(Sender: TObject); private
{Private declarations } public
{Public declarations } end;
const INDEX_SQL='SELECT * FROM IndexPens'; var
S_Index: TS_Index;
implementation
{$R *.dfm}
procedure TS_Index.Refresh; begin DM.IndexQuery.Close; DM.IndexQuery.Open;
end;
procedure TS_Index.FormCreate(Sender: TObject); begin
DM.ADOConnection1.Connected:=true;
DM.IndexQuery.SQL.Clear; DM.IndexQuery.SQL.Add(INDEX_SQL+';'); DM.IndexQuery.Open; DateTimePicker2.Date:=StrToDate(DBEdit2.Text);
end;
procedure TS_Index.BitBtn3Click(Sender: TObject); begin
DM.IndexQuery.Delete;
Refresh;
end;
procedure TS_Index.DBGrid1TitleClick(Column: TColumn); var s:string; //направление сортировки
i:integer;
clr:TColor;//цвет колонки при сортировки begin
s:='ASC';
clr:=clMoneyGreen;
if RadioButton2.Checked then begin
s:='DESC';
clr:=clSkyBlue;
end;
//возвращаем исходный цвет всех колонок и подсвечиваем колонку
for i:=0 to DBGrid1.Columns.Count- 1 do DBGrid1.Columns.Items[i].Title.Color:=clBtnFace; DBGrid1.Columns.Items[Column.Index].Title.Color:=clr; //выполняем сортировку по выбранной колонке
DM.IndexQuery.Sort:=DBGrid1.Columns.Items[Column.Index].FieldNa me+' '+s;
end;
procedure TS_Index.BitBtn2Click(Sender: TObject); //добавтьь begin
DM.IndexQuery.Append;
DBEdit2.Visible:=false;
DateTimePicker2.Visible:=true;
end;
procedure TS_Index.DateTimePicker2CloseUp(Sender: TObject); begin
DBEdit2.Text:=DateToStr(DateTimePicker2.Date);
end;
procedure TS_Index.Button1Click(Sender: TObject); begin
dm.ADOQuery4.Active:=false;
dm.ADOQuery4.SQL.Clear; dm.ADOQuery4.SQL.Add('SELECT * FROM IndexPens;'); dm.ADOQuery4.Active:=true;
If DM.ADOQuery4.Locate('Index_prichina',DBEdit3.Text,[loCaseInsensiti ve]) then
begin
MessageDlg('Данная индексация проводилась',mtWarning, [mbOk],
0);
DM.IndexQuery.Cancel;
dm.IndexQuery.Delete; end
else DM.IndexQuery.Post;
end;
procedure TS_Index.BitBtn1Click(Sender: TObject); //изменить begin
DM.IndexQuery.Edit;
end;
procedure TS_Index.DateTimePicker1Change(Sender: TObject); begin
DM.IndexQuery.SQL.Clear; DM.IndexQuery.SQL.Add(INDEX_SQL+' WHERE Index_data LIKE
'''+DateToStr(DateTimePicker1.Date)+'%''');
Refresh;
end;
end.
unit VidPensUnit;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, Grids, DBGrids, DMUnit, Buttons, DB;
type
TS_PensVid = class(TForm) DBGrid1: TDBGrid; Panel1: TPanel;
Label1: TLabel; ComboBox1: TComboBox; Label2: TLabel;
Edit1: TEdit; BitBtn1: TBitBtn; BitBtn2: TBitBtn; BitBtn3: TBitBtn;
GroupBox1: TGroupBox; RadioButton1: TRadioButton; RadioButton2: TRadioButton; procedure Refresh;
procedure FormCreate(Sender: TObject); procedure DBGrid1TitleClick(Column: TColumn); procedure Edit1Change(Sender: TObject); procedure BitBtn1Click(Sender: TObject); procedure BitBtn2Click(Sender: TObject); procedure BitBtn3Click(Sender: TObject);
private
{Private declarations } public
{Public declarations } end;
35
var
S_PensVid: TS_PensVid;
implementation
uses VidPensEditUnit;
{$R *.dfm}
procedure TS_PensVid.Refresh; begin DM.SummaQuery.Close; DM.SummaQuery.Open;
end;
procedure TS_PensVid.FormCreate(Sender: TObject); var i:integer;
begin dm.ADOConnection1.Connected:=true; dm.SummaQuery.SQL.Clear; dm.VoenQuery.SQL.Clear;
dm.SummaQuery.SQL.Add('SELECT PensVid.Pens_ID, PensVid.Pens_FIO, PensVid.Pens_data, PensVid.Pens_summa, VoenInfo.VInfo_FIO, PensVid.Pens_month '+
'FROM VoenInfo INNER JOIN PensVid ON VoenInfo.VInfo_ID = PensVid.Pens_FIO;');
dm.VoenQuery.SQL.Add('SELECT * FROM VoenInfo;'); dm.SummaQuery.Open;
dm.VoenQuery.Open;
for i:=0 to DBGrid1.Columns.Count-1 do ComboBox1.Items.Add(DBGrid1.Columns.Items[i].Title.Caption); end;
procedure TS_PensVid.DBGrid1TitleClick(Column: TColumn); var
s:string; //направление сортировки i:integer;
clr:TColor;//цвет колонки при сортировки begin
s:='ASC';
clr:=clMoneyGreen;
if RadioButton2.Checked then begin
s:='DESC';
clr:=clSkyBlue;
end;
//возвращаем исходный цвет всех колонок и подсвечиваем колонку
for i:=0 to DBGrid1.Columns.Count- 1 do DBGrid1.Columns.Items[i].Title.Color:=clBtnFace; DBGrid1.Columns.Items[Column.Index].Title.Color:=clr; //выполняем сортировку по выбранной колонке
DM.SummaQuery.Sort:=DBGrid1.Columns.Items[Column.Index].FieldN ame+' '+s;
end;
procedure TS_PensVid.Edit1Change(Sender: TObject); Var S:string;
begin
if ComboBox1.ItemIndex=-1 then ComboBox1.ItemIndex:=0; //сохранение имени поля дбгрид1 в перменную s по имени выбранной записи в комбобокс1 S:=DBGrid1.Columns.Items[ComboBox1.ItemIndex].FieldName; DM.SummaQuery.SQL.Clear;
//формирование запроса по полю сохраненному в переменной s DM.SummaQuery.SQL.Add('SELECT PensVid.Pens_ID, PensVid.Pens_FIO, PensVid.Pens_data, PensVid.Pens_summa, VoenInfo.VInfo_FIO '+
'FROM VoenInfo INNER JOIN PensVid ON VoenInfo.VInfo_ID = PensVid.Pens_FIO'+' WHERE '+s+' LIKE '''+Edit1.Text+'%''');
//обновляем
Refresh;
end;
procedure TS_PensVid.BitBtn1Click(Sender: TObject); begin
Edit_VidPens:=TEdit_VidPens.Create(self); OpenForm(false) ; //доб
36
Refresh;
end;
procedure TS_PensVid.BitBtn2Click(Sender: TObject); begin
Edit_VidPens:=TEdit_VidPens.Create(self); OpenForm(true); //изм
Refresh;
end;
procedure TS_PensVid.BitBtn3Click(Sender: TObject); var s:string;
begin dm.ADOQuery1.Active:=False; dm.ADOQuery1.SQL.Clear;
dm.ADOQuery1.SQL.Add('SELECT * FROM PensVid'); dm.ADOQuery1.Active:=true; s:=DM.ZapasQuery.FieldValues['Pens_ID']; dm.ADOQuery1.Close;
dm.ADOQuery1.Open; dm.ADOQuery1.Locate('Pens_ID',s,[loPartialKey]); dm.ADOQuery1.Delete;
refresh;
end;
end.
unit VoenInfoUnit;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, Grids, DBGrids, DMUnit, ExtCtrls, DB;
type
TS_VoenInfo = class(TForm) DBGrid1: TDBGrid; BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
BitBtn3: TBitBtn; GroupBox1: TGroupBox; RadioButton1: TRadioButton; RadioButton2: TRadioButton; Panel1: TPanel; ComboBox1: TComboBox; Label1: TLabel;
Label2: TLabel;
Edit1: TEdit;
procedure FormCreate(Sender: TObject); procedure Refresh;
procedure BitBtn1Click(Sender: TObject); procedure BitBtn2Click(Sender: TObject); procedure BitBtn3Click(Sender: TObject); procedure DBGrid1TitleClick(Column: TColumn); procedure Edit1Change(Sender: TObject);
private
{Private declarations } public
{Public declarations } end;
const VOEN_SQL='SELECT * FROM VoenInfo';
var
S_VoenInfo: TS_VoenInfo;
implementation
uses VoenInfoEditUnit;
{$R *.dfm}
procedure TS_VoenInfo.Refresh; begin
DM.VoenQuery.Close;
DM.VoenQuery.Open;
end; |
|
|
|
|
end. |
procedure TS_VoenInfo.FormCreate(Sender: TObject); |
|
|
var i:integer; |
|
unit ZvanieUnit; |
begin |
|
|
DM.ADOConnection1.Connected:=true; |
|
interface |
DM.VoenQuery.SQL.Clear; |
|
|
DM.VoenQuery.SQL.Add(VOEN_SQL+';'); |
|
uses |
DM.VoenQuery.Open; |
|
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, |
for i:=0 to DBGrid1.Columns.Count-1 do |
|
Forms, |
ComboBox1.Items.Add(DBGrid1.Columns.Items[i].Title.Caption); |
Dialogs, DMUnit, MainUnit, Grids, DBGrids; |
|
end; |
|
type |
|
|
TS_VoenZvanie = class(TForm) |
procedure TS_VoenInfo.BitBtn1Click(Sender: TObject); |
//добавить |
DBGrid1: TDBGrid; |
begin |
|
procedure FormCreate(Sender: TObject); |
Edit_VoenInfo:=TEdit_VoenInfo.Create(self); |
|
private |
OpenForm(false) ; |
|
{ Private declarations } |
Refresh; |
|
public |
|
|
{ Public declarations } |
end; |
|
end; |
|
|
const ZVANIE_SQL='SELECT * FROM VoenZvanie'; |
procedure TS_VoenInfo.BitBtn2Click(Sender: TObject); |
//изменить |
var |
begin |
|
S_VoenZvanie: TS_VoenZvanie; |
Edit_VoenInfo:=TEdit_VoenInfo.Create(self); |
|
|
OpenForm(true); |
|
implementation |
Refresh; |
|
|
|
|
{$R *.dfm} |
end; |
|
|
|
|
procedure TS_VoenZvanie.FormCreate(Sender: TObject); |
procedure TS_VoenInfo.BitBtn3Click(Sender: TObject); |
|
begin |
begin |
|
DM.ADOConnection1.Connected:=true; |
DM.VoenQuery.Delete; |
|
DM.ZvanieQuery.SQL.Clear; |
Refresh; |
|
DM.ZvanieQuery.SQL.Add(ZVANIE_SQL+';'); |
end; |
|
Dm.ZvanieQuery.Open; |
|
|
end; |
procedure TS_VoenInfo.DBGrid1TitleClick(Column: TColumn); |
|
|
var |
|
end. |
s:string; //направление сортировки |
|
|
i:integer; |
|
unit ZapasUnit; |
clr:TColor;//цвет колонки при сортировки |
|
|
begin |
|
interface |
s:='ASC'; |
|
|
clr:=clMoneyGreen; |
|
uses |
if RadioButton2.Checked then |
|
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, |
begin |
|
Forms, |
s:='DESC'; |
|
Dialogs, StdCtrls, Buttons, ExtCtrls, Grids, DBGrids, DMUnit, DB; |
clr:=clSkyBlue; |
|
|
end; |
|
type |
//возвращаем исходный цвет всех колонок и подсвечиваем |
TS_Zapas = class(TForm) |
|
колонку |
|
DBGrid1: TDBGrid; |
for i:=0 to DBGrid1.Columns.Count- 1 do |
|
Panel1: TPanel; |
DBGrid1.Columns.Items[i].Title.Color:=clBtnFace; |
|
BitBtn1: TBitBtn; |
DBGrid1.Columns.Items[Column.Index].Title.Color:=clr; |
BitBtn2: TBitBtn; |
|
//выполняем сортировку по выбранной колонке |
|
BitBtn3: TBitBtn; |
|
|
GroupBox1: TGroupBox; |
DM.VoenQuery.Sort:=DBGrid1.Columns.Items[Column.Index].FieldNa |
RadioButton1: TRadioButton; |
|
me+' '+s; |
|
RadioButton2: TRadioButton; |
|
|
Label1: TLabel; |
end; |
|
ComboBox1: TComboBox; |
|
|
Label2: TLabel; |
procedure TS_VoenInfo.Edit1Change(Sender: TObject); |
|
Edit1: TEdit; |
Var S:string; |
|
procedure Refresh; |
begin |
|
procedure FormCreate(Sender: TObject); |
if ComboBox1.ItemIndex=-1 then ComboBox1.ItemIndex:=0; |
procedure DBGrid1TitleClick(Column: TColumn); |
|
//сохранение имени поля дбгрид1 в перменную s по имени |
procedure Edit1Change(Sender: TObject); |
|
выбранной записи в комбобокс1 |
|
procedure BitBtn3Click(Sender: TObject); |
S:=DBGrid1.Columns.Items[ComboBox1.ItemIndex].FieldName; |
procedure BitBtn1Click(Sender: TObject); |
|
DM.VoenQuery.SQL.Clear; |
|
procedure BitBtn2Click(Sender: TObject); |
//формирование запроса по полю сохраненному в переменной s |
private |
|
DM.VoenQuery.SQL.Add(VOEN_SQL+' WHERE '+s+' LIKE |
{ Private declarations } |
|
'''+Edit1.Text+'%'''); |
|
public |
//обновляем |
|
{ Public declarations } |
Refresh; |
|
end; |
end;
37
var
S_Zapas: TS_Zapas;
implementation uses ZapasEditUnit;
{$R *.dfm}
procedure TS_Zapas.Refresh; begin DM.ZapasQuery.Close; DM.ZapasQuery.Open;
end;
procedure TS_Zapas.FormCreate(Sender: TObject); var i: integer;
begin DM.ADOConnection1.Connected:=true; DM.ZapasQuery.SQL.Clear; DM.VoenQuery.SQL.Clear; DM.IndexQuery.SQL.Clear; dm.ZvanieQuery.SQL.Clear;
DM.ZapasQuery.SQL.Add('SELECT VoenZapas.VZapas_ID, VoenZapas.VZapas_FIO, VoenZapas.VZapas_dtyval, VoenZapas.VZapas_zvanie, VoenZapas.VZapas_srok, VoenZapas.VZapas_zarplata, VoenZapas.VZapas_pensia, VoenZapas.VZapas_denplata, VoenZvanie.VZvanie_name, VoenInfo.VInfo_FIO '+
'FROM VoenInfo INNER JOIN (VoenZvanie INNER JOIN VoenZapas ON VoenZvanie.VZvanie_ID = VoenZapas.VZapas_zvanie) ON VoenInfo.VInfo_ID = VoenZapas.VZapas_FIO;'); DM.VoenQuery.SQL.Add('SELECT * FROM VoenInfo;'); DM.IndexQuery.SQL.Add('SELECT * FROM IndexPens;'); DM.ZvanieQuery.SQL.Add('SELECT * FROM VoenZvanie;'); dm.ZapasQuery.Open;
dm.VoenQuery.Open;
dm.IndexQuery.Open;
dm.ZvanieQuery.Open;
for i:=0 to DBGrid1.Columns.Count-1 do ComboBox1.Items.Add(DBGrid1.Columns.Items[i].Title.Caption);
end;
procedure TS_Zapas.DBGrid1TitleClick(Column: TColumn); var
s:string; //направление сортировки i:integer;
clr:TColor;//цвет колонки при сортировки begin
s:='ASC';
clr:=clMoneyGreen;
if RadioButton2.Checked then begin
s:='DESC';
clr:=clSkyBlue;
end;
//возвращаем исходный цвет всех колонок и подсвечиваем колонку
for i:=0 to DBGrid1.Columns.Count- 1 do DBGrid1.Columns.Items[i].Title.Color:=clBtnFace; DBGrid1.Columns.Items[Column.Index].Title.Color:=clr; //выполняем сортировку по выбранной колонке
DM.ZapasQuery.Sort:=DBGrid1.Columns.Items[Column.Index].FieldNa me+' '+s;
end;
procedure TS_Zapas.Edit1Change(Sender: TObject); Var S:string;
begin
if ComboBox1.ItemIndex=-1 then ComboBox1.ItemIndex:=0; //сохранение имени поля дбгрид1 в перменную s по имени выбранной записи в комбобокс1 S:=DBGrid1.Columns.Items[ComboBox1.ItemIndex].FieldName; DM.ZapasQuery.SQL.Clear;
//формирование запроса по полю сохраненному в переменной s DM.ZapasQuery.SQL.Add('SELECT VoenZapas.VZapas_ID, VoenZapas.VZapas_FIO, VoenZapas.VZapas_dtyval, VoenZapas.VZapas_zvanie, VoenZapas.VZapas_srok,
VoenZapas.VZapas_zarplata, VoenZapas.VZapas_pensia, VoenZapas.VZapas_denplata, VoenZvanie.VZvanie_name, VoenInfo.VInfo_FIO '+
'FROM VoenInfo INNER JOIN (VoenZvanie INNER JOIN VoenZapas ON VoenZvanie.VZvanie_ID = VoenZapas.VZapas_zvanie) ON VoenInfo.VInfo_ID = VoenZapas.VZapas_FIO'+' WHERE '+s+' LIKE
'''+Edit1.Text+'%''');
//обновляем
Refresh;
end;
procedure TS_Zapas.BitBtn3Click(Sender: TObject); //удалить
var s:string; begin
dm.ADOQuery1.Active:=False;
dm.ADOQuery1.SQL.Clear; dm.ADOQuery1.SQL.Add('SELECT * FROM VoenZapas'); dm.ADOQuery1.Active:=true; s:=DM.ZapasQuery.FieldValues['VZapas_ID']; dm.ADOQuery1.Close;
dm.ADOQuery1.Open; dm.ADOQuery1.Locate('VZapas_ID',s,[loPartialKey]); dm.ADOQuery1.Delete;
refresh;
end;
procedure TS_Zapas.BitBtn1Click(Sender: TObject); //добавить begin
EditZapas:=TEditZapas.Create(self); OpenForm(false) ;
Refresh;
end;
procedure TS_Zapas.BitBtn2Click(Sender: TObject); |
//изм |
begin |
|
EditZapas:=TEditZapas.Create(self); |
|
OpenForm(true); |
|
Refresh; |
|
end; |
|
end. |
|
unit VidPensEditUnit; |
|
interface |
|
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DMUnit, StdCtrls, Mask, DBCtrls, Buttons, ComCtrls, DB;
type
TEdit_VidPens = class(TForm) Label1: TLabel;
DBEdit1: TDBEdit; Label2: TLabel;
DateTimePicker1: TDateTimePicker; Label3: TLabel;
DBLookupComboBox1: TDBLookupComboBox; BitBtn1: TBitBtn;
DBEdit2: TDBEdit;
DBEdit3: TDBEdit;
BitBtn2: TBitBtn;
BitBtn3: TBitBtn;
DBEdit4: TDBEdit; Label4: TLabel; Label5: TLabel; DBEdit5: TDBEdit; month: TDBEdit;
procedure BitBtn1Click(Sender: TObject); procedure BitBtn3Click(Sender: TObject); procedure BitBtn2Click(Sender: TObject);
procedure DateTimePicker1Change(Sender: TObject);
private
38
{Private declarations } public
{Public declarations } end;
procedure OpenForm(ed:boolean);
var
Edit_VidPens: TEdit_VidPens; isEdit:boolean;
period: string; implementation
{$R *.dfm}
procedure OpenForm(ed:boolean);// процедура "открытие формы" begin
isEdit:=ed;
if ed then // в первом случае begin
Edit_VidPens.Caption:='Изменение'; //присваиваем форме название
"Изменение" |
|
DM.SummaQuery.Edit; |
//режим изменения записи |
DM.SummaQuery.Post; |
//подтверждение изменений |
end |
|
else // во втором случае |
|
begin |
|
Edit_VidPens.Caption:='Добавление'; //присваиваем форме название "Добавление"
DM.SummaQuery.Append; //режим добавления записи end;
Edit_VidPens.ShowModal; // показать форму end;
procedure TEdit_VidPens.BitBtn1Click(Sender: TObject); var
i:integer;
summa:double; begin
period:=DateToStr(DateTimePicker1.Date); dm.ADOQuery1.Active:=false;//сама пенсия dm.ADOQuery2.Active:=false; //индексы
dm.ADOQuery1.SQL.Clear;
dm.ADOQuery2.SQL.Clear;
dm.ADOQuery1.SQL.Add('SELECT VoenZapas.VZapas_ID, VoenZapas.VZapas_FIO, VoenZapas.VZapas_pensia '+ 'FROM VoenZapas');
DM.ADOQuery1.Active:=true; dm.ADOQuery1.Locate('VZapas_FIO', DBLookupComboBox1.KeyValue, [loCaseInsensitive]); summa:=StrToFloat(DBEdit5.Text);
dm.ADOQuery2.SQL.Add('SELECT IndexPens.Index_ID, IndexPens.Index_data, IndexPens.Index_vel '+
'FROM IndexPens '+
'WHERE IndexPens.Index_data< :period;' ); dm.ADOQuery2.Parameters.ParamByName('period').Value:=period; dm.ADOQuery2.Active:=true;
dm.ADOQuery2.First;
for i:=0 to (dm.ADOQuery2.RecordCount-1) do begin
summa:=(summa/100)*(100+StrToFloat(DBEdit4.Text));
dm.ADOQuery2.Next;
end;
DBEdit3.Text:=FloatToStr(summa);
end;
procedure TEdit_VidPens.BitBtn3Click(Sender: TObject); begin
DM.SummaQuery.Cancel; //Отмена несохраненных изменений
DM.SummaQuery.Edit;
DM.SummaQuery.Post; //подтверждение изменений Edit_VidPens.Close;
end;
procedure TEdit_VidPens.BitBtn2Click(Sender: TObject); begin
if isEdit=false then begin
dm.ADOQuery3.Active:=false;
dm.ADOQuery3.SQL.Clear; dm.ADOQuery3.SQL.Add('SELECT PensVid.Pens_ID,
PensVid.Pens_FIO, PensVid.Pens_month '+ 'FROM PensVid;');
dm.ADOQuery3.Active:=true;
if Dm.ADOQuery3.Locate('Pens_FIO; Pens_month',VarArrayOf([DBLookupComboBox1.KeyValue,month.Tex t]), [loCaseInsensitive]) then
begin
MessageDlg('Данная выплата уже производилась!',mtWarning,[mbOK],0);
DM.SummaQuery.Cancel; Edit_VidPens.Close;
end else
begin
DM.SummaQuery.Post; //подтверждение изменений Edit_VidPens.Close;
end; end
else begin
dm.ADOQuery3.Active:=false;
dm.ADOQuery3.SQL.Clear; dm.ADOQuery3.SQL.Add('SELECT * FROM PensVid WHERE
Pens_month=:PMonth and Pens_ID<>:PID and Pens_FIO=:PFIO'); dm.ADOQuery3.Prepared;
dm.ADOQuery3.Parameters.ParamByName('PMonth').Value:=month.Te xt;
dm.ADOQuery3.Parameters.ParamByName('PID').Value:=DBEdit1.Text
;
dm.ADOQuery3.Parameters.ParamByName('PFIO').Value:=DBLookupC omboBox1.KeyValue;
dm.ADOQuery3.Active:=true;
if Dm.ADOQuery3.RecordCount>0 then begin
MessageDlg('Данная выплата уже вносилась',mtWarning,[mbOK],0);
DM.SummaQuery.Cancel; Edit_VidPens.Close;
end else begin
DM.SummaQuery.Post; //подтверждение изменений Edit_VidPens.Close;
end;
end;
end;
procedure TEdit_VidPens.DateTimePicker1Change(Sender: TObject); begin
DBEdit2.Text:=DateToStr(DateTimePicker1.Date); month.Text:=FormatDateTime('mm', DateTimePicker1.Date); end;
end.
nit VoenInfoEditUnit;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
39
Dialogs, DMUnit, StdCtrls, ComCtrls, Mask, DBCtrls, Buttons;
type
TEdit_VoenInfo = class(TForm) BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
Label1: TLabel; DBEdit1: TDBEdit; Label2: TLabel; DBEdit2: TDBEdit; Label3: TLabel;
DateTimePicker1: TDateTimePicker; DBEdit3: TDBEdit;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel; DBEdit5: TDBEdit; Label7: TLabel; DBEdit6: TDBEdit; Label8: TLabel;
DateTimePicker2: TDateTimePicker; DBEdit7: TDBEdit;
Label9: TLabel; DBEdit8: TDBEdit;
DBComboBox1: TDBComboBox;
procedure DateTimePicker1CloseUp(Sender: TObject); procedure DateTimePicker2CloseUp(Sender: TObject); procedure ComboBox1CloseUp(Sender: TObject); procedure BitBtn1Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
private
{Private declarations } public
{Public declarations } end;
procedure OpenForm(ed:boolean);
var
Edit_VoenInfo: TEdit_VoenInfo; isEdit:boolean;
implementation
{$R *.dfm}
procedure OpenForm(ed:boolean);// процедура "открытие формы" begin
isEdit:=ed;
if ed then // в первом случае begin
Edit_VoenInfo.Caption:='Изменение'; //присваиваем форме название
"Изменение" |
|
DM.VoenQuery.Edit; |
//режим изменения записи |
DM.VoenQuery.Post; |
//подтверждение изменений |
end
else // во втором случае begin
Edit_VoenInfo.Caption:='Добавление'; //присваиваем форме название "Добавление"
DM.VoenQuery.Append; //режим добавления записи end;
Edit_VoenInfo.ShowModal; // показать форму end;
procedure TEdit_VoenInfo.DateTimePicker1CloseUp(Sender: TObject); begin
DBEdit3.Text:=datetostr(DateTimePicker1.Date);
end;
procedure TEdit_VoenInfo.DateTimePicker2CloseUp(Sender: TObject); begin
DBEdit7.Text:=datetostr(DateTimePicker2.Date);
end;
procedure TEdit_VoenInfo.ComboBox1CloseUp(Sender: TObject); begin
//DBEdit4.Text:=ComboBox1.;
end;
procedure TEdit_VoenInfo.BitBtn1Click(Sender: TObject); //сохранить
var s:string; begin
if isEdit=false then begin
dm.ADOQuery5.Active:=false;
dm.ADOQuery5.SQL.Clear; s:='SELECT * FROM VOENINFO where
VInfo_danpasp='''+DBEdit5.Text+''''; dm.ADOQuery5.SQL.Add(s); dm.ADOQuery5.Active:=true;
if Dm.ADOQuery5.RecordCount>0 then begin
MessageDlg('Данный сотрудник уже внесен в базу!',mtWarning,[mbOK],0);
DM.VoenQuery.Cancel;
Edit_VoenInfo.Close; |
|
end |
|
else |
|
begin |
|
DM.VoenQuery.Post; |
//подтверждение изменений |
Edit_VoenInfo.Close; |
|
end; |
|
end |
|
else |
|
begin dm.ADOQuery5.Active:=false; dm.ADOQuery5.SQL.Clear;
dm.ADOQuery5.SQL.Add('SELECT * FROM VOENINFO where VInfo_danpasp='''+DBEdit5.Text+''' and VInfo_ID<>'+DBEdit2.Text); dm.ADOQuery5.Active:=true;
if Dm.ADOQuery5.RecordCount>0 then begin
MessageDlg('Данный сотрудник уже внесен в
базу!',mtWarning,[mbOK],0); |
|
DM.VoenQuery.Cancel; |
|
Edit_VoenInfo.Close; |
|
end |
|
else |
|
begin |
|
DM.VoenQuery.Post; |
//подтверждение изменений |
Edit_VoenInfo.Close; |
|
end; |
|
end; |
|
end; |
|
procedure TEdit_VoenInfo.BitBtn2Click(Sender: TObject); |
|
begin |
|
DM.VoenQuery.Cancel; |
//Отмена несохраненных изменений |
DM.VoenQuery.Edit; |
|
DM.VoenQuery.Post; |
//подтверждение изменений |
Edit_VoenInfo.Close; |
|
end; |
|
end.
unit ZapasEditUnit; interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DMUnit, StdCtrls, Mask, DBCtrls, Buttons, ComCtrls, DB;
type
TEditZapas = class(TForm) Label1: TLabel;
40
DBEdit1: TDBEdit; Label2: TLabel;
DBLookupComboBox1: TDBLookupComboBox; Label3: TLabel;
DateTimePicker1: TDateTimePicker; Label4: TLabel;
DBEdit2: TDBEdit; Label5: TLabel;
DBLookupComboBox2: TDBLookupComboBox; Label6: TLabel;
DBEdit3: TDBEdit;
DBEdit4: TDBEdit;
BitBtn1: TBitBtn;
DBEdit5: TDBEdit; Label7: TLabel; Label8: TLabel; DBEdit6: TDBEdit; BitBtn2: TBitBtn; BitBtn3: TBitBtn; Edit1: TEdit;
procedure DateTimePicker1Change(Sender: TObject); procedure BitBtn2Click(Sender: TObject);
procedure DBLookupComboBox1Click(Sender: TObject); procedure BitBtn1Click(Sender: TObject);
procedure FormCreate(Sender: TObject); procedure BitBtn3Click(Sender: TObject);
private
{Private declarations } public
{Public declarations } end;
procedure OpenForm(ed:boolean);
var
EditZapas: TEditZapas; isEdit:boolean;
implementation
{$R *.dfm}
procedure OpenForm(ed:boolean);// процедура "открытие формы" begin
isEdit:=ed;
if ed then // в первом случае begin
EditZapas.Caption:='Изменение'; //присваиваем форме название "Изменение"
DM.ZapasQuery.Edit;
DM.ZapasQuery.Post;
end
else // во втором случае begin
EditZapas.Caption:='Добавление'; //присваиваем форме название "Добавление"
DM.ZapasQuery.Append; //режим добавления записи end;
EditZapas.ShowModal; // показать форму end;
procedure TEditZapas.DateTimePicker1Change(Sender: TObject); begin
DBEdit4.Text:=DateToStr(DateTimePicker1.Date);
end;
procedure TEditZapas.BitBtn2Click(Sender: TObject); var s:string;
begin
if isEdit=false then begin
dm.ADOQuery6.Active:=false;
dm.ADOQuery6.SQL.Clear; dm.ADOQuery6.SQL.Add('SELECT VoenZapas.VZapas_ID,
VoenZapas.VZapas_FIO, VoenZapas.VZapas_dtyval, VoenZapas.VZapas_zvanie, VoenZapas.VZapas_srok,
VoenZapas.VZapas_zarplata, VoenZapas.VZapas_pensia, VoenZapas.VZapas_denplata, VoenZvanie.VZvanie_name, VoenInfo.VInfo_FIO '+
'FROM VoenInfo INNER JOIN (VoenZvanie INNER JOIN VoenZapas ON VoenZvanie.VZvanie_ID = VoenZapas.VZapas_zvanie) ON VoenInfo.VInfo_ID = VoenZapas.VZapas_FIO;');
dm.ADOQuery6.Active:=true; if
Dm.ADOQuery6.Locate('VZapas_FIO',DBLookupComboBox1.KeyValu e, [loCaseInsensitive]) then
begin
MessageDlg('Данный сотрудник уже внесен в базу!',mtWarning,[mbOK],0);
DM.ZapasQuery.Cancel;
EditZapas.Close; end
else begin
DM.ZapasQuery.Post; //подтверждение изменений EditZapas.Close;
end; end
else begin
dm.ADOQuery6.Active:=false;
dm.ADOQuery6.SQL.Clear; dm.ADOQuery6.SQL.Add('SELECT * FROM VoenZapas where VZapas_FIO=:VZFIO and VZapas_ID<>:VZID'); dm.ADOQuery6.Prepared;
dm.ADOQuery6.Parameters.ParamByName('VZFIO').Value:=DBLooku pComboBox1.KeyValue;
dm.ADOQuery6.Parameters.ParamByName('VZID').Value:=DBEdit1.Te xt;
dm.ADOQuery6.Active:=true;
if dm.ADOQuery6.RecordCount>0 then begin
MessageDlg('Информация о данном сотруднике внесена',mtWarning,[mbOK],0);
DM.ZapasQuery.Cancel;
EditZapas.Close; end
else begin
DM.ZapasQuery.Post; //подтверждение изменений EditZapas.Close;
end;
end;
end;
procedure TEditZapas.DBLookupComboBox1Click(Sender: TObject); begin
Edit1.Text:=DBLookupComboBox1.KeyValue;
end;
procedure TEditZapas.BitBtn1Click(Sender: TObject); var x:Double;
begin
if DBLookupComboBox2.KeyValue>7 then x:=2 else x:=1; if StrToInt(DBEdit2.Text)=20 then
DBEdit5.Text:=FloatToStr(((75*(StrToInt(DBEdit3.Text)))/100)*x); if StrToInt(DBEdit2.Text)=21 then DBEdit5.Text:=FloatToStr(((80*StrToInt(DBEdit3.Text))/100)*x); if StrToInt(DBEdit2.Text)=22 then DBEdit5.Text:=FloatToStr(((85*StrToInt(DBEdit3.Text))/100)*x); if StrToInt(DBEdit2.Text)=23 then DBEdit5.Text:=FloatToStr(((90*StrToInt(DBEdit3.Text))/100)*x); if StrToInt(DBEdit2.Text)=24 then DBEdit5.Text:=FloatToStr(((95*StrToInt(DBEdit3.Text))/100)*x); if StrToInt(DBEdit2.Text)>24 then DBEdit5.Text:=FloatToStr(StrToInt(DBEdit3.Text)*x);
end;
41