📄 bas200_15.pas.svn-base
字号:
edtUpdateBy.Text:=AUserName;
InsertEvent;
SetButtonState(True);
if (Visible) and (edtCode.Enabled) then edtCode.SetFocus;
finally
Screen.Cursor:=crDefault;
end;
end;
procedure TBas200_15Form.ActUpdateExecute(Sender: TObject);
begin
inherited;
//修改
if ADOQuery1.IsEmpty then
begin
ShowMsg('UMS10000002'); //表记录为空,操作无效
Abort;
end;
try
Screen.Cursor:=crHourGlass;
AMode:='UPD';
UpdateEvent;
SetButtonState(True);
if (Visible) and (edtCode.Enabled) then edtCode.SetFocus;
finally
Screen.Cursor:=crDefault;
end;
end;
procedure TBas200_15Form.ActDeleteExecute(Sender: TObject);
begin
inherited;
//删除
if ADOQuery1.IsEmpty then
begin
ShowMsg('UMS10000002'); //表记录为空,操作无效
Abort;
end;
if ShowDialog('UMS10000008')=IDNO then Abort; //确定要删除此记录吗?
try
Screen.Cursor:=crHourGlass;
AMode:='DEL';
DeleteEvent;
ActRefresh.Execute;
finally
Screen.Cursor:=crDefault;
end;
end;
procedure TBas200_15Form.ActSaveExecute(Sender: TObject);
begin
inherited;
//保存
try
Screen.Cursor:=crHourGlass;
SaveData;
finally
Screen.Cursor:=crDefault;
end;
end;
procedure TBas200_15Form.ActCancelExecute(Sender: TObject);
begin
inherited;
//取消
try
Screen.Cursor:=crHourGlass;
SetButtonState(False);
ADOQuery1AfterScroll(ADOQuery1);
finally
Screen.Cursor:=crDefault;
end;
end;
procedure TBas200_15Form.ActRefreshExecute(Sender: TObject);
var
ABookmark:TBookmark;
begin
inherited;
//刷新
ABookmark:=ADOQuery1.GetBookmark;
try
Screen.Cursor:=crHourGlass;
ADOQuery1.DisableControls;
ADOQuery1.Close;
ADOQuery1.Open;
if ADOQuery1.BookmarkValid(ABookmark) then ADOQuery1.GotoBookmark(ABookmark);
finally
ADOQuery1.FreeBookmark(ABookmark);
ADOQuery1.EnableControls;
Screen.Cursor:=crDefault;
end;
end;
procedure TBas200_15Form.ActLocateExecute(Sender: TObject);
begin
inherited;
//查找
if ADOQuery1.IsEmpty then
begin
ShowMsg('UMS10000002'); //表记录为空,操作无效
Abort;
end;
try
Screen.Cursor:=crHourGlass;
ADOQuery1.AfterScroll:=nil;
LocateDialog(DataSource1);
finally
ADOQuery1.AfterScroll:=ADOQuery1AfterScroll;
ADOQuery1AfterScroll(ADOQuery1);
Screen.Cursor:=crDefault;
end;
end;
procedure TBas200_15Form.ActSearchExecute(Sender: TObject);
begin
inherited;
//查询
try
Screen.Cursor:=crHourGlass;
FilterDialog(DataSource1);
finally
Screen.Cursor:=crDefault;
end;
end;
procedure TBas200_15Form.ActPrintExecute(Sender: TObject);
begin
inherited;
//打印
try
Screen.Cursor:=crHourGlass;
SelectReport(ADOQuery1,AProgramID,AReportName,ReportGetValue);
ActRefresh.Execute;
finally
Screen.Cursor:=crDefault;
end;
end;
procedure TBas200_15Form.ActExitExecute(Sender: TObject);
begin
inherited;
//退出
Close;
end;
procedure TBas200_15Form.ADOQuery1AfterScroll(DataSet: TDataSet);
begin
inherited;
if ADOQuery1.State in [dsInsert,dsEdit] then Exit;
if ADOQuery1.IsEmpty then
begin
SetEmptyInit; //初始化
Exit;
end;
edtCode.Text:=ADOQuery1.FieldByName(AFieldName).AsString;
AOldCode:=edtCode.Text;
GetDataInfo; //取得界面信息
if not Active then Exit;
if ActSave.Enabled then Exit;
ActNext.Enabled:=not ADOQuery1.Eof;
ActLast.Enabled:=not ADOQuery1.Eof;
ActFirst.Enabled:=not ADOQuery1.Bof;
ActPrior.Enabled:=not ADOQuery1.Bof;
end;
//从数据表中取得界面信息
procedure TBas200_15Form.GetDataInfo;
begin
end;
//数据保存前的处理,数据检验及赋值操作
procedure TBas200_15Form.TableBeforePost;
begin
end;
//数据保存后的处理
procedure TBas200_15Form.TableAfterPost;
begin
end;
//检验并保存数据
procedure TBas200_15Form.SaveData;
begin
//保存
if edtCode.Enabled then
begin
if (trim(edtCode.Text)='') and (not AIsAutoCode) then
begin
ShowMsg(lblCode.Caption+GetDBString('UMS10000436'),1); //不能为空
edtCode.SetFocus;
Abort;
end;
if AOldCode<>edtCode.Text then
begin
if IsExists('select 1 from '+ATableName+' where '+AFieldName+'='+''''+edtCode.Text+'''') then
begin
ShowMsg(lblCode.Caption+GetDBString('UMS10000437'),1); //已存在,请重新输入
edtCode.SetFocus;
Abort;
end;
end;
end;
TableBeforePost;
try
// SYSDM.ADOC.BeginTrans;
if (edtCode.Text='') and (AIsAutoCode) then edtCode.Text:=GetAutoCode(AProgramID);
if AOldCode<>edtCode.Text then ADOQuery1.FieldByName(AFieldName).Value:=edtCode.Text; //汇报编号
ADOQuery1.Post;
TableAfterPost;
// SYSDM.ADOC.CommitTrans;
SetButtonState(False);
ActRefresh.Execute;
ADOQuery1AfterScroll(ADOQuery1);
if AMode='ADD' then
begin
if ShowDialog('['+edtCode.Text+'] '+GetDBString('UMS10000309'),1)=IDYES then //记录保存成功,是否继续增加新记录?
begin
ActInsert.Execute;
end;
end;
except
// SYSDM.ADOC.RollbackTrans;
if SYSDM.ADOC.Errors.Count<>0 then ShowMsg(SYSDM.ADOC.Errors[0].Description,1);
Abort;
end;
end;
//打印报表的多语种处理
procedure TBas200_15Form.ReportGetValue(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:=AReportTitle
else if ADOQuery1.FindField(ParName)<>nil then ParValue:=ADOQuery1.FieldByName(ParName).DisplayLabel;
end;
//空表时初始化
procedure TBas200_15Form.SetEmptyInit;
begin
end;
//是否可以删除 并执行删除操作
procedure TBas200_15Form.DeleteEvent;
begin
end;
//新增初始化
procedure TBas200_15Form.InsertEvent;
begin
end;
//是否可以修改 并执行修改操作
procedure TBas200_15Form.UpdateEvent;
begin
end;
procedure TBas200_15Form.ADOQuery1BeforeOpen(DataSet: TDataSet);
begin
inherited;
ADOQuery1.AfterScroll:=nil;
end;
procedure TBas200_15Form.ADOQuery1AfterOpen(DataSet: TDataSet);
begin
inherited;
ADOQuery1.AfterScroll:=ADOQuery1AfterScroll;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -