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

📄 menu.pas

📁 delphi6.0电子寻更源程序,用来计算保安有无查抄
💻 PAS
📖 第 1 页 / 共 4 页
字号:
    open;
    first;
    while not eof do
    begin
    delete;
    end;
    end;
    j:=0;
    assignfile(mytextfile,filename);
    reset(mytextfile);
    readln(mytextfile,linestr);
    //dm_sjbf.sql1:=tquery.create(mainform);
    //dm_sjbf.sql1.Databasename:='gyxgdb';
    //dm_sjbf.sql1.Sql.Clear ;
    //dm_sjbf.sql1.sql.Add('select * from temp');
    //dm_sjbf.sql1.RequestLive:=true;
    sql1.close;
    sql1.open;
    sql1.first;
   while not  sql1.Eof do
   begin
   sql1.Delete ;
   end;
   while not eoln(mytextfile) do
    begin
      readln(mytextfile,linestr);
      //linestr:=decrypt(linestr);
      if linestr='point'  then
      break;
      sql1.append;
      sql1.edit;
      j:= pos('|',linestr);
      sql1.fieldbyname('pdate').asdatetime:=strtodate(trim(copy(linestr,1,j-1)));
      delete(linestr,1,j);
      j:= pos('|',linestr);
      sql1.fieldbyname('ptime').asdatetime:=strtotime(trim(copy(linestr,1,j-1)));
      delete(linestr,1,j);
      j:= pos('|',linestr);
      sql1.fieldbyname('pencode').asstring:=trim(copy(linestr,1,j-1));
      delete(linestr,1,j);
      j:= pos('|',linestr);
      sql1.fieldbyname('node').asstring:=trim(copy(linestr,1,j-1));
      delete(linestr,1,j);
      j:= pos('|',linestr);
      sql1.fieldbyname('workercode').asstring:=trim(copy(linestr,1,j-1));
      delete(linestr,1,j);
      j:= pos('|',linestr);
      sql1.fieldbyname('pstatu').asstring:=trim(copy(linestr,1,j-1));
      delete(linestr,1,j);
      j:= pos('|',linestr);
      sql1.fieldbyname('nodename').asstring:=trim(copy(linestr,1,j-1));
      delete(linestr,1,j);
      j:= pos('|',linestr);
      sql1.fieldbyname('nodeplace').asstring:=trim(copy(linestr,1,j-1));
      delete(linestr,1,j);
      j:= pos('|',linestr);
      sql1.fieldbyname('workername').asstring:=trim(copy(linestr,1,j-1));
      delete(linestr,1,j);
      j:= pos('|',linestr);
      sql1.fieldbyname('linename').asstring:=trim(copy(linestr,1,j-1));
      delete(linestr,1,j);
      j:= pos('|',linestr);
      sql1.fieldbyname('lseq').asinteger:=strtoint(trim(copy(linestr,1,j-1)));
      sql1.post;
      progressbar2.Position := progressbar2.Position +1;
      end;
      //showmessage(inttostr(qq));
   while not eoln(mytextfile) do
    begin  // 巡更点信息
      readln(mytextfile,linestr);
      //linestr:=decrypt(linestr);
      if linestr='worker'  then
      break;
      dm_sjbf.q_point.append;
      dm_sjbf.q_point.edit;
      j:= pos('|',linestr);
      //dm_sjbf.q_point.paramByName('node').asstring:=trim(copy(linestr,1,j-1));
      dm_sjbf.q_point.fieldbyname('node').asstring:=trim(copy(linestr,1,j-1));
      delete(linestr,1,j);
      j:= pos('|',linestr);
      //dm_sjbf.q_point.paramByName('linename').asstring:=trim(copy(linestr,1,j-1));
      dm_sjbf.q_point.fieldbyname('linename').asstring:=trim(copy(linestr,1,j-1));
      delete(linestr,1,j);
      j:= pos('|',linestr);
      //dm_sjbf.q_point.paramByName('name').asstring:=trim(copy(linestr,1,j-1));
      dm_sjbf.q_point.fieldbyname('name').asstring:=trim(copy(linestr,1,j-1));
      delete(linestr,1,j);
      j:= pos('|',linestr);
      //dm_sjbf.q_point.paramByName('lseq').asinteger:=strtoint(trim(copy(linestr,1,j-1)));
      dm_sjbf.q_point.fieldbyname('lseq').asinteger:=strtoint(trim(copy(linestr,1,j-1)));
      delete(linestr,1,j);
      j:= pos('|',linestr);
      //dm_sjbf.q_point.paramByName('ntime').asinteger:=strtoint(trim(copy(linestr,1,j-1)));
       dm_sjbf.q_point.fieldbyname('ntime').asinteger:=strtoint(trim(copy(linestr,1,j-1)));
      delete(linestr,1,j);
      j:= pos('|',linestr);
      //dm_sjbf.q_point.paramByName('nodeplace').asstring:=trim(copy(linestr,1,j-1));
      dm_sjbf.q_point.fieldbyname('nodeplace').asstring:=trim(copy(linestr,1,j-1));
      dm_sjbf.q_point.post;
        progressbar2.Position:=progressbar2.Position +1;
      end;
      while not eoln(mytextfile) do
    begin  // 巡更员信息
      readln(mytextfile,linestr);
      //linestr:=decrypt(linestr);
      if linestr='shiftrule'  then
      break;
      dm_sjbf.q_worker.append;
      dm_sjbf.q_worker.Edit;
      j:= pos('|',linestr);
      dm_sjbf.q_worker.fieldbyname('code').asstring:=trim(copy(linestr,1,j-1));
      delete(linestr,1,j);
      j:= pos('|',linestr);
      dm_sjbf.q_worker.fieldbyname('name').asstring:=trim(copy(linestr,1,j-1));
      delete(linestr,1,j);
      j:= pos('|',linestr);
      dm_sjbf.q_worker.fieldbyname('birthday').asdatetime:=strtodate(trim(copy(linestr,1,j-1)));
      delete(linestr,1,j);
      j:= pos('|',linestr);
      dm_sjbf.q_worker.fieldbyname('sex').asstring:=(trim(copy(linestr,1,j-1)));
      delete(linestr,1,j);
      j:= pos('|',linestr);
      dm_sjbf.q_worker.fieldbyname('address').asstring:=(trim(copy(linestr,1,j-1)));
      delete(linestr,1,j);
      j:= pos('|',linestr);
      dm_sjbf.q_worker.fieldbyname('phone').asstring:=(trim(copy(linestr,1,j-1)));
      delete(linestr,1,j);
      j:= pos('|',linestr);
      dm_sjbf.q_worker.fieldbyname('pager').asstring:=(trim(copy(linestr,1,j-1)));
      delete(linestr,1,j);
      j:= pos('|',linestr);
      dm_sjbf.q_worker.fieldbyname('number').asstring:=(trim(copy(linestr,1,j-1)));
      dm_sjbf.q_worker.post;
      progressbar2.Position := progressbar2.Position +1;
      end;
      while not eoln(mytextfile) do
    begin  // 巡更班次信息
      readln(mytextfile,linestr);
      //linestr:=decrypt(linestr);
      if linestr='fpxl'  then
      break;
      dm_sjbf.q_shiftrule.Append ;
      dm_sjbf.q_shiftrule.Edit ;
      j:= pos('|',linestr);
      dm_sjbf.q_shiftrule.fieldbyname('linename').asstring:=trim(copy(linestr,1,j-1));
      delete(linestr,1,j);
      j:= pos('|',linestr);
      dm_sjbf.q_shiftrule.fieldbyname('shifts').asstring:=trim(copy(linestr,1,j-1));
      delete(linestr,1,j);
      j:= pos('|',linestr);
      dm_sjbf.q_shiftrule.fieldbyname('firstp').asdatetime:=strtotime(trim(copy(linestr,1,j-1)));
      delete(linestr,1,j);
      j:= pos('|',linestr);
      dm_sjbf.q_shiftrule.fieldbyname('lastp').asdatetime:=strtotime(trim(copy(linestr,1,j-1)));
      delete(linestr,1,j);
      j:= pos('|',linestr);
      dm_sjbf.q_shiftrule.fieldbyname('chkcycl').asinteger:=strtoint(trim(copy(linestr,1,j-1)));
      delete(linestr,1,j);
      j:= pos('|',linestr);
      dm_sjbf.q_shiftrule.fieldbyname('dgpcxx').asinteger:=strtoint(trim(copy(linestr,1,j-1)));
      delete(linestr,1,j);
      j:= pos('|',linestr);
      dm_sjbf.q_shiftrule.fieldbyname('dgpcsx').asinteger:=strtoint(trim(copy(linestr,1,j-1)));
      delete(linestr,1,j);
      j:= pos('|',linestr);
      dm_sjbf.q_shiftrule.fieldbyname('TIMES').asinteger:=strtoint(trim(copy(linestr,1,j-1)));
      //SHOWMESSAGE(trim(copy(linestr,1,j-1)));
      dm_sjbf.q_shiftrule.Post;
      progressbar2.Position := progressbar2.Position +1;
      end;
      while not eoln(mytextfile) do
       begin  //线路分配信息
      readln(mytextfile,linestr);
      //linestr:=decrypt(linestr);
      dm_sjbf.q_fpxl.Append ;
      dm_sjbf.q_fpxl.edit;
      j:= pos('|',linestr);
      dm_sjbf.q_fpxl.fieldbyname('code').asstring:=trim(copy(linestr,1,j-1));
      delete(linestr,1,j);
      j:= pos('|',linestr);
      dm_sjbf.q_fpxl.fieldbyname('shift').asstring:=trim(copy(linestr,1,j-1));
      delete(linestr,1,j);
      j:= pos('|',linestr);
      dm_sjbf.q_fpxl.fieldbyname('linename').asstring:=trim(copy(linestr,1,j-1));
      //delete(linestr,1,j);
      dm_sjbf.q_fpxl.Post;
      progressbar2.Position := progressbar2.Position +1;
      end;
      //showmessage(inttostr(progressbar2.Position)+'#2');
      //dm_sjbf.Database1.StartTransaction ;
      //try
      //dm_sjbf.q_xjxx.ApplyUpdates;
      dm_sjbf.q_point.ApplyUpdates;
      dm_sjbf.q_worker.ApplyUpdates;
      dm_sjbf.q_shiftrule.ApplyUpdates;
      dm_sjbf.q_fpxl.ApplyUpdates;
      dm_sjbf.Database1.Commit ;
      //if count>1 then
      //dm_sjbf.Database2.Commit ;
      except
      closefile(mytextfile);
      panel1.Visible:=false;
      dm_sjbf.Database1.Rollback ;
      //showmessage(inttostr(qq));
      Application.MessageBox('資料恢復有誤,可能是選擇的文件不符或打開文件有誤!','消息',MB_ICONINFORMATION);
      exit;
      end;
      dm_sjbf.q_worker.CommitUpdates ;
      dm_sjbf.q_point.CommitUpdates ;
      dm_sjbf.q_shiftrule.CommitUpdates;
      dm_sjbf.q_fpxl.CommitUpdates;
      try
       with q_xjxx do
      begin
      close;
      open;
      first;
      while not eof do
      begin
      delete;
      end;
      end;
      sql1.Close;
      sql1.open;
      sql1.first;
      while not sql1.Eof do
      begin
    //with dm_sjbf.q_xjxx do
    with  q_xjxx do
     begin
     append;
     edit;
     fieldbyname('pdate').asdatetime:=sql1.fieldbyname('pdate').asdatetime;
     fieldbyname('ptime').asdatetime:=sql1.fieldbyname('ptime').asdatetime;
     fieldbyname('pencode').asstring:=sql1.fieldbyname('pencode').asstring;
     fieldbyname('node').asstring:=sql1.fieldbyname('node').asstring;
     fieldbyname('workercode').asstring:=sql1.fieldbyname('workercode').asstring;
     fieldbyname('nodename').asstring:=sql1.fieldbyname('nodename').asstring;
     fieldbyname('nodeplace').asstring:= sql1.fieldbyname('nodeplace').asstring;
     fieldbyname('workername').asstring:=sql1.fieldbyname('workername').asstring;
     fieldbyname('linename').asstring:=sql1.fieldbyname('linename').asstring;
     fieldbyname('lseq').asinteger:=sql1.fieldbyname('lseq').asinteger;
     fieldbyname('pstatu').asstring:=sql1.fieldbyname('pstatu').asstring;
     post;
     progressbar2.Position:=progressbar2.Position +1;
     end;
     sql1.Next;
     end;
     except
     closefile(mytextfile);
     panel1.Visible:=false;
     Application.MessageBox('資料庫文件已經損壞!請重新安裝該軟體!','消息',MB_ICONINFORMATION);
     exit;
     end;
      //showmessage(inttostr(progressbar2.Position)+'#2');
      closefile(mytextfile);
      panel1.Visible  :=false;
      Application.MessageBox('資料恢復成功!','消息',MB_ICONINFORMATION);
      end;//0.1
panel1.Visible:=false;
end;

procedure Tmainform.xtAction11Execute(Sender: TObject);
begin
  Close;
end;

procedure Tmainform.sjAction7Execute(Sender: TObject);
var child:tsetcommform;
begin
  settestform:=tsettestform.Create(self);
  settestform.ShowModal;
  settestform.free;
end;

procedure Tmainform.sjAction8Execute(Sender: TObject);
var
  child:ttestpenform;
begin
  testpenform:=ttestpenform.Create(self);
  testpenform.ShowModal;
  testpenform.free;
end;

procedure Tmainform.sjAction9Execute(Sender: TObject);
begin
  receform:=trecEform.create(self);
  receform.showmodal;
  receform.free;

end;

procedure Tmainform.xxAction7Execute(Sender: TObject);
begin
  if not Assigned(sjysxx) then
    sjysxx:=tsjysxx.Create(self);
  ShowWindow(sjysxx.Handle,SW_MAXIMIZE);
end;

procedure Tmainform.xxAction8Execute(Sender: TObject);
begin
  choose_day:=tchoose_day.Create(self);
  choose_day.ShowModal ;
  choose_day.Free;
end;

procedure Tmainform.xxAction9Execute(Sender: TObject);
var
  s:string;
  v1,v2:string;
  i:integer;
  dbDes: DBDesc;
  child:tlsxx_form;
begin
   lssjlldlgform:=tlssjlldlgform.create(self);
  if lssjlldlgform.showmodal=mrok then
  BEGIN
    Check(DbiInit(NiL));
 	  Check(DbiGetDatabaseDesc('GYXGDB', @dbDes));
    	//v2:=inttostr(lssjlldlgform.edit1.value);
       v2:=lssjlldlgform.edit1.Text ;
     v1:=dbdes.szphyname+'\bf'+v2+'.db';
  END
  else
    begin
      lssjlldlgform.free;
      exit;
    end;
  lssjlldlgform.free;
    if not fileexists(v1) then
      begin
      Application.MessageBox('無該年報表!','消息',MB_ICONINFORMATION);
      exit;
      end
    else
      begin
           with DataModule1.q_view do
           begin
           s:='select  * '+'from'+' '+'bf'+v2;
           //showmessage(s) ;
           close;
           sql.Clear ;
           sql.add(s);
           open;
           end;
        if DataModule1.q_view.RecordCount=0  then
         begin
           Application.MessageBox('該年報表無數據!','消息',MB_ICONINFORMATION);
           exit;
         end
        else
          begin
        label1.Visible:=true;
        label1.Caption:=v2+'年歷史資料';
        //child:=tlsxx_form.create(application);
        //child.show;
        lsxx_form:=tlsxx_form.Create(self);
        lsxx_form.showmodal;
        lsxx_form.free;
          end;
      end;
end;

procedure Tmainform.acthelpExecute(Sender: TObject);
var
helpname:string;
begin
  helpname:=ExtractFiledir(APPLICATION.EXENAME)+'\'+ExtractFilename(APPLICATION.EXENAME);//+'\hdxgxt.ini';
  if not fileexists(helpname) then
  helpname:=ExtractFileDir(APPLICATION.EXENAME)+'xxcl.hlp'
  else helpname:=extractfiledir(application.exename)+'\xxcl.hlp';
  Application.HelpFile :=helpname;//ExtractFileDir(Application.ExeName)+'\xxcl.hlp';
  Application.HelpCommand(HELP_CONTENTS, 1);
//  Application.HelpCommand(HELP_CONTExt, 0);

end;

procedure Tmainform.aboutExecute(Sender: TObject);
var child:Taboutform;
begin
  aboutform:=taboutform.Create(self);
  aboutform.ShowModal;
  aboutform.free;
end;

procedure Tmainform.dxBarButton1Click(Sender: TObject);
begin
  dxNavBar1.View :=1 ;
end;

procedure Tmainform.dxBarButton2Click(Sender: TObject);
begin
  dxNavBar1.Groups[dxNavBar1.ActiveGroupIndex].Expanded :=true ;
  if dxNavBar1.ActiveGroupIndex <> 0 then
    dxNavBar1.Groups[0].Expanded :=false ;
  if dxNavBar1.ActiveGroupIndex <> 1 then
    dxNavBar1.Groups[1].Expanded :=false ;
  if dxNavBar1.ActiveGroupIndex <> 2 then
    dxNavBar1.Groups[2].Expanded :=false ;
  if dxNavBar1.ActiveGroupIndex <> 3 then
    dxNavBar1.Groups[3].Expanded :=false ;
  dxNavBar1.View :=10 ;
end;

procedure Tmainform.dxBarButton3Click(Sender: TObject);
begin
  dxNavBar1.Groups[dxNavBar1.ActiveGroupIndex].Expanded :=true ;
  if dxNavBar1.ActiveGroupIndex <> 0 then
    dxNavBar1.Groups[0].Expanded :=false ;
  if dxNavBar1.ActiveGroupIndex <> 1 then
    dxNavBar1.Groups[1].Expanded :=false ;
  if dxNavBar1.ActiveGroupIndex <> 2 then
    dxNavBar1.Groups[2].Expanded :=false ;
  if dxNavBar1.ActiveGroupIndex <> 3 then
    dxNavBar1.Groups[3].Expanded :=false ;
   dxNavBar1.View :=11 ;
end;

procedure Tmainform.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
  if Application.MessageBox('確定要退出系統嗎?','提示資訊',MB_ICONINFORMATION+MB_OKCANCEL) = IDCANCEL then
    CanClose :=false ;

end;

end.

⌨️ 快捷键说明

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