📄 main.~pas
字号:
unit main;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls, Menus, ImgList, StdCtrls,shellapi,
ToolWin, ExtCtrls, jpeg, Buttons,
SkinCaption, WinSkinStore, WinSkinData, Tabs;
type
TMainForm = class(TForm)
StatusBar1: TStatusBar;
MainMenu: TMainMenu;
N12: TMenuItem;
N9: TMenuItem;
N13: TMenuItem;
N1: TMenuItem;
N4: TMenuItem;
N2: TMenuItem;
N7: TMenuItem;
N3: TMenuItem;
N11: TMenuItem;
N10: TMenuItem;
N14: TMenuItem;
N16: TMenuItem;
N17: TMenuItem;
SkinData1: TSkinData;
SkinStore1: TSkinStore;
SkinCaption1: TSkinCaption;
ControlBar1: TControlBar;
Image1: TImage;
TabSet1: TTabSet;
N18: TMenuItem;
N19: TMenuItem;
N20: TMenuItem;
ImageList1: TImageList;
ToolBar1: TToolBar;
ToolButton2: TToolButton;
ToolButton7: TToolButton;
SetPass: TToolButton;
ToolButton8: TToolButton;
ToolButton1: TToolButton;
ToolButton3: TToolButton;
ToolButton10: TToolButton;
ToolButton9: TToolButton;
Timer1: TTimer;
N8: TMenuItem;
SaveDialog1: TSaveDialog;
N5: TMenuItem;
OpenDialog1: TOpenDialog;
N6: TMenuItem;
N15: TMenuItem;
N21: TMenuItem;
procedure FormCreate(Sender: TObject);
procedure N14Click(Sender: TObject);
procedure createForm(vFlag:integer;vFormName:string);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure N18Click(Sender: TObject);
procedure N19Click(Sender: TObject);
procedure N20Click(Sender: TObject);
procedure FormResize(Sender: TObject);
procedure TabSet1Change(Sender: TObject; NewTab: Integer;
var AllowChange: Boolean);
procedure Timer1Timer(Sender: TObject);
procedure N17Click(Sender: TObject);
procedure N7Click(Sender: TObject);
procedure ToolButton9Click(Sender: TObject);
procedure N10Click(Sender: TObject);
procedure N13Click(Sender: TObject);
procedure SetPassClick(Sender: TObject);
procedure ToolButton2Click(Sender: TObject);
procedure ToolButton7Click(Sender: TObject);
procedure N4Click(Sender: TObject);
procedure ToolButton3Click(Sender: TObject);
procedure N9Click(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure N8Click(Sender: TObject);
procedure N5Click(Sender: TObject);
procedure N11Click(Sender: TObject);
procedure N6Click(Sender: TObject);
procedure N15Click(Sender: TObject);
procedure ToolButton1Click(Sender: TObject);
procedure N21Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
procedure delTabs(FormCaption:string); //删除TAB上的信息;
procedure addTabs(FormCaption:string); //增加TAB上的信息;
var
MainForm: TMainForm;
implementation
uses login, ConBrowse,DBM,ConstructUnit, SystemLog, AddConForm, SetPass,
banben, wait,Waitpas1,HZUnit, SetConClass,inc, conf, vRegistry,
am_dz_cxs;
{$R *.dfm}
procedure TMainForm.FormCreate(Sender: TObject);
begin
//LoginForm:= TLoginForm.Create(Application);
//LoginForm.ShowModal;
end;
procedure TMainForm.N14Click(Sender: TObject);
begin
createForm(22,'ConForm');
addTabs('合同信息');
// SetLogs('登陆查看合同信息');
end;
//****************创建窗体****************//
procedure TMainForm.createForm(vFlag:integer;vFormName:string);
//定义是否已经存在该实例
procedure iSelect(k:integer);
var
i:integer;
begin
//通过TabSet1组件实现对文档的快速切换
with TabSet1 do begin
case k of
22: begin
for i:=0 to Tabs.Count-1 do
if Tabs.Strings[i]='合同信息' then Exit;
//创建窗体
ConForm:=TConForm.Create(Self);
//设置窗体状态
ConForm.WindowState :=wsMaximized;
end;
12:begin
for i:=0 to Tabs.Count-1 do
if Tabs.Strings[i]='日志管理' then Exit;
SystemForm:=TSystemForm.Create(Self);
SystemForm.WindowState :=wsMaximized;
end;
end;
end;
end;
var
i:integer;
vF:string;
begin
//判断是否存在已经打开的窗体
if MainForm.MDIChildCount<>0 then begin
//遍历多文档中是否存在需要打开的窗体
for i:=0 to MainForm.MDIChildCount-1 do
if MainForm.MDIChildren[i].Name =vFormName then
vF:='true';
if vF='' then
iSelect(vFlag);
end else
iSelect(vFlag);
end;
procedure addTabs(FormCaption:string);
var
i:integer;
vFlag:string;
begin
with MainForm.TabSet1 do begin
if Tabs.Count=0 then
Tabs.Add(FormCaption);
for i:=0 to Tabs.Count-1 do
if Tabs.Strings[i]=FormCaption then begin
TabIndex :=i;
vFlag:='true';
Break;
end;
if vFlag<>'true' then begin
Tabs.Add(FormCaption);
TabIndex :=i;
end;
end;
end;
procedure delTabs(FormCaption: string);
var
i:integer;
begin
with MainForm.TabSet1 do
for i:=0 to Tabs.Count-1 do
if Tabs.Strings[i]=FormCaption then begin
Tabs.Delete(i);
Break;
end;
end;
procedure TMainForm.FormClose(Sender: TObject; var Action: TCloseAction);
begin
if MessageDlg('关闭程序是否备份数据?',mtConfirmation, [mbYes, mbNo], 0)= mrYes then
begin
N11Click(Sender);
end;
Action:=caFree;
end;
procedure TMainForm.N18Click(Sender: TObject);
begin
Tile;
end;
procedure TMainForm.N19Click(Sender: TObject);
begin
Cascade;
end;
procedure TMainForm.N20Click(Sender: TObject);
begin
ArrangeIcons;
end;
procedure TMainForm.FormResize(Sender: TObject);
begin
TabSet1.Left :=603;
TabSet1.Top :=Statusbar1.Top+2;
TabSet1.Width :=MainForm.Width-700;
end;
procedure TMainForm.TabSet1Change(Sender: TObject; NewTab: Integer;
var AllowChange: Boolean);
begin
if TabSet1.Tabs.Count>0 then begin
if TabSet1.TabIndex=-1 then Exit;
if TabSet1.Tabs.Strings[NewTab]='合同管理' then
ConForm.Show;
end;
end;
procedure TMainForm.Timer1Timer(Sender: TObject);
begin
StatusBar1.Panels.Items[1].Text :='当前时间:'+DateTimeToStr(Now);
end;
procedure TMainForm.N17Click(Sender: TObject);
begin
createForm(12,'SystemForm');
addTabs('日志管理');
end;
procedure TMainForm.N7Click(Sender: TObject);
begin
AddContract:=TAddContract.Create(Self);
AddContract.ShowModal;
end;
procedure TMainForm.ToolButton9Click(Sender: TObject);
begin
N10Click(Sender);
end;
procedure TMainForm.N10Click(Sender: TObject);
begin
if Application.MessageBox('请确认是否退出本系统', '提示信息', mb_iconinformation + mb_YesNo) = id_yes then
begin
if MessageDlg('关闭程序是否备份数据?',mtConfirmation, [mbYes, mbNo], 0)= mrYes then
begin
N11Click(Sender);
end;
application.Terminate;
end;
end;
procedure TMainForm.N13Click(Sender: TObject);
begin
SetPassForm:=TSetPassForm.Create(Self);
SetPassForm.ShowModal;
end;
procedure TMainForm.SetPassClick(Sender: TObject);
begin
N13Click(Sender);
end;
procedure TMainForm.ToolButton2Click(Sender: TObject);
begin
N14Click(Sender);
end;
procedure TMainForm.ToolButton7Click(Sender: TObject);
begin
ShellExecute(handle,'open','calc.exe','','',SW_SHOWNORMAL);
end;
procedure TMainForm.N4Click(Sender: TObject);
begin
construct:=Tconstruct.Create(Self);
construct.ShowModal;
end;
procedure TMainForm.ToolButton3Click(Sender: TObject);
begin
bbForm:=TbbForm.Create(Self);
bbForm.ShowModal;
end;
procedure TMainForm.N9Click(Sender: TObject);
begin
UserName:='';
loginForm.E_UserID.Text:='';
loginForm.MM_E.Text:='';
loginForm.ShowModal;
//判断用户的ID是否为空
if UserName='' then exit;
SetConForm:=TSetConForm.Create(Self);
SetConForm.ShowModal;
end;
procedure TMainForm.FormShow(Sender: TObject);
begin
StatusBar1.Panels.Items[0].Text:='当前用户:'+UserName;
StatusBar1.Panels[3].Text :=LeastDay;
if checklogin=0 then begin
MainMenu.Items[0].Items[0].Enabled:=false;
MainMenu.Items[0].Items[1].Enabled:=false;
MainMenu.Items[0].Items[2].Enabled:=false;
MainMenu.Items[3].Items[0].Enabled:=false;
MainMenu.Items[3].Items[1].Enabled:=false;
MainMenu.Items[1].Items[0].Enabled:=false;
SetPass.Enabled:=false;
end;
if LeastDay='合同管理-V2.0(正式版)' then
MainMenu.Items[0].Items[3].Visible:=false;
end;
procedure TMainForm.N8Click(Sender: TObject);
begin
ConfigForm:=TConfigForm.Create(Self);
ConfigForm.ShowModal;
end;
procedure TMainForm.N5Click(Sender: TObject);
begin
if Messagebox(handle,'还原通迅录数据时,将导致现有数据被覆盖,您确定要还原吗?','提醒',MB_YESNO+MB_ICONQUESTION)=IDNO then Exit;
if OpenDialog1.Execute then begin
Waitpas.Create(DM.ADOQuery6,trim(Opendialog1.FileName),2);
WaitForm.ShowModal;
end;
end;
procedure TMainForm.N11Click(Sender: TObject);
begin
SaveDialog1.FileName:=formatDateTime('yyyyMMddHHmmss',now());
if SaveDialog1.Execute then begin
WaitPas.Create(DM.ADOQuery6,trim(SaveDialog1.FileName),1);
WaitForm.ShowModal;
end;
end;
procedure TMainForm.N6Click(Sender: TObject);
begin
vRegForm.ShowModal;
end;
procedure TMainForm.N15Click(Sender: TObject); //财务汇总
{var
BeAudit_h,
AfAudit_h,
AfAuditPay_h,
Payed_h,
BePayed_h,
ThisYear_h,
Remain_h,
ConNumber_h:string;
fill:string;
begin
BeAudit_h:='';
AfAudit_h:='';
AfAuditPay_h:='';
Payed_h:='0';
BePayed_h:='0';
ThisYear_h:='0';
Remain_h:='0';
fill:='';
//WaitForm.ShowModal;
with DM do
begin
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('select ConNumber from contract');
ADOQuery1.Open; //打开合同表
while not ADOQuery1.Eof do
begin
BeAudit_h:='';
AfAudit_h:='';
AfAuditPay_h:='';
Payed_h:='0';
BePayed_h:='0';
ThisYear_h:='0';
Remain_h:='0';
fill:='';
connumber_h:=ADOQuery1.FieldValues['ConNumber'];//合同号
ADOQuery_h.Close;
ADOQuery_h.SQL.Clear;
ADOQuery_h.SQL.Add('select daifang,remain from detail where ConNumber='''+connumber_h+'''');
ADOQuery_h.Open;
if ADOQuery_h.RecordCount=0 then
begin
gengxin_h.Close;
gengxin_h.SQL.Clear;
gengxin_h.SQL.Add('update contract set AfAudit='''+AfAudit_h+''',BeAudit='''+BeAudit_h+''',AfAuditPay='''+AfAuditPay_h+''',Payed='''+Payed_h+''',BePayed='''+BePayed_h+''',ThisYear='''+ThisYear_h+''',Remain='''+Remain_h+''',Fulfill='''+fill+''' where connumber='''+ConNumber_h+'''') ;
gengxin_h.ExecSQL; //更新合同表为空
ADOQuery1.Next;
continue;
end;
ADOQuery_h.First;
BeAudit_h:=ADOQuery_h.FieldValues['daifang']; //审计前金额
ADOQuery_h.Last;
remain_h:=ADOQuery_h.FieldValues['remain']; //余额
ADOQuery_h.Close;
ADOQuery_h.SQL.Clear;
ADOQuery_h.SQL.Add('select jiefang from detail where marking=0 and ConNumber='''+connumber_h+''' and addDate<'''+formatdatetime('yyyy',now)+'''');
ADOQuery_h.Open;
if ADOQuery_h.RecordCount>0 then begin
ADOQuery_h.Close;
ADOQuery_h.SQL.Clear;
ADOQuery_h.SQL.Add('select sum(jiefang) as jiefang_h from detail where marking=0 and ConNumber='''+connumber_h+''' and addDate<'''+formatdatetime('yyyy',now)+'''');
ADOQuery_h.Open;
BePayed_h:=ADOQuery_h.FieldValues['jiefang_h'];//以前年度已付款
end else
BePayed_h:='0';//以前年度已付款
ADOQuery_h.Close;
ADOQuery_h.SQL.Clear;
ADOQuery_h.SQL.Add('select jiefang from detail where ConNumber='''+connumber_h+''' and marking=0');
ADOQuery_h.Open;
if ADOQuery_h.RecordCount>0 then begin
ADOQuery_h.Close;
ADOQuery_h.SQL.Clear;
ADOQuery_h.SQL.Add('select sum(jiefang) as jiefang_h from detail where ConNumber='''+connumber_h+''' and marking=0' );
ADOQuery_h.Open;
Payed_h:=ADOQuery_h.FieldValues['jiefang_h'];//已付款小计
end else
Payed_h:='0';//已付款小计
ThisYear_h:=floattostr(strtofloat(Payed_h)-strtofloat(BePayed_h));//本年度已付款
ADOQuery_h.Close;
ADOQuery_h.SQL.Clear;
ADOQuery_h.SQL.Add('select daifang from detail where marking=2 and ConNumber='''+connumber_h+'''');
ADOQuery_h.Open;
if ADOQuery_h.RecordCount>0 then begin
AfAuditPay_h:=ADOQuery_h.FieldValues['daifang'];//审计后价款
AfAudit_h:=BeAudit_h;//审计前给审计后
BeAudit_h:='';//审计前为空
fill:=copy(floattostr((strtofloat(Payed_h)/strtofloat(AfAuditPay_h))*100),0,4)+'%';//履行合同情况
end else begin
fill:=copy(floattostr((strtofloat(Payed_h)/strtofloat(BeAudit_h))*100),0,4)+'%';//履行合同情况
AfAuditPay_h:='';//如果没有审计后价款就为空
AfAudit_h:='';
end;
gengxin_h.Close;
gengxin_h.SQL.Clear;
gengxin_h.SQL.Add('update contract set AfAudit='''+AfAudit_h+''',BeAudit='''+BeAudit_h+''',AfAuditPay='''+AfAuditPay_h+''',Payed='''+Payed_h+''',BePayed='''+BePayed_h+''',ThisYear='''+ThisYear_h+''',Remain='''+Remain_h+''',Fulfill='''+fill+''' where connumber='''+ConNumber_h+'''') ;
gengxin_h.ExecSQL; //更新合同表
ADOQuery1.Next;
end;
showmessage(' 更新成功!!!!');
if ADOQuery2.Active then begin
ADOQuery2.Close;
ADOQuery2.Open;
end;
end;
end;}
begin
WaitPas3.Create(1);
WaitForm.ShowModal;
end;
procedure TMainForm.ToolButton1Click(Sender: TObject);
begin
N15Click(Sender);
end;
procedure TMainForm.N21Click(Sender: TObject);
begin
am_dz_cx:=Tam_dz_cx.Create(self);
am_dz_cx.ShowModal;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -