Курсовые работы / ПРИС П _10
.pdfprocedure 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