//MDI主窗口
unit UnitMain;
{初始化用户的构造函数}
    procedure SetUser(Names:String;PurviewNames:String;
    purviews:String;Branchs:String;ServerDates:TDate);
    {设置登陆用户}
    function GetName:String;
    {取得登陆用户名}
    function GetPurviewName:String;
    {取得登陆用权限名}
    function GetPurview:String;
    {取得登陆用权限}
    function GetBranch:String;
    {取得登陆用部门}
    function GetServerDate:TDate;
    {取得服务器日期}
    procedure RefurbishInterface;
    procedure Timer1Timer(Sender: TObject);
    procedure QuitUserClick(Sender: TObject);
    procedure N35Click(Sender: TObject);
    procedure N66Click(Sender: TObject);
    procedure N68Click(Sender: TObject);
    procedure N71Click(Sender: TObject);
    procedure N9Click(Sender: TObject);
    procedure N10Click(Sender: TObject);
    procedure N16Click(Sender: TObject);
    procedure N17Click(Sender: TObject);
    procedure N11Click(Sender: TObject);
    procedure N22Click(Sender: TObject);
    procedure N21Click(Sender: TObject);
    procedure N28Click(Sender: TObject);
    procedure N29Click(Sender: TObject);
    procedure N23Click(Sender: TObject);
    procedure N14Click(Sender: TObject);
    {刷新界面数据}
  private
    { Private declarations }
    Name,PurviewName,Purview,Branch:String;
    ServerDate:TDate;
    {当前登陆用户名,权限名,权限,部门,日期}
  public
    { Public declarations }
  end;var
  FormMain: TFormMain;implementationuses UnitDataModule1, Sys, myunit, crypt, UnitLoginSetup, Unit1,
  UnitUserLogin, UnitBranchInfoReg, UnitEmployeeInfoReg, UnitInfoSysUser,
  UnitFinanceReg, UnitHomeEduSeek, UnitHomeEduReg, UnitInfoSysSetup,
  UnitSeekHomeEduReg, SeekHomeEduSeek, UnitEduReg, UnitIncPwaReg,
  UnitFormTalentsReg, UnitTalentsSeek, UnitIncPwaSeek, UnitTryoutReg,
  UnitFinanceStat;{$R *.dfm}
Constructor TFormMain.Creates;
begin{初始化用户的构造函数}
  Name:='';
  PurviewName:='';
  purview:='';
  Branch:='';
end;
procedure TFormMain.SetUser(Names:String;PurviewNames:String;
    purviews:String;Branchs:String;ServerDates:TDate);
begin{设置登陆用户}
  Name:=Names;PurviewName:=PurviewNames;
  purview:=purviews;Branch:=Branchs;
  ServerDate:=ServerDates;
end;
function TFormMain.GetName:String;
begin    {取得登陆用户名}
  GetName:=Name;
end;
function TFormMain.GetPurviewName:String;
begin    {取得登陆用权限名}
  GetPurviewName:=PurviewName;
end;
function TFormMain.GetPurview:String;
begin    {取得登陆用权限}
  Getpurview:=purview;
end;
function TFormMain.GetBranch:String;
begin    {取得登陆用部门}
  GetBranch:=Branch;
end;
function TFormMain.GetServerDate:TDate;
begin    {取得服务器日期}
  GetServerDate:=ServerDate;
end;
procedure TFormMain.RefurbishInterface;
begin{刷新界面数据}
  if DataModule1.ADOConnection1.Connected then
  begin
    StatusBar1.Panels[0].Text:='网络:'+'已连接';
  end else begin
    StatusBar1.Panels[0].Text:='网络:'+'离线';
  end;
  if GetName='' then
  begin{没有用户登陆}
    //Fun.Visible:=False;
    StatusBar1.Panels[1].Text:='用户:未登陆';
    StatusBar1.Panels[2].Text:='部门:未登陆';
    StatusBar1.Panels[3].Text:='权限:无';
    StatusBar1.Panels[4].Text:='日期时间:未登陆';
  end else begin
    Fun.Visible:=True;
    StatusBar1.Panels[1].Text:='用户:'+GetName;
    StatusBar1.Panels[2].Text:='部门:'+GetBranch;
    StatusBar1.Panels[3].Text:='权限:'+GetPurviewName;
    StatusBar1.Panels[4].Text:='日期时间:'+DateToStr(GetServerDate);
  end;end;
procedure TFormMain.FormShow(Sender: TObject);
var Temp:String;
begin  Temp:=RWReg('Read',RegBootKey,RegPath,'REG','');
  if not (Temp=Encrypt(trim(GetIdeDiskSerialNumber),Can2)) then
  begin{如果没注册}
    try
      FormMain.Enabled:=False;
      OpenForm(TFormReg,FormReg,self);
      {打开注册窗口}
    except
      Application.MessageBox('注册模块启动失败,系统无法启动.'
      ,'系统注册',0);
      Close;
    end;
  end else begin
    FormMain.Enabled:=True;
    Caption:=Application.Title;
  end;end;procedure TFormMain.LinkServerClick(Sender: TObject);
begin
  if not DataModule1.ADOConnection1.Connected then
  begin
    if SetServer(DataModule1.ADOConnection1) then
    begin
      if OpenServer(DataModule1.ADOConnection1) then
      begin
        Application.MessageBox('连接服务器成功.'
      ,'系统登陆',0);
      end else begin
        Application.MessageBox('连接服务器失败,请重试.'
      ,'系统登陆',0);
      end;
    end;
  end;
end;procedure TFormMain.ServerLinkSetupClick(Sender: TObject);
begin
  OpenForm(TFormLoginServer,FormLoginServer,self);
end;procedure TFormMain.CutServerClick(Sender: TObject);
begin
  DataModule1.ADOConnection1.Connected:=False;
  Application.MessageBox('已经断开了与服务器的连接.'
    ,'系统信息',0);
end;procedure TFormMain.UserLoginClick(Sender: TObject);
begin
  if DataModule1.ADOConnection1.Connected then
  begin{网络已经连接}
    OpenForm(TFormUserLogin,FormUserLogin,self);
  end else begin
    Application.MessageBox('请先连接网络.'
    ,'系统信息',0);
  end;
end;procedure TFormMain.Timer1Timer(Sender: TObject);
begin
  RefurbishInterface;
end;procedure TFormMain.QuitUserClick(Sender: TObject);
var i:integer;
begin
  try
    SetUser('','','','',now);
    for i := 0 to Screen.FormCount -1 do  //关闭所有已经打开窗口
    begin
      if not((Screen.Forms[i].ClassType=TFormMain) or
       (Screen.Forms[i].ClassType=TFormReg) ) then//除了主窗口外
        Screen.Forms[i].Close;
    end;
  except
    Application.MessageBox('系统错误,即将断开网络连接.'
    ,'系统信息',0);
    DataModule1.ADOConnection1.Connected:=False;
  end;
end;procedure TFormMain.N35Click(Sender: TObject);
begin
  OpenForm(TBranchInfoReg,BranchInfoReg,self);
end;procedure TFormMain.N66Click(Sender: TObject);
begin
  OpenForm(TEmployeeInfoReg,EmployeeInfoReg,self);
end;procedure TFormMain.N68Click(Sender: TObject);
begin
  OpenForm(TInfoSysUserReg,InfoSysUserReg,self);end;procedure TFormMain.N71Click(Sender: TObject);
begin
  OpenForm(TFormFinanceReg,FormFinanceReg,self);
end;procedure TFormMain.N9Click(Sender: TObject);
begin
OpenForm(THomeEduReg,HomeEduReg,self);end;procedure TFormMain.N10Click(Sender: TObject);
begin
  OpenForm(TFormSeekHomeEduReg,FormSeekHomeEduReg,self);
end;procedure TFormMain.N16Click(Sender: TObject);
begin
  OpenForm(TFormHomeEduSeek,FormHomeEduSeek,self);
end;procedure TFormMain.N17Click(Sender: TObject);
begin
  OpenForm(TFormSeekHomeEduSeek,FormSeekHomeEduSeek,self);end;procedure TFormMain.N11Click(Sender: TObject);
begin
  OpenForm(TFormEduReg,FormEduReg,self);end;procedure TFormMain.N22Click(Sender: TObject);
begin
  OpenForm(TFormIncPwaReg,FormIncPwaReg,self);
end;procedure TFormMain.N21Click(Sender: TObject);
begin
  OpenForm(TFormTalentsReg,FormTalentsReg,self);
end;procedure TFormMain.N28Click(Sender: TObject);
begin
  OpenForm(TFormTalentsSeek,FormTalentsSeek,self);
end;procedure TFormMain.N29Click(Sender: TObject);
begin
  OpenForm(TFormIncPwaSeek,FormIncPwaSeek,self);end;procedure TFormMain.N23Click(Sender: TObject);
begin
  OpenForm(TFormTryoutReg,FormTryoutReg,self);
end;procedure TFormMain.N14Click(Sender: TObject);
begin
  OpenForm(TFormFinanceStat,FormFinanceStat,self);end;end.

解决方案 »

  1.   

    {================本函数由朱立勋编写-2003.6==================
    }
    unit sys;
    interface
    uses
      Windows, Messages, SysUtils, Classes, Forms, Dialogs, ExtCtrls, Registry, DB, ADODB;
    Function OpenServer(Connection:TADOConnection):Boolean;
    {===========Connect A NET DATABASE====}
    Function SetServer(Connection:TADOConnection):Boolean;
    {===========Set A NET DATABASE====}
    Function CpenTable(Table:TADOTable):Boolean;
    {===========POEN A TABLE====}
    procedure OpenForm(FormClass: TFormClass; var fm; AOwner:TComponent);
    {根据传递过来的参数,打开相应的窗体}
    function GetExePath:String;
    {该函数用于取得当前应用程序所在的路径}
    function GetIdeDiskSerialNumber : String;
    {取得硬盘序列号}
    implementationuses crypt, myunit;
    Function OpenServer(Connection:TADOConnection):Boolean;
    {===========Connect A NET DATABASE====}
    begin
      Try
        Connection.Connected:=True;
        OpenServer:=True;
      except
        OpenServer:=False;
      end;
    end;
    Function SetServer(Connection:TADOConnection):Boolean;
    {===========Set A NET DATABASE====}
    var
    ServerName,UserID,PassWord,InitialCatalog:String;
        {服务器参数:服务器名,用户ID,口令,默认库}
    begin
      Try
        ServerName:=Decrypt(RWReg('Read',RegBootKey,RegPath+
        'ServerSet\','1',''),Can3);
        UserID:=Decrypt(RWReg('Read',RegBootKey,RegPath+
        'ServerSet\','2',''),Can3);
        PassWord:=Decrypt(RWReg('Read',RegBootKey,RegPath+
        'ServerSet\','3',''),Can3);
        InitialCatalog:=Decrypt(RWReg('Read',RegBootKey,RegPath+
        'ServerSet\','4',''),Can3);
        Connection.ConnectionString:='Provider=SQLOLEDB.1;Password='+
        PassWord+';Persist Security Info=True;User ID='+UserID+
        ';Initial Catalog='+InitialCatalog+';Data Source='+ServerName;
        SetServer:=True;  except
        SetServer:=False;
      end;
    end;
    Function CpenTable(Table:TADOTable):Boolean;
    {===========POEN A TABLE====}
    begin
      Try
        Table.Active:=True;
        CpenTable:=True;
      except
        CpenTable:=False;
      end;
    end;
    procedure OpenForm(FormClass: TFormClass; var fm; AOwner:TComponent);
    {根据传递过来的参数,打开相应的窗体}
    var
      i: integer;
      Child:TForm;
    begin
      for i := 0 to Screen.FormCount -1 do
          if Screen.Forms[i].ClassType=FormClass then
          begin
            {检查窗体是否已经打开,如果没有打开,打开它,
            如果已经打开,让它正常显示即可}
            Child:=Screen.Forms[i];
            if Child.WindowState=wsMinimized then
               ShowWindow(Child.handle,SW_SHOWNORMAL)
            else
               ShowWindow(Child.handle,SW_SHOWNA);
            if (not Child.Visible) then Child.Visible:=True;
            Child.BringToFront;
            Child.Setfocus;
            TForm(fm):=Child;
            exit;
          end;
      Child:=TForm(FormClass.NewInstance);
      TForm(fm):=Child;
      Child.Create(AOwner);
      Child.Show;
    end;function GetExePath:String;
    {该函数用于取得当前应用程序所在的路径}
    begin
      Result:=ExtractFilePath(ParamStr(0));
      if Result[Length(Result)]<>'\' then
        Result:=Result+'\';
    end;function GetIdeDiskSerialNumber : String;
    {取得硬盘序列号}
      

  2.   

    //数据登记的一个窗体代码
    uses Sys, UnitDataModule1, UnitMain, UnitTryoutReg;{$R *.dfm}procedure TFormIncPwaReg.FormClose(Sender: TObject;
      var Action: TCloseAction);
    begin
      ADOQuery1.Close;
      ADOQuery2.Close;
      Action:=caFree;
    end;procedure TFormIncPwaReg.FormCloseQuery(Sender: TObject;
      var CanClose: Boolean);
    begin
      if (ADOQuery1.State=dsEdit)or(ADOQuery1.State=dsInsert)or
      (ADOQuery2.State=dsEdit)or(ADOQuery2.State=dsInsert) then
      begin
        Application.MessageBox(
        '请先保存操作然后在关闭窗口!','系统警告',0);
        CanClose:=False;
      end else begin
        CanClose:=True;
      end;
    end;procedure TFormIncPwaReg.FormShow(Sender: TObject);
    begin
        if FormMain.GetName='' then
      begin
        Application.MessageBox('请先登陆系统.'
          ,'系统提示',0);
        Close;
      end;
      DateTimePicker1.Date:=FormMain.GetServerDate-30;
      DateTimePicker2.Date:=FormMain.GetServerDate;
      try
        FormIncPwaReg.Button1Click(Self);
        FormIncPwaReg.Button2Click(Self);
      except
        Application.MessageBox('数据连接失败,请确认网络正常并重试.'
          ,'系统提示',0);
        Close;  
      end;
      
    end;procedure TFormIncPwaReg.ADOQuery1AfterCancel(DataSet: TDataSet);
    begin
      GroupBox2.Enabled:=True;
    end;procedure TFormIncPwaReg.ADOQuery1AfterPost(DataSet: TDataSet);
    begin
      GroupBox2.Enabled:=True;
    end;procedure TFormIncPwaReg.ADOQuery1AfterEdit(DataSet: TDataSet);
    begin
      GroupBox2.Enabled:=False;
    end;procedure TFormIncPwaReg.ADOQuery1AfterInsert(DataSet: TDataSet);
    begin
      try
        GroupBox2.Enabled:=False;
        ADOQuery1.FieldValues['DATES']:=FormMain.GetServerDate;
        ADOQuery1.FieldValues['Validity']:='有效';
      except
        if (ADOQuery1.State=dsInsert)or(ADOQuery1.State=dsEdit) then
          ADOQuery1.Cancel;
        GroupBox2.Enabled:=True;
      end;
    end;procedure TFormIncPwaReg.ADOQuery2AfterCancel(DataSet: TDataSet);
    begin
      GroupBox2.Enabled:=True;
    end;procedure TFormIncPwaReg.ADOQuery2AfterPost(DataSet: TDataSet);
    begin
      GroupBox2.Enabled:=True;
    end;procedure TFormIncPwaReg.ADOQuery2AfterEdit(DataSet: TDataSet);
    begin
      if (ADOQuery2.State=dsInsert)or(ADOQuery2.State=dsEdit) then
      begin
        try
          GroupBox2.Enabled:=False;
          DBEdit15.SetFocus;
          DBEdit15.Text:=DBEdit1.Text;
          DBEdit16.SetFocus;
          DBEdit16.Text:=DBEdit2.Text;
    {       ADOQuery2.FieldValues['IncID']:=ADOQuery1.FieldValues['ID'];
         ADOQuery2.FieldValues['IncName']:=ADOQuery1.FieldValues['IncName']; }
          ADOQuery2.FieldValues['DATES']:=FormMain.GetServerDate;
          ADOQuery2.FieldValues['JobMember']:=1;
          ADOQuery2.FieldValues['DUTYOFFICE']:=FormMain.GetBranch;
          ADOQuery2.FieldValues['DUTYMAN']:=FormMain.GetName;
          ADOQuery2.FieldValues['Validity']:='有效';
        except
          if (ADOQuery2.State=dsInsert)or(ADOQuery2.State=dsEdit) then
            ADOQuery2.Cancel;
          GroupBox2.Enabled:=True;
        end;
      end else begin
        if (ADOQuery2.State=dsInsert)or(ADOQuery2.State=dsEdit) then
          ADOQuery2.Cancel;
        GroupBox2.Enabled:=True;
      end;
    end;procedure TFormIncPwaReg.ADOQuery2AfterInsert(DataSet: TDataSet);
    begin
      if (ADOQuery2.State=dsInsert)or(ADOQuery2.State=dsEdit) then
      begin
        try
          GroupBox2.Enabled:=False;
          DBEdit15.SetFocus;
          DBEdit15.Text:=DBEdit1.Text;
          DBEdit16.SetFocus;
          DBEdit16.Text:=DBEdit2.Text;
    {       ADOQuery2.FieldValues['IncID']:=ADOQuery1.FieldValues['ID'];
         ADOQuery2.FieldValues['IncName']:=ADOQuery1.FieldValues['IncName']; }
          ADOQuery2.FieldValues['DATES']:=FormMain.GetServerDate;
          ADOQuery2.FieldValues['JobMember']:=1;
          ADOQuery2.FieldValues['Validity']:='有效';
          ADOQuery2.FieldValues['DUTYOFFICE']:=FormMain.GetBranch;
          ADOQuery2.FieldValues['DUTYMAN']:=FormMain.GetName;
        except
          if (ADOQuery2.State=dsInsert)or(ADOQuery2.State=dsEdit) then
            ADOQuery2.Cancel;
          GroupBox2.Enabled:=True;
        end;
      end else begin
        if (ADOQuery2.State=dsInsert)or(ADOQuery2.State=dsEdit) then
          ADOQuery2.Cancel;
        GroupBox2.Enabled:=True;
      end;
    end;procedure TFormIncPwaReg.Button1Click(Sender: TObject);
    begin
      ADOQuery1.Close;
      ADOQuery1.SQL.Clear;
      ADOQuery1.SQL.Add('select * from InviteIncReg where ');
      ADOQuery1.SQL.Add('DATES>='''+DateToStr(DateTimePicker1.Date)+
      ' 00:00:00'' and DATES <='''+DateToStr(DateTimePicker2.Date)+' 23:59:59'' ');
      if not(SpinEdit1.Value<=0)then
        ADOQuery1.SQL.Add('AND ID='+IntToStr(SpinEdit1.Value));
      if ComboBox2.Text='有效' then
        ADOQuery1.SQL.Add('AND Validity=''有效'' ');
      if ComboBox2.Text='无效' then
        ADOQuery1.SQL.Add('AND Validity=''无效'' ');
      if not(Edit1.Text='')then
        ADOQuery1.SQL.Add('AND IncName='''+Edit1.Text+'''');
      try
        ADOQuery1.Open;
      except
        Application.MessageBox('数据连接失败,请确认网络正常并重试.'
          ,'系统提示',0);
        Close;
      end;
    end;procedure TFormIncPwaReg.Button2Click(Sender: TObject);
    begin
      ADOQuery2.Close;
      ADOQuery2.SQL.Clear;
      ADOQuery2.SQL.Add('select * from InviteJobReg where '); // IncID = :ID
      ADOQuery2.SQL.Add('DATES>='''+DateToStr(DateTimePicker1.Date)+
      ' 00:00:00'' and DATES <='''+DateToStr(DateTimePicker2.Date)+' 23:59:59'' ');
      if not(SpinEdit2.Value<=0)then
        ADOQuery2.SQL.Add('AND ID='+IntToStr(SpinEdit2.Value));       //
      if ComboBox3.Text='有效' then
        ADOQuery2.SQL.Add('AND Validity=''有效'' ');
      if ComboBox3.Text='无效' then
        ADOQuery2.SQL.Add('AND Validity=''无效'' ');
      try
        ADOQuery2.Open;
      except
        Application.MessageBox('数据连接失败,请确认网络正常并重试.'
          ,'系统提示',0);
        Close;
      end;
    end;procedure TFormIncPwaReg.PageControl1Change(Sender: TObject);
    begin
      if (ADOQuery1.State=dsEdit)or(ADOQuery1.State=dsInsert)then
      begin
        PageControl1.ActivePageIndex:=0;
        Application.MessageBox(
        '请先保存操作然后在进行其他操作!','系统提醒',0);
        PageControl1.ActivePageIndex:=0;
      end;
      if (ADOQuery1.RecordCount=0) then
      begin
        PageControl1.ActivePageIndex:=0;
        Application.MessageBox(
        '必须要先输入招聘公司的信息才能进行下一步操作!','系统提醒',0);
        PageControl1.ActivePageIndex:=0;
      end;
      if (ADOQuery2.State=dsEdit)or(ADOQuery2.State=dsInsert) then
      begin
        PageControl1.ActivePageIndex:=1;
        Application.MessageBox(
        '请先保存操作然后在进行其他操作!','系统提醒',0);
        PageControl1.ActivePageIndex:=1;
      end;
    end;procedure TFormIncPwaReg.BitBtn1Click(Sender: TObject);
    begin
      FormMain.N29Click(Self);
    end;procedure TFormIncPwaReg.ADOQuery1BeforePost(DataSet: TDataSet);
    begin
      if (DBEdit2.text='')or(DBEdit3.text='')
      or(DBEdit4.text='')or(DBComboBox1.text='')or(DBComboBox2.text='')
      or(DBComboBox15.text='')
       then
       begin
         Application.MessageBox(
        '数据不完整,请填写完整后重试!','系统警告',0);
         abort;
       end;
    end;procedure TFormIncPwaReg.ADOQuery2BeforePost(DataSet: TDataSet);
    begin
      if (DBEdit10.text='')or(DBEdit16.text='')
      or(DBComboBox3.text='')or(DBComboBox14.text='')or(DBEdit17.text='')
      or(DBEdit18.text='')
       then
       begin
         Application.MessageBox(
        '数据不完整,请填写完整后重试!','系统警告',0);
         abort;
       end;
    end;procedure TFormIncPwaReg.BitBtn2Click(Sender: TObject);
    begin
      if PageControl1.ActivePageIndex=1 then
      begin
        FormMain.N23Click(self);
        if not(FormTryoutReg.ADOQuery1.State=dsEdit)and
        not(FormTryoutReg.ADOQuery1.State=dsInsert) then
        begin
          FormTryoutReg.ADOQuery1.Insert;
        end;
        if FormTryoutReg.ADOQuery1.State=dsEdit then
        begin
           FormTryoutReg.ADOQuery1.Cancel;
        end;
        if (FormTryoutReg.ADOQuery1.State=dsInsert) and ADOQuery2.Active then
        begin
          FormTryoutReg.DBEdit3.SetFocus;
          FormTryoutReg.DBEdit3.Text:=DBEdit15.Text;
          FormTryoutReg.DBEdit5.SetFocus;
          FormTryoutReg.DBEdit5.Text:=DBEdit16.Text;
        end;
      end;
    end;
      

  3.   

    //上面模块的查询模块
    procedure TFormIncPwaSeek.FormClose(Sender: TObject; var Action: TCloseAction);
    begin
      Action:=caFree;
    end;procedure TFormIncPwaSeek.FormShow(Sender: TObject);
    begin
      if FormMain.GetName='' then
      begin
        Application.MessageBox('请先登陆系统.'
          ,'系统提示',0);
        Close;
      end;
      DateTimePicker1.Date:=FormMain.GetServerDate-30;
      DateTimePicker2.Date:=FormMain.GetServerDate;
    end;procedure TFormIncPwaSeek.BitBtn2Click(Sender: TObject);
    begin
      Close;
    end;procedure TFormIncPwaSeek.BitBtn1Click(Sender: TObject);
    var Str1:TStringlist;
    begin
      Str1:=TStringlist.Create;
      Str1.Clear;
      Str1.Add('select * from InviteJobReg where ');
      Str1.Add('DATES>='''+DateToStr(DateTimePicker1.Date)+
      ' 00:00:00'' and DATES <='''+DateToStr(DateTimePicker2.Date)+' 23:59:59'' ');
      if not(SpinEdit3.Value<=0)then
        Str1.Add(' AND ID='+IntToStr(SpinEdit3.Value)+' ');
      if not(SpinEdit1.Value<=0)then
        Str1.Add(' AND IncID='+IntToStr(SpinEdit1.Value)+' ');
      if (not(ComboBox13.Text='不限'))and (not(ComboBox13.Text=''))then
        Str1.Add(' AND Validity='''+ComboBox13.Text+''' ');
      if not(Edit1.Text='')then                            //单位名称
        Str1.Add(' AND IncName Like ''%'+Edit1.Text+'%'' ');
      if not(ComboBox1.Text='')then                  //招聘职位
        Str1.Add(' AND InviteJob='''+ComboBox1.Text+''' ');
      if not(ComboBox2.Text='')then                  //工作性质
        Str1.Add(' AND JobQuality='''+ComboBox2.Text+''' ');
      if not(ComboBox3.Text='')then                  //工作待遇
        Str1.Add(' AND JobPay='''+ComboBox3.Text+''' ');
      if not(Edit2.Text='')then                  //其他待遇
        Str1.Add(' AND OtherPay Like ''%'+Edit2.Text+'%'' ');
      if not(Edit3.Text='')then                  //其他职位
        Str1.Add(' AND OtherJob Like ''%'+Edit3.Text+'%'' ');
      if not(Edit4.Text='')then                  //应聘方式
        Str1.Add(' AND JobFashion Like ''%'+Edit4.Text+'%'' ');
      if (not(SpinEdit2.Value<=0))and(not(SpinEdit4.Value<=0))then //招聘人数
        Str1.Add(' AND JobMember>='+IntToStr(SpinEdit2.Value)+
        ' AND JobMember<='+IntToStr(SpinEdit4.Value)+' ');
      if not(ComboBox4.Text='')then                  //婚姻状况
        Str1.Add(' AND MarriageAsk='''+ComboBox4.Text+''' ');                                                           //婚姻状况
      if not(ComboBox5.Text='')then                  //性别
        Str1.Add(' AND SexAsk='''+ComboBox5.Text+''' ');
      if not(ComboBox6.Text='')then                  //年龄要求
        Str1.Add(' AND AgeAsk='''+ComboBox6.Text+''' ');
      if not(ComboBox7.Text='')then                  //普通话
        Str1.Add(' AND MandarinAsk='''+ComboBox7.Text+''' ');
      if not(ComboBox8.Text='')then                  //学历要求
        Str1.Add(' AND CultureAsk='''+ComboBox8.Text+''' ');
      if not(ComboBox9.Text='')then                  //身高
        Str1.Add(' AND StatureAsk='''+ComboBox9.Text+''' ');
      if not(ComboBox10.Text='')then                  //外语要求
        Str1.Add(' AND LanguagesAsk='''+ComboBox10.Text+''' ');
      if not(ComboBox11.Text='')then                  //工作经验
        Str1.Add(' AND JobExperienceAsk='''+ComboBox11.Text+''' ');
      if not(ComboBox12.Text='')then                  //外语水平
        Str1.Add(' AND LlevelAsk='''+ComboBox12.Text+''' ');
      try
        FormMain.N22Click(FormMain);
        if FormIncPwaReg.ADOQuery2.Active then
          FormIncPwaReg.ADOQuery2.Close;
        FormIncPwaReg.ADOQuery2.Close;
        FormIncPwaReg.ADOQuery2.SQL.Clear;
        FormIncPwaReg.ADOQuery2.SQL:=Str1;
        FormIncPwaReg.ADOQuery2.Open;
      except
        Application.MessageBox('数据连接失败,请确认网络正常并重试.'
          ,'系统提示',0);
        Str1.Free;
        Close;
      end;
      Str1.Free;
    end;
      

  4.   

    //一个统计部分.写的虽然有点长.而且笨.但是运行正常.而且正确.procedure TFormFinanceStat.BitBtn5Click(Sender: TObject);
    var FlTemp1,FlTemp2,FlTemp3,FlTemp4,FlTemp5,FlTemp6,FlTemp7:double;
    StrTemp1:String;
    begin
      ADOQuery1.Open;
      BitBtn5.Enabled:=False;
    //设置图标显示
      DBChart1.Visible:=True;
      DBChart2.Visible:=False;
      DBChart3.Visible:=False;
    //营业收入
      DataModule1.TempQuery.Close;
      DataModule1.TempQuery.SQL.Clear;
      DataModule1.TempQuery.SQL.Add('SELECT SUM(AMOUNT) From FinanceReg Where '+
      'IE=''收入'' and ');
      DataModule1.TempQuery.SQL.Add('DATES>='''+DateToStr(DateTimePicker1.Date)+
      ' 00:00:00'' and DATES <='''+DateToStr(DateTimePicker2.Date)+' 23:59:59'' ');
      DataModule1.TempQuery.SQL.Add('AND NAME=''营业收入''');
      Try
        DataModule1.TempQuery.Open;
      except
        Application.MessageBox('数据连接失败,请确认网络正常并重试.'
          ,'系统提示',0);
        DataModule1.TempQuery.Close;
        DataModule1.TempQuery.SQL.Clear;
        Exit;
      end;
      Try
        FlTemp1:=DataModule1.TempQuery.FieldByName('COLUMN1').AsFloat;
        //ShowMessage(FloatToStr(FlTemp1));
      except
      end;
      DataModule1.TempQuery.Close;
      DataModule1.TempQuery.SQL.Clear;
      DataModule1.TempQuery.SQL.Add('UPDATE StatTemp1 SET AMOUNT='+FloatToStr(FlTemp1));
      DataModule1.TempQuery.SQL.Add('WHERE Name=''营业收入''');
      Try
        DataModule1.TempQuery.ExecSQL;
        DataModule1.TempQuery.Close;
        DataModule1.TempQuery.SQL.Clear;
      except
        Application.MessageBox('数据连接失败,请确认网络正常并重试.'
          ,'系统提示',0);
        DataModule1.TempQuery.Close;
        DataModule1.TempQuery.SQL.Clear;
        Exit;
      end;
    //营业外收入
      DataModule1.TempQuery.Close;
      DataModule1.TempQuery.SQL.Clear;
      DataModule1.TempQuery.SQL.Add('SELECT SUM(AMOUNT) From FinanceReg Where '+
      'IE=''收入'' and ');
      DataModule1.TempQuery.SQL.Add('DATES>='''+DateToStr(DateTimePicker1.Date)+
      ' 00:00:00'' and DATES <='''+DateToStr(DateTimePicker2.Date)+' 23:59:59'' ');
      DataModule1.TempQuery.SQL.Add('AND NAME=''营业外收入''');
      Try
        DataModule1.TempQuery.Open;
      except
        Application.MessageBox('数据连接失败,请确认网络正常并重试.'
          ,'系统提示',0);
        DataModule1.TempQuery.Close;
        DataModule1.TempQuery.SQL.Clear;
        Exit;
      end;
      Try
        FlTemp2:=DataModule1.TempQuery.FieldByName('COLUMN1').AsFloat;
        //ShowMessage(FloatToStr(FlTemp2));
      except
      end;
      DataModule1.TempQuery.Close;
      DataModule1.TempQuery.SQL.Clear;
      DataModule1.TempQuery.SQL.Add('UPDATE StatTemp1 SET AMOUNT='+FloatToStr(FlTemp2));
      DataModule1.TempQuery.SQL.Add('WHERE Name=''营业外收入''');
      Try
        DataModule1.TempQuery.ExecSQL;
        DataModule1.TempQuery.Close;
        DataModule1.TempQuery.SQL.Clear;
      except
        Application.MessageBox('数据连接失败,请确认网络正常并重试.'
          ,'系统提示',0);
        DataModule1.TempQuery.Close;
        DataModule1.TempQuery.SQL.Clear;
        Exit;
      end;
    //营业支出
      DataModule1.TempQuery.Close;
      DataModule1.TempQuery.SQL.Clear;
      DataModule1.TempQuery.SQL.Add('SELECT SUM(AMOUNT) From FinanceReg Where '+
      'IE=''支出'' and ');
      DataModule1.TempQuery.SQL.Add('DATES>='''+DateToStr(DateTimePicker1.Date)+
      ' 00:00:00'' and DATES <='''+DateToStr(DateTimePicker2.Date)+' 23:59:59'' ');
      DataModule1.TempQuery.SQL.Add('AND NAME=''营业支出''');
      Try
        DataModule1.TempQuery.Open;
      except
        Application.MessageBox('数据连接失败,请确认网络正常并重试.'
          ,'系统提示',0);
        DataModule1.TempQuery.Close;
        DataModule1.TempQuery.SQL.Clear;
        Exit;
      end;
      Try
        FlTemp3:=DataModule1.TempQuery.FieldByName('COLUMN1').AsFloat;
        //ShowMessage(FloatToStr(FlTemp3));
      except
      end;
      DataModule1.TempQuery.Close;
      DataModule1.TempQuery.SQL.Clear;
      DataModule1.TempQuery.SQL.Add('UPDATE StatTemp1 SET AMOUNT='+FloatToStr(FlTemp3));
      DataModule1.TempQuery.SQL.Add('WHERE Name=''营业支出''');
      Try
        DataModule1.TempQuery.ExecSQL;
        DataModule1.TempQuery.Close;
        DataModule1.TempQuery.SQL.Clear;
      except
        Application.MessageBox('数据连接失败,请确认网络正常并重试.'
          ,'系统提示',0);
        DataModule1.TempQuery.Close;
        DataModule1.TempQuery.SQL.Clear;
        Exit;
      end;
      

  5.   

    //接上  //营业外支出
      DataModule1.TempQuery.Close;
      DataModule1.TempQuery.SQL.Clear;
      DataModule1.TempQuery.SQL.Add('SELECT SUM(AMOUNT) From FinanceReg Where '+
      'IE=''支出'' and ');
      DataModule1.TempQuery.SQL.Add('DATES>='''+DateToStr(DateTimePicker1.Date)+
      ' 00:00:00'' and DATES <='''+DateToStr(DateTimePicker2.Date)+' 23:59:59'' ');
      DataModule1.TempQuery.SQL.Add('AND NAME=''营业外支出''');
      Try
        DataModule1.TempQuery.Open;
      except
        Application.MessageBox('数据连接失败,请确认网络正常并重试.'
          ,'系统提示',0);
        DataModule1.TempQuery.Close;
        DataModule1.TempQuery.SQL.Clear;
        Exit;
      end;
      Try
        FlTemp4:=DataModule1.TempQuery.FieldByName('COLUMN1').AsFloat;
        //ShowMessage(FloatToStr(FlTemp1));
      except
      end;
      DataModule1.TempQuery.Close;
      DataModule1.TempQuery.SQL.Clear;
      DataModule1.TempQuery.SQL.Add('UPDATE StatTemp1 SET AMOUNT='+FloatToStr(FlTemp4));
      DataModule1.TempQuery.SQL.Add('WHERE Name=''营业外支出''');
      Try
        DataModule1.TempQuery.ExecSQL;
        DataModule1.TempQuery.Close;
        DataModule1.TempQuery.SQL.Clear;
      except
        Application.MessageBox('数据连接失败,请确认网络正常并重试.'
          ,'系统提示',0);
        DataModule1.TempQuery.Close;
        DataModule1.TempQuery.SQL.Clear;
        Exit;
      end;
       //算合计
      FlTemp5:=FlTemp1+FlTemp2;
      FlTemp6:=FlTemp3+FlTemp4;
      FlTemp7:=FlTemp1+FlTemp2-FlTemp3-FlTemp4;
      DataModule1.TempQuery.Close;
      DataModule1.TempQuery.SQL.Clear;
      DataModule1.TempQuery.SQL.Add('UPDATE StatTemp1 SET AMOUNT='+FloatToStr(FlTemp5));
      DataModule1.TempQuery.SQL.Add('WHERE Name=''总收入''');
      Try
        DataModule1.TempQuery.ExecSQL;
        DataModule1.TempQuery.Close;
        DataModule1.TempQuery.SQL.Clear;
      except
        Application.MessageBox('数据连接失败,请确认网络正常并重试.'
          ,'系统提示',0);
        DataModule1.TempQuery.Close;
        DataModule1.TempQuery.SQL.Clear;
        Exit;
      end;
      DataModule1.TempQuery.Close;
      DataModule1.TempQuery.SQL.Clear;
      DataModule1.TempQuery.SQL.Add('UPDATE StatTemp1 SET AMOUNT='+FloatToStr(FlTemp6));
      DataModule1.TempQuery.SQL.Add('WHERE Name=''总支出''');
      Try
        DataModule1.TempQuery.ExecSQL;
        DataModule1.TempQuery.Close;
        DataModule1.TempQuery.SQL.Clear;
      except
        Application.MessageBox('数据连接失败,请确认网络正常并重试.'
          ,'系统提示',0);
        DataModule1.TempQuery.Close;
        DataModule1.TempQuery.SQL.Clear;
        Exit;
      end;
        DataModule1.TempQuery.Close;
      DataModule1.TempQuery.SQL.Clear;
      DataModule1.TempQuery.SQL.Add('UPDATE StatTemp1 SET AMOUNT='+FloatToStr(FlTemp7));
      DataModule1.TempQuery.SQL.Add('WHERE Name=''合计利润''');
      Try
        DataModule1.TempQuery.ExecSQL;
        DataModule1.TempQuery.Close;
        DataModule1.TempQuery.SQL.Clear;
      except
        Application.MessageBox('数据连接失败,请确认网络正常并重试.'
          ,'系统提示',0);
        DataModule1.TempQuery.Close;
        DataModule1.TempQuery.SQL.Clear;
        Exit;
      end;
      DBChart1.Title.Text.Clear;
      DBChart1.Title.Text.Add('('+DateToStr(DateTimePicker1.Date)+'到'+
      DateToStr(DateTimePicker2.Date)+')阶段性财务统计');
    //文字报表
      Memo1.Lines.Clear;
      Memo1.Lines.Add('('+DateToStr(DateTimePicker1.Date)+'到'+
      DateToStr(DateTimePicker2.Date)+')阶段性财务统计');
      Memo1.Lines.Add('-------------------------------------------');
      Memo1.Lines.Add('名称'+#9+#9+#9+'金额(元)');
      ADOQuery1.First;
      while not(ADOQuery1.Eof) do
      begin
        StrTemp1:=(ADOQuery1.FieldByName('Name').AsString)+#9+#9+
        (ADOQuery1.FieldByName('AMOUNT').AsString);
        Memo1.Lines.Add(StrTemp1);
        ADOQuery1.Next;
      end;
      ADOQuery1.Close;
      ADOQuery1.Open;
      BitBtn5.Enabled:=True;
    end;procedure TFormFinanceStat.BitBtn4Click(Sender: TObject);
    begin  if DBChart1.Visible then
        if SaveDialog1.Execute then
          DBChart1.SaveToBitmapFile(SaveDialog1.FileName+'.BMP');
      if DBChart2.Visible then
        if SaveDialog1.Execute then
          DBChart2.SaveToBitmapFile(SaveDialog1.FileName+'.BMP');
       if DBChart2.Visible then
         if SaveDialog1.Execute then
           DBChart2.SaveToBitmapFile(SaveDialog1.FileName+'.BMP');
    end;
      

  6.   

    //一个统计过程的代码,比较笨,类似上面那个.
    procedure TFormFinanceStat.BitBtn8Click(Sender: TObject);
    var FlTemp1,FlTemp2,FlTemp3,FlTemp4,FlTemp5,FlTemp6:double;
    begin
      ADOQuery4.Open;
      BitBtn8.Enabled:=False;
    //设置图表显示
      DBChart3.Visible:=True;
      DBChart1.Visible:=False;
      DBChart2.Visible:=False;
    //家教中介
    //家教中介业务收入
      DataModule1.TempQuery.Close;
      DataModule1.TempQuery.SQL.Clear;
      DataModule1.TempQuery.SQL.Add('SELECT SUM(AMOUNT) From FinanceReg Where '+
      'IE=''收入'' and ');
      DataModule1.TempQuery.SQL.Add('DATES>='''+DateToStr(DateTimePicker1.Date)+
      ' 00:00:00'' and DATES <='''+DateToStr(DateTimePicker2.Date)+' 23:59:59'' ');
      DataModule1.TempQuery.SQL.Add('AND Obj=''家教业务''');
      DataModule1.TempQuery.SQL.Add('AND DUTYOFFICE='''+trim(ComboBox1.Text)+'''');
      Try
        DataModule1.TempQuery.Open;
      except
        Application.MessageBox('数据连接失败,请确认网络正常并重试.'
          ,'系统提示',0);
        DataModule1.TempQuery.Close;
        DataModule1.TempQuery.SQL.Clear;
        Exit;
      end;
      Try
        FlTemp1:=DataModule1.TempQuery.FieldByName('COLUMN1').AsFloat;
       //ShowMessage(FloatToStr(FlTemp1));//ok
      except
      end;
      DataModule1.TempQuery.Close;
      DataModule1.TempQuery.SQL.Clear;
      DataModule1.TempQuery.SQL.Add('UPDATE StatTemp4 SET AMOUNT='+FloatToStr(FlTemp1));
      DataModule1.TempQuery.SQL.Add('WHERE Name=''家教中介业务收入''');
      Try
        DataModule1.TempQuery.ExecSQL;
        DataModule1.TempQuery.Close;
        DataModule1.TempQuery.SQL.Clear;
      except
        Application.MessageBox('数据连接失败,请确认网络正常并重试.'
          ,'系统提示',0);
        DataModule1.TempQuery.Close;
        DataModule1.TempQuery.SQL.Clear;
        Exit;
      end;
    //家教业务支出
      DataModule1.TempQuery.Close;
      DataModule1.TempQuery.SQL.Clear;
      DataModule1.TempQuery.SQL.Add('SELECT SUM(AMOUNT) From FinanceReg Where '+
      'IE=''支出'' and ');
      DataModule1.TempQuery.SQL.Add('DATES>='''+DateToStr(DateTimePicker1.Date)+
      ' 00:00:00'' and DATES <='''+DateToStr(DateTimePicker2.Date)+' 23:59:59'' ');
      DataModule1.TempQuery.SQL.Add('AND Obj=''家教业务''');
      DataModule1.TempQuery.SQL.Add('AND DUTYOFFICE='''+trim(ComboBox1.Text)+'''');
      Try
        DataModule1.TempQuery.Open;
      except
        Application.MessageBox('数据连接失败,请确认网络正常并重试.'
          ,'系统提示',0);
        DataModule1.TempQuery.Close;
        DataModule1.TempQuery.SQL.Clear;
        Exit;
      end;
      Try
        FlTemp2:=DataModule1.TempQuery.FieldByName('COLUMN1').AsFloat;
       // ShowMessage(FloatToStr(FlTemp1));
      except
      end;
      DataModule1.TempQuery.Close;
      DataModule1.TempQuery.SQL.Clear;
      DataModule1.TempQuery.SQL.Add('UPDATE StatTemp4 SET AMOUNT='+FloatToStr(FlTemp2));
      DataModule1.TempQuery.SQL.Add('WHERE Name=''家教中介业务支出''');
      Try
        DataModule1.TempQuery.ExecSQL;
        DataModule1.TempQuery.Close;
        DataModule1.TempQuery.SQL.Clear;
      except
        Application.MessageBox('数据连接失败,请确认网络正常并重试.'
          ,'系统提示',0);
        DataModule1.TempQuery.Close;
        DataModule1.TempQuery.SQL.Clear;
        Exit;
      end;
    //工作中介
    //工作中介业务收入
      DataModule1.TempQuery.Close;
      DataModule1.TempQuery.SQL.Clear;
      DataModule1.TempQuery.SQL.Add('SELECT SUM(AMOUNT) From FinanceReg Where '+
      'IE=''收入'' and ');
      DataModule1.TempQuery.SQL.Add('DATES>='''+DateToStr(DateTimePicker1.Date)+
      ' 00:00:00'' and DATES <='''+DateToStr(DateTimePicker2.Date)+' 23:59:59'' ');
      DataModule1.TempQuery.SQL.Add('AND Obj=''招聘业务''');
      DataModule1.TempQuery.SQL.Add('AND DUTYOFFICE='''+trim(ComboBox1.Text)+'''');
      Try
        DataModule1.TempQuery.Open;
      except
        Application.MessageBox('数据连接失败,请确认网络正常并重试.'
          ,'系统提示',0);
        DataModule1.TempQuery.Close;
        DataModule1.TempQuery.SQL.Clear;
        Exit;
      end;
      Try
        FlTemp3:=DataModule1.TempQuery.FieldByName('COLUMN1').AsFloat;
       // ShowMessage(FloatToStr(FlTemp1));
      except
      end;
      DataModule1.TempQuery.Close;
      DataModule1.TempQuery.SQL.Clear;
      DataModule1.TempQuery.SQL.Add('UPDATE StatTemp4 SET AMOUNT='+FloatToStr(FlTemp3));
      DataModule1.TempQuery.SQL.Add('WHERE Name=''工作中介业务收入''');
      Try
        DataModule1.TempQuery.ExecSQL;
        DataModule1.TempQuery.Close;
        DataModule1.TempQuery.SQL.Clear;
      except
        Application.MessageBox('数据连接失败,请确认网络正常并重试.'
          ,'系统提示',0);
        DataModule1.TempQuery.Close;
        DataModule1.TempQuery.SQL.Clear;
        Exit;
      end;