📄 sys900_01.pas.svn-base
字号:
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 + -