Скачиваний:
9
Добавлен:
17.06.2023
Размер:
1.23 Mб
Скачать

procedure TEditZapas.FormCreate(Sender: TObject); begin

if isEdit=true then DBLookupComboBox1.Enabled:=false //изменение

else DBLookupComboBox1.Enabled:=true; end;

procedure TEditZapas.BitBtn3Click(Sender: TObject);

begin

 

DM.ZapasQuery.Cancel;

//Отмена несохраненных изменений

DM.ZapasQuery.Edit;

 

DM.ZapasQuery.Post;

//подтверждение изменений

EditZapas.Close;

 

end;

 

end.

 

unit OIndexMaxUnit;

 

interface

 

uses

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

Dialogs, StdCtrls, Grids, DBGrids, ComCtrls, DMUnit;

type

TO_MaxIndex = class(TForm) Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

DateTimePicker1: TDateTimePicker; DateTimePicker2: TDateTimePicker; DBGrid1: TDBGrid;

Button1: TButton;

procedure Button1Click(Sender: TObject); private

{Private declarations } public

{Public declarations } end;

var

O_MaxIndex: TO_MaxIndex; period1, period2:string;

implementation

{$R *.dfm}

procedure TO_MaxIndex.Button1Click(Sender: TObject); begin

period1:=DateToStr(DateTimePicker1.DateTime);

period2:=DateToStr(DateTimePicker2.DateTime);

if DateTimePicker2.DateTime<DateTimePicker1.DateTime then showmessage('Период введен некорректно!')

else dm.ADOConnection1.Connected:=true; dm.RepIndexMaxQuery.SQL.Clear;

dm.RepIndexMaxQuery.SQL.Add('SELECT IndexPens.Index_ID, IndexPens.Index_data, IndexPens.Index_vel, IndexPens.Index_prichina '+

'FROM IndexPens '+

'WHERE (IndexPens.Index_data Between :period1 And :period2) AND (IndexPens.Index_vel=DMax("[Index_vel]","IndexPens")) '+

'GROUP BY IndexPens.Index_ID, IndexPens.Index_data, IndexPens.Index_prichina, IndexPens.Index_vel;'); DM.RepIndexMaxQuery.Parameters.ParamByName('period1').Value:=pe riod1; DM.RepIndexMaxQuery.Parameters.ParamByName('period2').Value:=pe riod2;

dm.RepIndexMaxQuery.Open;

end;

end.

unit OVoenPensUnit;

42

interface

uses

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

Dialogs, Grids, DBGrids, ComCtrls, StdCtrls, DMUnit, Mask, DBCtrls, Menus, ComObj;

type

TO_VoenPens = class(TForm) Label1: TLabel;

DateTimePicker1: TDateTimePicker; DBGrid1: TDBGrid;

PopupMenu1: TPopupMenu; r1: TMenuItem; SaveDialog1: TSaveDialog;

HeaderControl1: THeaderControl;

procedure DateTimePicker1Change(Sender: TObject); procedure r1Click(Sender: TObject);

private

{Private declarations } public

{Public declarations } end;

var

O_VoenPens: TO_VoenPens;

implementation

{$R *.dfm}

procedure TO_VoenPens.DateTimePicker1Change(Sender: TObject); var day: Integer;

begin

day:=StrToInt(FormatDateTime('dd', (DateTimePicker1.Date))); dm.ADOConnection1.Connected:=true; dm.RepSpisokQuery.SQL.Clear; dm.RepSpisokQuery.SQL.Add('SELECT VoenInfo.VInfo_FIO, VoenZapas.VZapas_denplata, VoenZvanie.VZvanie_name '+

'FROM VoenZvanie INNER JOIN (VoenInfo INNER JOIN VoenZapas ON VoenInfo.VInfo_ID = VoenZapas.VZapas_FIO) ON VoenZvanie.VZvanie_ID = VoenZapas.VZapas_zvanie '+

'WHERE VoenZapas.VZapas_denplata=:day '+

'GROUP BY VoenInfo.VInfo_FIO, VoenZvanie.VZvanie_name, VoenZapas.VZapas_denplata;'); DM.RepSpisokQuery.Parameters.ParamByName('day').Value:=day; dm.RepSpisokQuery.Open;

end;

procedure TO_VoenPens.r1Click(Sender: TObject); var

ExcelApp, Workbook, Range, Cell1, Cell2, ArrayData : Variant; TemplateFile : String;

BeginCol, BeginRow, i, j : integer; begin

//Координаты левого верхнего угла области, //в которую будем выводить данные BeginCol := 1;

BeginRow := 1;

//Создание экземпляра Excel

ExcelApp := CreateOleObject('Excel.Application');

//Отключаем реакцию Excel на события, //чтобы ускорить вывод информации ExcelApp.Application.EnableEvents := false;

//Создаем Книгу (Workbook)

//Если заполняем шаблон, то

//Workbook := ExcelApp.WorkBooks.Add('C:\MyTemplate.xls'); Workbook := ExcelApp.WorkBooks.Add;

//из Grid'а

with DbGrid1.DataSource.DataSet do begin

dm.RepSpisokQuery.Last;

dm.RepSpisokQuery.First;

ArrayData := VarArrayCreate([1, RecordCount, 1, FieldCount], varVariant);

// Заполняем массив

for I := 1 to dm.RepSpisokQuery.RecordCount do begin

for J := 1 to dm.RepSpisokQuery.FieldCount do

ArrayData[I, J] := dm.RepSpisokQuery.Fields[j-1].AsVariant; dm.RepSpisokQuery.Next;

end;

end;

// Левая верхняя ячейка области, //в которую будем выводить данные

Cell1 := WorkBook.WorkSheets[1].Cells[BeginRow, BeginCol]; // Правая нижняя ячейка области, //в которую будем выводить данные

Cell2 := WorkBook.WorkSheets[1].Cells[BeginRow + DbGrid1.DataSource.DataSet.RecordCount - 1,

BeginCol + DbGrid1.DataSource.DataSet.FieldCount - 1];

// Область, в которую будем выводить данные

Range := WorkBook.WorkSheets[1].Range[Cell1, Cell2];

//сам вывод данных

//Намного быстрее поячеечного присвоения Range.Value := ArrayData;

//Делаем Excel видимым

ExcelApp.Visible := true;

end;

end.

unit OZaderzhkaViplatUnit;

interface

uses

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

Dialogs, Grids, DBGrids, ComCtrls, StdCtrls, DMUnit;

type

TO_ZaderzhkaViplat = class(TForm) DBGrid1: TDBGrid;

Label1: TLabel;

DateTimePicker1: TDateTimePicker; procedure FormCreate(Sender: TObject); private

{Private declarations } public

{Public declarations } end;

var

O_ZaderzhkaViplat: TO_ZaderzhkaViplat;

implementation

{$R *.dfm}

procedure TO_ZaderzhkaViplat.FormCreate(Sender: TObject); var day, month: Integer;

begin DateTimePicker1.Date:=Date;

day:=StrToInt(FormatDateTime('dd', (DateTimePicker1.Date))); month:=StrToInt(FormatDateTime('mm', DateTimePicker1.Date)); dm.ADOConnection1.Connected:=true; dm.ZaderzhkaQuery.SQL.Clear; dm.ZaderzhkaQuery.SQL.Add('SELECT VoenInfo.VInfo_FIO,

VoenZvanie.VZvanie_name, VoenZapas.VZapas_dtyval, VoenZapas.VZapas_denplata, PensVid.Pens_data, PensVid.Pens_month '+

'FROM VoenZvanie INNER JOIN ((VoenInfo INNER JOIN PensVid ON VoenInfo.VInfo_ID = PensVid.Pens_FIO) INNER JOIN VoenZapas

ON VoenInfo.VInfo_ID = VoenZapas.VZapas_FIO) ON VoenZvanie.VZvanie_ID = VoenZapas.VZapas_zvanie '+ 'WHERE VoenZapas.VZapas_denplata<:day and PensVid.Pens_month<:month '+

'GROUP BY VoenInfo.VInfo_FIO, VoenZvanie.VZvanie_name, VoenZapas.VZapas_denplata, VoenZapas.VZapas_dtyval, PensVid.Pens_data, PensVid.Pens_month;'); DM.ZaderzhkaQuery.Parameters.ParamByName('day').Value:=day; dm.ZaderzhkaQuery.Parameters.ParamByName('month').Value:=month; dm.ZaderzhkaQuery.Open;

end;

end.

unit PassChangeUnit;

interface

uses

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

Dialogs, StdCtrls, Buttons, DBCtrls, DMUnit;

type

TPassChange = class(TForm) DBLookupComboBox1: TDBLookupComboBox; Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

Edit1: TEdit;

Edit2: TEdit;

Label4: TLabel;

Edit3: TEdit; BitBtn1: TBitBtn; BitBtn2: TBitBtn;

procedure FormCreate(Sender: TObject); procedure BitBtn1Click(Sender: TObject); private

{Private declarations } public

{Public declarations } end;

var

PassChange: TPassChange;

implementation

{$R *.dfm}

procedure TPassChange.FormCreate(Sender: TObject); begin

dm.ADOConnection1.Connected:=true;

dm.EnterADOQuery.Open;

end;

procedure TPassChange.BitBtn1Click(Sender: TObject); var parol:string;

begin dm.EnterADOQuery.Active:=true;

dm.EnterADOQuery.Locate('U_ID',DBLookupComboBox1.KeyValue,[] );

parol:=dm.EnterADOQuery.FieldValues['U_Pass']; if (Edit1.Text=parol) and (edit2.Text=Edit3.Text) then

begin dm.EnterADOQuery.Edit;

dm.EnterADOQuery.FieldValues['U_Pass']:=edit2.Text; dm.EnterADOQuery.Post;

ShowMessage('Пароль успешно изменен!'); PassChange.Close;

end;

if Edit1.Text<>parol then ShowMessage('Старый пароль введен неверно!');

if edit2.Text<>Edit3.Text then ShowMessage('Пароли не совпадают!');

end;

end.

43

Соседние файлы в папке Курсовые работы