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

📄 main.~pas

📁 书籍类别(种类编号
💻 ~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 + -