📄 main.pas
字号:
unit main;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls, WinSkinData, DB, ADODB, ToolWin, ImgList, RM_Dataset,
RM_Class, RM_Designer, RM_Common, Grids, DBGridEh, ExtCtrls,
TFlatPanelUnit, StdCtrls, Mask, PDJ_XPDBC, Menus, DBCtrls, RzDBNav,Math,
TFlatGroupBoxUnit, TFlatEditUnit, PDJ_XPC, PDJ_XPSpB, RM_GridReport,
RM_e_main, RM_e_Xls;
type
TfrmMain = class(TForm)
SB: TStatusBar;
AdoConconn: TADOConnection;
il5: TImageList;
tlb1: TToolBar;
btnInsert: TToolButton;
btnEdit: TToolButton;
btnDelete: TToolButton;
btnPrint: TToolButton;
btn1: TToolButton;
btnClose: TToolButton;
RMReport1: TRMReport;
RMDesigner1: TRMDesigner;
RMDBDataSet1: TRMDBDataSet;
pm1: TPopupMenu;
FlatPanel3: TFlatPanel;
DBGridEh2: TDBGridEh;
pnl1: TPanel;
pnl2: TPanel;
pnl3: TPanel;
FlatPanel5: TFlatPanel;
DBGridEh1: TDBGridEh;
FlatPanel4: TFlatPanel;
lbl1: TLabel;
lbl2: TLabel;
lbl3: TLabel;
lbl4: TLabel;
lbl5: TLabel;
lbl6: TLabel;
lbl7: TLabel;
lbl8: TLabel;
PDJXPDBEdit1: TPDJXPDBEdit;
PDJXPDBEdit2: TPDJXPDBEdit;
PDJXPDBEdit3: TPDJXPDBEdit;
PDJXPDBEdit4: TPDJXPDBEdit;
PDJXPDBEdit5: TPDJXPDBEdit;
PDJXPDBEdit6: TPDJXPDBEdit;
PDJXPDBEdit7: TPDJXPDBEdit;
PDJXPDBEdit8: TPDJXPDBEdit;
ds_Jzry: TDataSource;
aQry: TADOQuery;
SkinData2: TSkinData;
RzDBNavigator1: TRzDBNavigator;
aQry_print: TADOQuery;
FlatGroupBox1: TFlatGroupBox;
edtId: TPDJXPEdit;
PDJXPSpeedButton1: TPDJXPSpeedButton;
tmr1: TTimer;
btn2: TToolButton;
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure btnCloseClick(Sender: TObject);
procedure ds_JzryDataChange(Sender: TObject; Field: TField);
procedure btn1Click(Sender: TObject);
procedure btnPrintClick(Sender: TObject);
procedure PDJXPSpeedButton1Click(Sender: TObject);
procedure tmr1Timer(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure btnEditClick(Sender: TObject);
procedure btnInsertClick(Sender: TObject);
procedure btnDeleteClick(Sender: TObject);
procedure btn2Click(Sender: TObject);
private
procedure Updatedata;
{ Private declarations }
public
bConnect: Boolean;
Year, Month, Day: Word;
FilterControlList: TStringList;
{ Public declarations }
end;
var
frmMain: TfrmMain;
sSql,
s_value:string;
Conf:boolean;
implementation
uses CommonFunc,PubFunction,PubProCess,frmselectitem,Variable,
uProgress,udm,login,Gen_Q;
{$R *.dfm}
procedure TfrmMain.Updatedata;
begin
if dm.Atbl_tmp.Active then
dm.Atbl_tmp.Close ;
sSql :='DELETE * FROM 临时库';
aQry.Close ;
aQry.SQL.Clear ;
aQry.SQL.Add(sSql);
aQry.ExecSQL ;
//s_value :=dm.Atbl_Jzry.Fieldbyname('id').Value ;
//第一次
ssql:='insert into 临时库(df_sj,df_bj,df_ye,df_lx)';
sSql:=sSql +' VALUES('+QuotedStr(DateToStr(dm.Atbl_Jzry.Fieldbyname('df1_sj').Value))+','+QuotedStr(dm.Atbl_Jzry.Fieldbyname('df1_bj').Value);
sSql:=sSql +','+ QuotedStr(dm.Atbl_Jzry.Fieldbyname('df1_ye').Value) +','+ QuotedStr(FloatToStr(RoundTo(dm.Atbl_Jzry.Fieldbyname('df1_lx').AsFloat,-2))) +')';
aQry.Close ;
aQry.SQL.Clear ;
aQry.SQL.Add(sSql);
aQry.ExecSQL ;
//第二次
ssql:='insert into 临时库(df_sj,df_bj,df_ye,df_lx)';
sSql:=sSql +' VALUES('+QuotedStr(DateToStr(dm.Atbl_Jzry.Fieldbyname('df2_sj').Value))+','+QuotedStr(dm.Atbl_Jzry.Fieldbyname('df2_bj').Value);
sSql:=sSql +','+ QuotedStr(dm.Atbl_Jzry.Fieldbyname('df2_ye').Value) +','+ QuotedStr(FloatToStr(RoundTo(dm.Atbl_Jzry.Fieldbyname('df2_lx').AsFloat,-2))) +')';
aQry.Close ;
aQry.SQL.Clear ;
aQry.SQL.Add(sSql);
aQry.ExecSQL ;
//第三次
ssql:='insert into 临时库(df_sj,df_bj,df_ye,df_lx)';
sSql:=sSql +' VALUES('+QuotedStr(DateToStr(dm.Atbl_Jzry.Fieldbyname('df3_sj').Value))+','+QuotedStr(dm.Atbl_Jzry.Fieldbyname('df3_bj').Value);
sSql:=sSql +','+ QuotedStr(dm.Atbl_Jzry.Fieldbyname('df3_ye').Value) +','+ QuotedStr(FloatToStr(RoundTo(dm.Atbl_Jzry.Fieldbyname('df3_lx').AsFloat,-2))) +')';
aQry.Close ;
aQry.SQL.Clear ;
aQry.SQL.Add(sSql);
aQry.ExecSQL ;
//第四次
ssql:='insert into 临时库(df_sj,df_bj,df_ye,df_lx)';
sSql:=sSql +' VALUES('+QuotedStr(DateToStr(dm.Atbl_Jzry.Fieldbyname('df4_sj').Value))+','+QuotedStr(dm.Atbl_Jzry.Fieldbyname('df4_bj').Value);
sSql:=sSql +','+ QuotedStr(dm.Atbl_Jzry.Fieldbyname('df4_ye').Value) +','+ QuotedStr(FloatToStr(RoundTo(dm.Atbl_Jzry.Fieldbyname('df4_lx').AsFloat,-2))) +')';
aQry.Close ;
aQry.SQL.Clear ;
aQry.SQL.Add(sSql);
aQry.ExecSQL ;
//第五次
ssql:='insert into 临时库(df_sj,df_bj,df_ye,df_lx)';
sSql:=sSql +' VALUES('+QuotedStr(DateToStr(dm.Atbl_Jzry.Fieldbyname('df5_sj').Value))+','+QuotedStr(dm.Atbl_Jzry.Fieldbyname('df5_bj').Value);
sSql:=sSql +','+ QuotedStr(dm.Atbl_Jzry.Fieldbyname('df5_ye').Value) +','+ QuotedStr(FloatToStr(RoundTo(dm.Atbl_Jzry.Fieldbyname('df5_lx').AsFloat,-2))) +')';
aQry.Close ;
aQry.SQL.Clear ;
aQry.SQL.Add(sSql);
aQry.ExecSQL ;
//第六次
ssql:='insert into 临时库(df_sj,df_lx)';
sSql:=sSql +' VALUES('+QuotedStr(DateToStr(dm.Atbl_Jzry.Fieldbyname('df6_sj').Value));
sSql:=sSql +','+ QuotedStr(FloatToStr(RoundTo(dm.Atbl_Jzry.Fieldbyname('df6_lx').AsFloat,-2))) +')';
aQry.Close ;
aQry.SQL.Clear ;
aQry.SQL.Add(sSql);
aQry.ExecSQL ;
aQry.SQL.Clear ;
aQry.Close ;
dm.Atbl_tmp.Active :=True ;
end;
procedure TfrmMain.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
if MsgBox('真的要退出本系统吗?!','提示信息',4)=6 then
begin
if bConnect then
dm.Atbl_Jzry.Close ;
CanClose:=True;
end
else
CanClose:=False;
end;
procedure TfrmMain.FormCreate(Sender: TObject);
var
PathDataBase:string;
begin
AdoConconn.Close;
PathDataBase:=MainDir+'data\兑付集资.mdb' ;
if not ConnectADO(AdoConconn,PathDataBase,'') then
begin
Application.MessageBox('连接的数据库失败,请查看数据库是否损坏!', '错误', mb_iconInformation + mb_defbutton1);
Application.Terminate; //如果连接不成功,退出应用程序
end ;
if not LoginExecute(TfrmLogin) then //如果身份验证无效,就退出系统
Application.Terminate;
if CurrentParam.blnload then
begin
ShortDateFormat:='YYYY-MM-DD';
longdateformat:='YYYY-MM-DD';
DecodeDate(Date,Year,Month,Day);
CurrentParam.iyear :=formatfloat('0000',Year);//inttostr(Year);
CurrentParam.iMonth :=formatfloat('00',Month);
CurrentParam.iDay :=formatfloat('00',Day);
DATESEPARATOR:='-';
Width :=800;
Height:=600;
end;
end;
procedure TfrmMain.FormDestroy(Sender: TObject);
begin
frmMain:=nil;
end;
procedure TfrmMain.FormClose(Sender: TObject; var Action: TCloseAction);
begin
//dm.Atbl_tmp.Close ;
AdoConconn.Close;
//AnimateWindow(handle,200,AW_HIDE or AW_BLEND);
Action := caFree;
end;
procedure TfrmMain.btnCloseClick(Sender: TObject);
begin
close;
end;
procedure TfrmMain.ds_JzryDataChange(Sender: TObject; Field: TField);
begin
if dm.Atbl_Jzry.State =dsbrowse then
Updatedata;
sb.Panels[0].Text :='当前记录:'+inttostr(dm.Atbl_Jzry.RecNo);
sb.Refresh ;
end;
procedure TfrmMain.btn1Click(Sender: TObject);
begin
sSql:='SELECT ID as 编号,xm as 姓名, sfz as 身份证号, zz as 电话号码, jzhm as 集资号码,crsj as 存入时间,je as 金额,qx as 期限,(df1_lx+df2_lx+df3_lx+df4_lx+df5_lx+df6_lx) as 利息总额 from 集资人员 where id=';
sSql :=sSql +inttostr(dm.Atbl_Jzry.Fieldbyname('id').AsInteger);
aqry_print.Close ;
aqry_print.SQL.Clear ;
aqry_print.SQL.Add(sSql);
aqry_print.Open ;
RMReport1.LoadFromFile(MainDir +'jkyh.rmf') ;
RMDBDataSet1.Dataset:=aqry_print;
RMReport1.DesignReport ;
aqry_print.SQL.Clear ;
aqry_print.Close ;
end;
procedure TfrmMain.btnPrintClick(Sender: TObject);
begin
sSql:='SELECT ID as 编号,xm as 姓名, sfz as 身份证号, zz as 电话号码, jzhm as 集资号码,crsj as 存入时间,je as 金额,qx as 期限,(df1_lx+df2_lx+df3_lx+df4_lx+df5_lx) as 利息总额 from 集资人员 where id=';
sSql :=sSql +inttostr(dm.Atbl_Jzry.Fieldbyname('id').AsInteger);
aqry_print.Close ;
aqry_print.SQL.Clear ;
aqry_print.SQL.Add(sSql);
aqry_print.Open ;
RMReport1.LoadFromFile(MainDir +'jkyh.rmf') ;
RMDBDataSet1.Dataset:=aqry_print;
RMReport1.ShowReport;
aqry_print.SQL.Clear ;
aqry_print.Close ;
end;
procedure TfrmMain.PDJXPSpeedButton1Click(Sender: TObject);
var
lo:TLocateOptions ;
begin
if Length(edtId.Text)=0 then
begin
Application.MessageBox('请输入要查询的编号!', '提示', mb_iconInformation + mb_defbutton1);
edtId.SetFocus ;
Exit;
end;
dm.Atbl_Jzry.Locate('ID',edtId.Text,lo);
end;
procedure TfrmMain.tmr1Timer(Sender: TObject);
begin
sb.Panels[3].Text:='时间:'+timetostr(time);
end;
procedure TfrmMain.FormShow(Sender: TObject);
begin
if CurrentParam.blnload then
begin
frmProgress.pnl1.Caption :='正在打开兑付表,请稍候!......';
frmProgress.Show ;
frmProgress.Refresh ;
dm.Atbl_Jzry.Active :=True ;
dm.Atbl_tmp.Active :=True ;
frmProgress.Close ;
end;
end;
procedure TfrmMain.btnEditClick(Sender: TObject);
begin
with Tfmselectitem.Create(self) do
begin
items := dbgridEh1.Columns;
showmodal;
free;
end;
end;
procedure TfrmMain.btnInsertClick(Sender: TObject);
begin
ExportDataToExecel(DBGridEh1,Caption,'',datetostr(Date));
dm.Atbl_Jzry.First ;
end;
procedure TfrmMain.btnDeleteClick(Sender: TObject);
var
s_filtervalue:string;
begin
application.createform(TF_Query, F_Query);
try
//添加字段,“;”前表示实际字段,";"后表示字段别名
F_Query.TableName :='集资人员';//提供表名
//向操作符下拉框添加操作符
F_Query.Cmb_zdm.items.Clear;
F_Query.Cmb_zdm.Items.Add('编号;ID');
F_Query.Cmb_zdm.Items.Add('姓名;XM');
F_Query.Cmb_zdm.Items.Add('电话;ZZ');
F_Query.Cmb_zdm.Items.Add('身份证号码;sfz');
F_Query.Cmb_zdm.Items.Add('集资号码;jzhm');
F_Query.Cmb_zdm.Items.Add('存入时间;crsj');
F_Query.Cmb_zdm.Items.Add('金额;je');
F_Query.Cmb_zdm.Items.Add('兑付日期1;df1_sj');
F_Query.Cmb_zdm.Items.Add('兑付日期2;df2_sj');
F_Query.Cmb_zdm.Items.Add('兑付日期3;df3_sj');
F_Query.Cmb_zdm.Items.Add('兑付日期4;df4_sj');
F_Query.Cmb_zdm.Items.Add('兑付日期5;df5_sj');
F_Query.Cmb_zdm.Items.Add('兑付日期6;df6_sj');
F_Query.Cmb_zdm.Items.Add('对付利息1;df1_lx');
F_Query.Cmb_zdm.Items.Add('对付利息2;df2_lx');
F_Query.Cmb_zdm.Items.Add('对付利息3;df3_lx');
F_Query.Cmb_zdm.Items.Add('对付利息4;df4_lx');
F_Query.Cmb_zdm.Items.Add('对付利息5;df5_lx');
F_Query.Cmb_zdm.Items.Add('对付利息6;df6_lx');
F_Query.ShowModal;
Conf:=F_Query.Conf ;
s_filtervalue:=F_Query.filtervalue;
finally
F_Query.Free ;
end;
if conf then
begin
dm.Atbl_Jzry.Filter :=s_filtervalue;
dm.Atbl_Jzry.Filtered :=True;
{ strsqL:='SELECT * FROM KHDA WHERE '+ s_filtervalue ;
dm.CDS_Tmp.Close;
dm.CDS_Tmp.CommandText :=strsql;
dm.CDS_Tmp.Open ;
CurrentParam.btnTable:=true; }
end;
end;
procedure TfrmMain.btn2Click(Sender: TObject);
begin
dm.Atbl_Jzry.Filter :='';
dm.Atbl_Jzry.Filtered :=False;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -