⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 u_htgl.pas

📁 很好的合同管理系统完整源码,适合初学者参考
💻 PAS
字号:
unit U_htgl;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs,shellapi, Buttons, StdCtrls, ExtCtrls, Menus, ComCtrls, ImgList,
  Word2000, OleServer, FileCtrl, jpeg;

type
  Tfrm_main = class(TForm)
    MainMenu1: TMainMenu;
    N1: TMenuItem;
    N2: TMenuItem;
    N3: TMenuItem;
    N4: TMenuItem;
    N5: TMenuItem;
    Panel1: TPanel;
    StatusBar1: TStatusBar;
    ImageList1: TImageList;
    Panel3: TPanel;
    N6: TMenuItem;
    N7: TMenuItem;
    N8: TMenuItem;
    N9: TMenuItem;
    N10: TMenuItem;
    N11: TMenuItem;
    N12: TMenuItem;
    N13: TMenuItem;
    N14: TMenuItem;
    N15: TMenuItem;
    N16: TMenuItem;
    N17: TMenuItem;
    N18: TMenuItem;
    N19: TMenuItem;
    N20: TMenuItem;
    N21: TMenuItem;
    N22: TMenuItem;
    N23: TMenuItem;
    N24: TMenuItem;
    N25: TMenuItem;
    WordApplication1: TWordApplication;
    WordDocument1: TWordDocument;
    N26: TMenuItem;
    OpenDialog1: TOpenDialog;
    SaveDialog1: TSaveDialog;
    Image1: TImage;
    SpeedButton1: TSpeedButton;
    SpeedButton2: TSpeedButton;
    SpeedButton4: TSpeedButton;
    SpeedButton3: TSpeedButton;
    SpeedButton5: TSpeedButton;
    SpeedButton6: TSpeedButton;
    SpeedButton7: TSpeedButton;
    SpeedButton8: TSpeedButton;
    SpeedButton9: TSpeedButton;
    Image2: TImage;
    TreeView1: TTreeView;
    Image3: TImage;
    ListView1: TListView;
    FileListBox1: TFileListBox;
    RichEdit1: TRichEdit;
    PopupMenu1: TPopupMenu;
    N110: TMenuItem;
    N27: TMenuItem;
    N31: TMenuItem;
    N28: TMenuItem;
    procedure FormShow(Sender: TObject);
    procedure SpeedButton1Click(Sender: TObject);
    procedure TreeView1Click(Sender: TObject);
    procedure N24Click(Sender: TObject);
    procedure SpeedButton2Click(Sender: TObject);
    procedure N25Click(Sender: TObject);
    procedure Skin_Change();
    procedure SpeedButton3Click(Sender: TObject);
    procedure N18Click(Sender: TObject);
    procedure TreeView1DblClick(Sender: TObject);
    procedure ListView1DblClick(Sender: TObject);
    procedure N17Click(Sender: TObject);
    procedure SpeedButton4Click(Sender: TObject);
    procedure SpeedButton5Click(Sender: TObject);
    procedure N11Click(Sender: TObject);
    procedure N12Click(Sender: TObject);
    procedure N26Click(Sender: TObject);
    procedure N13Click(Sender: TObject);
    procedure N14Click(Sender: TObject);
    procedure N21Click(Sender: TObject);
    procedure N22Click(Sender: TObject);
    procedure loaddata;
    procedure N7Click(Sender: TObject);
    procedure SpeedButton9Click(Sender: TObject);
    procedure SpeedButton8Click(Sender: TObject);
    procedure SpeedButton7Click(Sender: TObject);
    procedure N8Click(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure SpeedButton6Click(Sender: TObject);
    procedure N16Click(Sender: TObject);
    procedure N6Click(Sender: TObject);
    procedure N110Click(Sender: TObject);
    procedure N27Click(Sender: TObject);
    procedure N31Click(Sender: TObject);
    procedure N10Click(Sender: TObject);
    procedure N9Click(Sender: TObject);
    procedure N19Click(Sender: TObject);
    procedure N28Click(Sender: TObject);
    procedure N20Click(Sender: TObject);
    private
    { Private declarations }
  public
    { Public declarations }
    gg,dcx:string;
    dr1,dr2,cx,zf:integer;
    path:string;
  end;

var
  frm_main: Tfrm_main;

implementation

uses U_lx, U_Data, U_drht, U_xtsz, U_htsy, U_dwxx, U_htqd, U_lxsz, U_htxg,
  U_htcx, U_cx, U_login, U_ri, U_Public, U_czygl, U_netpath;

{$R *.dfm}

procedure Tfrm_main.loaddata;
var
a,b,c:string;
subt1,subt2:TTreenode;
begin
treeview1.Items.Clear;
with data1.ADOQuery1 do
begin
   close;
   sql.Clear;
   sql.Add('select * from 单位信息表');
   open;
end;
if data1.ADOQuery1.FieldByName('单位名称').Value<>null then
begin
a:=data1.ADOQuery1.fieldbyname('单位名称').Value;
subt1:=treeview1.Items.Add(nil,a);
with data1.htlx do
begin
   close;
   sql.Clear;
   sql.Add('select * from 合同类型');
   open;
end;
while not data1.htlx.Eof do
begin
b:=data1.htlx.FieldByName('htlx').Value;
subt2:=treeview1.Items.AddChild(subt1,b);
with data1.htb do
begin
   close;
   sql.Clear;
   sql.Add('select * from 合同 where htlx=:aa');
   parameters.ParamByName('aa').Value:=b;
   open;
end;
while not data1.htb.Eof do
begin
   c:=data1.htb.FieldByName('htmc').Value;
   treeview1.Items.AddChild(subt2,c);
   data1.htb.Next;
end;
data1.htlx.Next;
end;
TreeView1.FullExpand;
end;
end;

procedure Tfrm_main.FormShow(Sender: TObject);
begin
application.CreateForm(Tfrm_login,frm_login);
frm_login.ShowModal;
frm_login.Free;
dr1:=0;
dr2:=0;
cx:=0;
xt_path;
//filelistbox1.Directory:=yb_path;
loaddata;
skin_change;
end;

procedure Tfrm_main.SpeedButton1Click(Sender: TObject);
begin
application.CreateForm(Tfrm_lx,frm_lx);
frm_lx.ShowModal;
frm_lx.Free;
end;

procedure Tfrm_main.TreeView1Click(Sender: TObject);
var
listitem:Tlistitem;
begin
listview1.Clear;
if treeview1.Selected.Selected then
richedit1.Visible:=false;
if treeview1.Selected.Parent=nil then  //只是第一级
begin
listview1.Visible:=false;
richedit1.Visible:=false;
exit;
end
else
begin
richedit1.Visible:=false;
with data1.htb do
begin
   close;
   sql.Clear;
   sql.Add('select * from 合同 where htlx= :a');
   parameters.ParamByName('a').Value:=treeview1.Selected.Text;
   open;
end;
while not data1.htb.Eof do
begin
   listitem:=listview1.Items.Add;
   listitem.Caption:=data1.htb.fieldbyname('htmc').Value;
   data1.htb.Next;
end;
   listview1.Align:=alClient;
   listview1.Visible:=true;
end;
if treeview1.Selected.Parent.Parent<>nil then
begin
with data1.ADOQuery1 do
begin
   close;
   sql.Clear;
   sql.Add('select * from 合同 where htmc=:b');
   parameters.ParamByName('b').Value:=treeview1.Selected.Text;
   open;
end;
richedit1.Text:=data1.ADOQuery1.fieldbyname('htnr').Value;
richedit1.Align:=alClient;
richedit1.Visible:=true;
path:=data1.ADOQuery1.fieldbyname('htlj').Value;
end;
end;

procedure Tfrm_main.N24Click(Sender: TObject);
begin
application.CreateForm(Tfrm_xtsz,frm_xtsz);
frm_xtsz.ShowModal;
frm_xtsz.Free;
end;

procedure Tfrm_main.SpeedButton2Click(Sender: TObject);
begin
application.CreateForm(Tfrm_htsy,frm_htsy);
frm_htsy.ShowModal;
frm_htsy.Free;
end;

procedure Tfrm_main.N25Click(Sender: TObject);
begin
application.CreateForm(Tfrm_dwxx,frm_dwxx);
frm_dwxx.ShowModal;
frm_dwxx.Free;
end;

procedure Tfrm_main.SpeedButton3Click(Sender: TObject);
begin
application.CreateForm(Tfrm_htqd,frm_htqd);
frm_htqd.ShowModal;
frm_htqd.Free;
end;

procedure Tfrm_main.N18Click(Sender: TObject);
begin
frm_main.dr2:=0;
application.CreateForm(Tfrm_drht,frm_drht);
frm_drht.ShowModal;
frm_drht.Free; 
end;

procedure Tfrm_main.TreeView1DblClick(Sender: TObject);
begin
with data1.ADOPublic do
begin
   close;
   sql.Clear;
   sql.Add('select * from 合同 where htmc=:c');
   parameters.ParamByName('c').Value:=treeview1.Selected.Text;
   open;
end;
path:=qd_path+'\'+treeview1.Selected.Text;
if Wordpath(path) then
OpenWordFile('True',path,WordApplication1,WordDocument1)
else
application.MessageBox('文件不存在,请检查设置','提示',64);
end;

procedure Tfrm_main.ListView1DblClick(Sender: TObject);
var
path:string;
begin
with data1.ADOPublic do
begin
   close;
   sql.Clear;
   sql.Add('select * from 合同 where htmc=:c');
   parameters.ParamByName('c').Value:=listview1.Selected.Caption;
   open;
end;
path:=data1.ADOPublic.fieldbyname('htlj').Value;
if wordpath(path) then
OpenWordFile('True',path,WordApplication1,WordDocument1);
end;

procedure Tfrm_main.N17Click(Sender: TObject);
begin
application.CreateForm(Tfrm_lxsz,frm_lxsz);
frm_lxsz.ShowModal;
frm_lxsz.Free;
end;

procedure Tfrm_main.SpeedButton4Click(Sender: TObject);
begin
application.CreateForm(Tfrm_htxg,frm_htxg);
frm_htxg.ShowModal;
frm_htxg.Free;
end;

procedure Tfrm_main.SpeedButton5Click(Sender: TObject);
begin
frm_main.cx:=0;
application.CreateForm(Tfrm_htcx,frm_htcx);
frm_htcx.ShowModal;
frm_htcx.Free;
end;

procedure Tfrm_main.N11Click(Sender: TObject);
begin
speedbutton1.Click;
end;

procedure Tfrm_main.N12Click(Sender: TObject);
begin
speedbutton2.Click;
end;

procedure Tfrm_main.N26Click(Sender: TObject);
begin
speedbutton4.Click;
end;

procedure Tfrm_main.N13Click(Sender: TObject);
begin
speedbutton3.Click;
end;

procedure Tfrm_main.N14Click(Sender: TObject);
begin
frm_main.cx:=1;
application.CreateForm(Tfrm_htcx,frm_htcx);
frm_htcx.ShowModal;
frm_htcx.Free;
end;

procedure Tfrm_main.N21Click(Sender: TObject);
begin
dcx:='过期';
application.CreateForm(Tfrm_cx,frm_cx);
frm_cx.ShowModal;
frm_cx.Free;
end;

procedure Tfrm_main.N22Click(Sender: TObject);
begin
application.CreateForm(Tfrm_cx,frm_cx);
frm_cx.ShowModal;
frm_cx.Free;
end;

procedure Tfrm_main.N7Click(Sender: TObject);
begin
speedbutton7.Click;
end;

procedure Tfrm_main.SpeedButton9Click(Sender: TObject);
begin
Rz_Gl(czy,formatdatetime('yyyy年mm月dd日 hh:mm:ss',now),'退出系统');
application.Terminate;
end;

procedure Tfrm_main.Skin_Change();
 var I:integer;
  begin
   if g_str_skinpath='' then exit;
    if  wordpath(g_str_skinpath+'1.jpg') then
        if  wordpath(g_str_skinpath+'2.jpg') then
           if  wordpath(g_str_skinpath+'3.jpg') then
              //if  wordpath(g_str_skinpath+'4.jpg') then
                 begin
                     //if trim(g_str_skinname)='1' then statusBar1.Color:=16768960;  //
                     //if trim(g_str_skinname)='2' then self.Color:=11843583;  //
                    //if trim(g_str_skinname)='3' then self.Color:=12640254;  //
                     //if trim(g_str_skinname)='4' then self.Color:=7864271;  //


                      image1.Picture.LoadFromFile(g_str_skinpath+'1.jpg');
                      image2.Picture.LoadFromFile(g_str_skinpath+'2.jpg');
                      image3.Picture.LoadFromFile(g_str_skinpath+'3.jpg');
                    //imright.Picture.LoadFromFile(g_str_skinpath+'4.jpg');
                end;

          {sta.Panels.Items[0].Width:=trunc(self.Width/3);
          sta.Panels.Items[1].Width:=trunc(self.Width/3);
          sta.Panels.Items[2].Width:=trunc(self.Width/3);
          sta.Panels[0].Text:=g_str_sygs;
          sta.Panels[1].Text:='登录人:'+g_str_name;
          sta.Panels[2].Text:='登录时间' +datetimetostr(now);}
  end;

procedure Tfrm_main.SpeedButton8Click(Sender: TObject);
var
save:string;
begin
data1.AC.Close;
data1.AC.Connected:=false;
//opendialog1.Filter:='备份文件(*.bak)|(*.bak)';
opendialog1.Title:='请选择恢复文件路径和文件名';
if opendialog1.Execute then
  save:=opendialog1.FileName;
  if save<>'' then
     begin
        with data1.ADOpublic do
           begin
              try
              screen.Cursor:=crhourglass;
              close;
              sql.Clear;
              SQL.Add('use master restore  DATABASE '+'pact'+ '  from DISK =''' +save+'''');
              execsql;
              screen.Cursor:=crdefault;
              application.MessageBox('数据库恢复成功完成!','数据恢复',0+mb_iconinformation);
              sql.Clear;
              sql.Add('use pact');
              execsql;
              Rz_Gl(czy,formatdatetime('yyyy年mm月dd日 hh:mm:ss',now),'数据还原');
              except
                 screen.Cursor:=crdefault;
                 application.MessageBox('数据库恢复失败,请检查备份的路径或网络状态!','数据恢复',0+mb_iconinformation);
              end;
           end;
     end;
end;

procedure Tfrm_main.SpeedButton7Click(Sender: TObject);
var
save:string;
begin
savedialog1.Filter:='备份文件(*.bak)|*.bak';
savedialog1.Title:='请选择备份路径';
if savedialog1.Execute then
   begin
      save:=savedialog1.FileName;
   end;
if save<>'' then
   begin
      with data1.ADOpublic do
         begin
            try
            screen.Cursor:=crHourGlass;
            close;
            sql.Clear;
            sql.Add(' BACKUP DATABASE '+'pact'+ '  TO DISK =''' +save+'''');
            execsql;
            screen.Cursor:=crdefault;
            application.MessageBox('数据备份成功','提示',0+64);
            Rz_Gl(czy,formatdatetime('yyyy年mm月dd日 hh:mm:ss',now),'数据备份');
            except
            screen.Cursor:=crdefault;
            application.MessageBox('数据库备份失败,请检查备份的路径或网络状态!','数据库备份',0+mb_iconinformation);
            end;
         end;
   end;
end;

procedure Tfrm_main.N8Click(Sender: TObject);
begin
speedbutton8.Click;
end;

procedure Tfrm_main.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Rz_Gl(czy,formatdatetime('yyyy年mm月dd日 hh:mm:ss',now),'退出系统');
end;

procedure Tfrm_main.SpeedButton6Click(Sender: TObject);
begin
application.CreateForm(Tfrm_rz,frm_rz);
frm_rz.ShowModal;
frm_rz.Free;   
end;

procedure Tfrm_main.N16Click(Sender: TObject);
begin
zf:=1;
application.CreateForm(Tfrm_cx,frm_cx);
frm_cx.ShowModal;
frm_cx.Free;
end;

procedure Tfrm_main.N6Click(Sender: TObject);
begin
application.CreateForm(Tfrm_czygl,frm_czygl);
frm_czygl.ShowModal;
frm_czygl.Free;
end;

procedure Tfrm_main.N110Click(Sender: TObject);
begin
   exec_sql('update skin set mc='+quotedstr('1'));
   Skinload();
   Skin_Change();
   Rz_Gl(czy,formatdatetime('yyyy年mm月dd日 hh:mm:ss',now),'更换界面');
end;

procedure Tfrm_main.N27Click(Sender: TObject);
begin
   exec_sql('update skin set mc='+quotedstr('2'));
   Skinload();
   Skin_Change();
   Rz_Gl(czy,formatdatetime('yyyy年mm月dd日 hh:mm:ss',now),'更换界面');
end;

procedure Tfrm_main.N31Click(Sender: TObject);
begin
   exec_sql('update skin set mc='+quotedstr('3'));
   Skinload();
   Skin_Change();
   Rz_Gl(czy,formatdatetime('yyyy年mm月dd日 hh:mm:ss',now),'更换界面');
end;

procedure Tfrm_main.N10Click(Sender: TObject);
begin
popupmenu1.Popup(0,100);
end;

procedure Tfrm_main.N9Click(Sender: TObject);
begin
speedbutton6.Click;
end;

procedure Tfrm_main.N19Click(Sender: TObject);
begin
SpeedButton5.Click;
end;

procedure Tfrm_main.N28Click(Sender: TObject);
begin
application.CreateForm(Tfrm_net_path,frm_net_path);
frm_net_path.ShowModal;
frm_net_path.Free;
end;

procedure Tfrm_main.N20Click(Sender: TObject);
begin
speedbutton5.Click;
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -