📄 frmaffiche.pas
字号:
unit frmAffiche;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, dxExEdtr, dxDBTLCl, dxGrClms, dxTL, dxDBCtrl, dxDBGrid,
dxCntner, StdCtrls, Buttons, ComCtrls, dxEditor, dxEdLib, ExtCtrls,
dxDBEdtr, dxDBELib, DB, ADODB, RM_dset, RM_dbset, RM_class,DateUtils;
type
TAfficheForm = class(TForm)
Panel1: TPanel;
Label3: TLabel;
Label4: TLabel;
Label1: TLabel;
edtPersonID: TdxButtonEdit;
edtFirstDate: TDateTimePicker;
edtEndDate: TDateTimePicker;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
BitBtn3: TBitBtn;
dsWorktype: TDataSource;
dsAfficheTotal: TDataSource;
grdAfficheTotal: TdxDBGrid;
grdAfficheTotalRateID: TdxDBGridMaskColumn;
grdAfficheTotalRateName: TdxDBGridMaskColumn;
grdAfficheTotalModelID: TdxDBGridMaskColumn;
grdAfficheTotalProdAnums: TdxDBGridMaskColumn;
grdAfficheTotalProdBNums: TdxDBGridMaskColumn;
grdAfficheTotalProdCNums: TdxDBGridMaskColumn;
aspAfficheTotal: TADOStoredProc;
rmpRefficheTotal: TRMReport;
RMDBDataSet1: TRMDBDataSet;
BitBtn4: TBitBtn;
SaveDialog: TSaveDialog;
StatusBar1: TStatusBar;
procedure edtPersonIDButtonClick(Sender: TObject;
AbsoluteIndex: Integer);
procedure FormKeyPress(Sender: TObject; var Key: Char);
procedure BitBtn1Click(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure BitBtn3Click(Sender: TObject);
procedure rmpRefficheTotalGetValue(const ParName: String;
var ParValue: Variant);
procedure BitBtn4Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
AfficheForm: TAfficheForm;
implementation
uses
DataCenter, ChoicePerson, ProdRate,frmMsg;
{$R *.dfm}
procedure TAfficheForm.edtPersonIDButtonClick(Sender: TObject;
AbsoluteIndex: Integer);
begin
if Application.FindComponent('frmChoicePerson')=nil then
Application.CreateForm(TfrmChoicePerson,frmChoicePerson);
dmData.aquPersonel.SQL.Text:='select * from Personel';
dmData.aquPersonel.Open;
case frmChoicePerson.ShowModal of {返回的值}
mrCancel:
begin
edtFirstDate.SetFocus;
// ValueIsChange:=true;
end;
mrOk:
begin
edtPersonID.Text:=dmData.aquPersonelPersonID.Value;
edtFirstDate.SetFocus;
end;
end;
end;
procedure TAfficheForm.FormKeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then { 判断是按执行键}
if not (ActiveControl is TdxDbgrid) Then
Begin { 不是在TDbgrid控件内}
key:=#0;
perform(WM_NEXTDLGCTL,0,0);{移动到下一个控件}
end;
end;
procedure TAfficheForm.BitBtn1Click(Sender: TObject);
begin
aspAfficheTotal.Close;
aspAfficheTotal.Parameters[1].Value:=edtFirstDate.Date;
aspAfficheTotal.Parameters[2].Value:=edtEndDate.Date;
aspAfficheTotal.Parameters[3].Value:=edtPersonID.Text;
MsgForm:=TmsgForm.create(self);
MsgForm.Show;
screen.Cursor:=crSQLWAIT;
MsgForm.update;
aspAfficheTotal.Open;
MsgForm.Hide;
screen.Cursor:=crDefault;
MsgForm.Close;
MsgForm.Free;
StatusBar1.Panels[0].Text:='总有记录数:'+inttostr(aspAfficheTotal.recordcount)+'条';
end;
procedure TAfficheForm.FormShow(Sender: TObject);
begin
aspAfficheTotal.Close;
edtFirstDate.Date:=Date();
edtEndDate.Date:=Date();
edtPersonID.Text:='';
end;
procedure TAfficheForm.BitBtn3Click(Sender: TObject);
begin
aspAfficheTotal.DisableControls;
rmpRefficheTotal.LoadFromFile('AfficheTotal');
rmpRefficheTotal.ShowReport;
aspAfficheTotal.EnableControls;
end;
procedure TAfficheForm.rmpRefficheTotalGetValue(const ParName: String;
var ParValue: Variant);
begin
if ParName='FirstDate' then ParValue:=DateToStr(edtFirstDate.Date);
if ParName='EndDate' then ParValue:=DateToStr(edtEndDate.Date);
end;
procedure TAfficheForm.BitBtn4Click(Sender: TObject);
begin
if SaveDialog.Execute then
begin
if FileExists(SaveDialog.FileName) then
if MessageDlg(Format('文件"'+SaveDialog.FileName+'"已经存在,是否替换原有文件?', [SaveDialog.FileName]),mtConfirmation, mbYesNoCancel, 0) <> idYes then Exit;
grdAfficheTotal.SaveToXLS(SaveDialog.FileName,true);
end;
end;
procedure TAfficheForm.FormCreate(Sender: TObject);
begin
edtFirstDate.Date:=Date()-dayof(date())+1;
edtEndDate.Date:=date();
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -