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

📄 bas200_15.pas.svn-base

📁 这是一个功能齐全的,代码完整的ERP企业信息管理系统,现在上传和大家分享
💻 SVN-BASE
📖 第 1 页 / 共 2 页
字号:
    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 + -