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

📄 sys900_01.pas.svn-base

📁 这是一个功能齐全的,代码完整的ERP企业信息管理系统,现在上传和大家分享
💻 SVN-BASE
📖 第 1 页 / 共 3 页
字号:
  if cbBold.Checked then lblKey.Font.Style:=lblKey.Font.Style+[fsBold] else lblKey.Font.Style:=lblKey.Font.Style-[fsBold];
  if cbItalic.Checked then lblKey.Font.Style:=lblKey.Font.Style+[fsItalic] else lblKey.Font.Style:=lblKey.Font.Style-[fsItalic];
  if cbUnderline.Checked then lblKey.Font.Style:=lblKey.Font.Style+[fsUnderline] else lblKey.Font.Style:=lblKey.Font.Style-[fsUnderline];
end;

procedure TSys900_01Form.cbKeyColorChange(Sender: TObject);
begin
//关键字段字体颜色
  lblKey.Font.Color:=cbKeyColor.Selected;
end;

procedure TSys900_01Form.qrySys900AfterScroll(DataSet: TDataSet);
begin
  dxDBGrid1S900_003.DisableEditor:=not qrySys900S900_008.Value;
  dxDBGrid1S900_004.DisableEditor:=not qrySys900S900_008.Value;
  dxDBGrid1S900_005.DisableEditor:=not qrySys900S900_008.Value;
  dxDBGrid1S900_006.DisableEditor:=not qrySys900S900_008.Value;
  dxDBGrid1S900_007.DisableEditor:=not qrySys900S900_008.Value;
end;

procedure TSys900_01Form.qrySys900BeforePost(DataSet: TDataSet);
begin
  if not CheckAutoCode(qrySys900S900_007.Value) then
  begin
    ShowMsg('UMS10000177');  //非法的编号规则,请重新输入
    Abort;
  end;
end;

procedure TSys900_01Form.dxDBGrid1S900_007ButtonClick(Sender: TObject;
  AbsoluteIndex: Integer);
begin
  Sys900_02Form:=TSys900_02Form.Create(Application);
  Sys900_02Form.Edit1.Text:=qrySys900S900_007.Value;
  if Sys900_02Form.ShowModal=1 then
  begin
    qrySys900.Edit;
    qrySys900S900_007.Value:=Sys900_02Form.Edit1.Text;
    qrySys900.Post;
  end;
end;

procedure TSys900_01Form.dxDBGrid1S900_008Change(Sender: TObject);
begin
  dxDBGrid1S900_003.DisableEditor:=not qrySys900S900_008.Value;
  dxDBGrid1S900_004.DisableEditor:=not qrySys900S900_008.Value;
  dxDBGrid1S900_005.DisableEditor:=not qrySys900S900_008.Value;
  dxDBGrid1S900_006.DisableEditor:=not qrySys900S900_008.Value;
  dxDBGrid1S900_007.DisableEditor:=not qrySys900S900_008.Value;
end;

procedure TSys900_01Form.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if Key=VK_F1 then
    HtmlHelp(Application.Handle, AHelpFile+'::/'+AProgramID+'.htm', $0000, nil);
end;

procedure TSys900_01Form.sbPathClick(Sender: TObject);
var
  APath:string;
begin
  APath:=BrowseDialog(GetDBString('SYS90001034'),0);
  if APath<>'' then edtPath.Text:=APath;
end;

procedure TSys900_01Form.edtPortKeyPress(Sender: TObject; var Key: Char);
begin
  ValidInteger(Sender,Key);
end;

//更新任务系统数据
procedure TSys900_01Form.UpdateTAS500;
var
  AWorkID:String;
begin
  //清除任務計劃的實際開始、實際完成日期
  qryQuery.Close;
  qryQuery.SQL.Clear;
  qryQuery.SQL.Add('update TAS510 set T510_027=null,T510_028=null');
  qryQuery.ExecSQL;
  //清除項目計劃的實際開始、實際完成日期
  qryQuery.Close;
  qryQuery.SQL.Clear;
  qryQuery.SQL.Add('update TAS500 set T500_026=null,T500_027=null');
  qryQuery.ExecSQL;

  //更新任務工單數據
  qryQuery.Close;
  qryQuery.SQL.Clear;
  qryQuery.SQL.Add('select T520_001,T520_002 from TAS520 order by T520_001');
  qryQuery.Open;
  ProgressBar2.Position:=0;
  ProgressBar2.Max:=qryQuery.RecordCount;
  qryQuery.First;
  while not qryQuery.Eof do
  begin
    Application.ProcessMessages;
    AWorkID:=qryQuery.FieldByName('T520_001').AsString;
    Label2.Caption:=GetDBString('SYS90001041')+AWorkID+'  '+qryQuery.FieldByName('T520_002').AsString;  //正在更新...
    Label2.Update;
    UpdateWorksInfo(AWorkID);  //更新任務工单信息
    ProgressBar2.Position:=ProgressBar2.Position+1;
    ProgressBar1.Position:=ProgressBar1.Position+1;
    qryQuery.Next;
  end;
  //更新任務計劃數據
  qryQuery.Close;
  qryQuery.SQL.Clear;
  qryQuery.SQL.Add('select T510_001,T510_002 from TAS510 order by T510_001');
  qryQuery.Open;
  ProgressBar2.Position:=0;
  ProgressBar2.Max:=qryQuery.RecordCount;
  qryQuery.First;
  while not qryQuery.Eof do
  begin
    Application.ProcessMessages;
    AWorkID:=qryQuery.FieldByName('T510_001').AsString;
    Label2.Caption:=GetDBString('SYS90001041')+AWorkID+'  '+qryQuery.FieldByName('T510_002').AsString;  //正在更新...
    Label2.Update;
    UpdateTasksInfo(AWorkID);  //更新任務計劃信息
    ProgressBar2.Position:=ProgressBar2.Position+1;
    ProgressBar1.Position:=ProgressBar1.Position+1;
    qryQuery.Next;
  end;
  //更新項目計劃數據
  qryQuery.Close;
  qryQuery.SQL.Clear;
  qryQuery.SQL.Add('select T500_001,T500_002 from TAS500 order by T500_001');
  qryQuery.Open;
  ProgressBar2.Position:=0;
  ProgressBar2.Max:=qryQuery.RecordCount;
  qryQuery.First;
  while not qryQuery.Eof do
  begin
    Application.ProcessMessages;
    AWorkID:=qryQuery.FieldByName('T500_001').AsString;
    Label2.Caption:=GetDBString('SYS90001041')+AWorkID+'  '+qryQuery.FieldByName('T500_002').AsString;  //正在更新...
    Label2.Update;
    UpdateProjectInfo(AWorkID);  //更新項目計劃信息
    ProgressBar2.Position:=ProgressBar2.Position+1;
    ProgressBar1.Position:=ProgressBar1.Position+1;
    qryQuery.Next;
  end;
end;

procedure TSys900_01Form.bbtnRefreshClick(Sender: TObject);
var
  ABoolean:Boolean;
begin
//更新(&R)
  ABoolean:=False;
  qrySys920.DisableControls;
  qrySys920.First;
  while not qrySys920.Eof do
  begin
    if qrySys920S920_002.AsBoolean then ABoolean:=True;
    qrySys920.Next;
  end;
  qrySys920.First;
  qrySys920.EnableControls;
  if not ABoolean then
  begin
    ShowMsg('UMS10000345');  //至少要选择一个数据更新整理项
    Abort;
  end;
  try
    DBMemo1.Visible:=False;
    Panel1.Visible:=True;
    bbtnRefresh.Enabled:=False;
    dxDBGrid2.Enabled:=False;
    bbtnOk.Enabled:=False;
    bbtnExit.Enabled:=False;
    Screen.Cursor:=crHourGlass;
    //取得總更新記錄總數
    qryQuery.Close;
    qryQuery.SQL.Clear;
    qryQuery.SQL.Add('select count(FNO) from ');
    qryQuery.SQL.Add('(');
    qryQuery.SQL.Add('select T500_001 as FNO from TAS500');
    qryQuery.SQL.Add('union');
    qryQuery.SQL.Add('select T510_001 as FNO from TAS510');
    qryQuery.SQL.Add('union');
    qryQuery.SQL.Add('select T520_001 as FNO from TAS520');
    qryQuery.SQL.Add(')');
    qryQuery.Open;
    ProgressBar1.Max:=qryQuery.Fields[0].Value;
    qrySys920.First;
    while not qrySys920.Eof do
    begin
      Application.ProcessMessages;
      if qrySys920S920_002.AsBoolean then
      begin
        Label1.Caption:=GetDBString('SYS90001041')+qrySys920S920_003.AsString;  //正在更新...
        Label1.Update;
        case qrySys920S920_001.AsInteger of
          1:UpdateTAS500;  //更新任务系统数据
        end;
        qrySys920.Edit;
        qrySys920S920_002.Value:=False;
        qrySys920S920_005.Value:=GetServerDate;
        qrySys920S920_006.Value:=AUserName;
        qrySys920.Post;
        qrySys920.UpdateBatch;
        qrySys920.Edit;
        qrySys920S920_002.Value:=True;
        qrySys920.Post;
      end;
      qrySys920.Next;
    end;
    ShowMsg('UMS10000344');  //系统数据更新成功
  finally
    DBMemo1.Visible:=True;
    Panel1.Visible:=False;
    bbtnRefresh.Enabled:=True;
    dxDBGrid2.Enabled:=True;
    bbtnOk.Enabled:=True;
    bbtnExit.Enabled:=True;
    Screen.Cursor:=crDefault;
  end;
end;

procedure TSys900_01Form.PageControl1Changing(Sender: TObject;
  var AllowChange: Boolean);
begin
  AllowChange:=bbtnRefresh.Enabled;
end;

procedure TSys900_01Form.dxDBGrid2KeyPress(Sender: TObject; var Key: Char);
begin
  if Key=#32 then  //vk_space
  begin
    qrySys920.Edit;
    qrySys920.FieldByName('S920_002').AsBoolean:=not qrySys920.FieldByName('S920_002').AsBoolean;
    qrySys920.Post;
  end;
end;

procedure TSys900_01Form.dxDBGrid2MouseUp(Sender: TObject;
  Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
  if dxDBGrid2.GetColumnAt(X,Y)=nil then Exit;
  if dxDBGrid2.GetColumnAt(X,Y).Field.FieldName='S920_002' then
  begin
    qrySys920.Edit;
    qrySys920.FieldByName('S920_002').AsBoolean:=not qrySys920.FieldByName('S920_002').AsBoolean;
    qrySys920.Post;
  end;
end;

procedure TSys900_01Form.mmiPrintClick(Sender: TObject);
begin
//打印(&P)
  if not FileExists(GetReportName('SYS900.frf')) then Exit;
  frReport1.LoadFromFile(GetReportName('SYS900.frf'));
  frReport1.PrintPreparedReportDlg;
end;

procedure TSys900_01Form.mmi200Click(Sender: TObject);
begin
//200%
  frPreview1.Zoom:=200;
  mmi200.Checked:=True;
end;

procedure TSys900_01Form.mmi100Click(Sender: TObject);
begin
//100%
  frPreview1.Zoom:=100;
  mmi100.Checked:=True;
end;

procedure TSys900_01Form.mmi75Click(Sender: TObject);
begin
//75%
  frPreview1.Zoom:=75;
  mmi75.Checked:=True;
end;

procedure TSys900_01Form.mmi50Click(Sender: TObject);
begin
//50%
  frPreview1.Zoom:=50;
  mmi50.Checked:=True;
end;

procedure TSys900_01Form.mmi25Click(Sender: TObject);
begin
//25%
  frPreview1.Zoom:=25;
  mmi25.Checked:=True;
end;

procedure TSys900_01Form.mmiPageWidthClick(Sender: TObject);
begin
//頁面寬度
  frPreview1.PageWidth;
  mmiPageWidth.Checked:=True;
end;

procedure TSys900_01Form.mmiOnePageClick(Sender: TObject);
begin
//整頁顯示
  frPreview1.OnePage;
  mmiOnePage.Checked:=True;
end;

procedure TSys900_01Form.mmiRefreshClick(Sender: TObject);
begin
//刷新(&R)
  if not FileExists(GetReportName('SYS900.frf')) then Exit;
  frReport1.LoadFromFile(GetReportName('SYS900.frf'));
  frReport1.ShowReport;
  mmiPageWidth.Checked:=True;
end;

procedure TSys900_01Form.N1Click(Sender: TObject);
begin
//報表格式設置(&D)
  if not FileExists(GetReportName('SYS900.frf')) then Exit;
  frReport1.LoadFromFile(GetReportName('SYS900.frf'));
  frReport1.DesignReport;
  mmiRefreshClick(mmiRefresh);
end;

procedure TSys900_01Form.frReport1GetValue(const ParName: String;
  var ParValue: Variant);
begin
  if ParName='USENM' then ParValue:=AUserName
  else if ParName='PRNDT' then ParValue:=GetDBString('COM00006006')  //列印日期
  else if ParName='PRNNM' then ParValue:=GetDBString('COM00006007')  //列印人員
  else if ParName='REPNM' then ParValue:='報表名稱'
end;

initialization
  RegisterClass(TSys900_01Form);

finalization
  UnRegisterClass(TSys900_01Form);

end.

⌨️ 快捷键说明

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