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

📄 ccbasenames.pas

📁 产品信息系统!关于产品基础信息的系统!功能强大!
💻 PAS
字号:
unit CcBaseNames;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, BaseInfoBase, DB, ADODB, ActnList, ComCtrls, ToolWin, ExtCtrls,
  Grids, DBGrids, StdCtrls, DBCtrls, Mask, wwDialog, wwidlg, DBGridEh;

type
  TfrmCcBaseNames = class(TfrmBaseInfoBase)
    DBGrid1: TDBGrid;
    Splitter1: TSplitter;
    Panel1: TPanel;
    Panel2: TPanel;
    Label1: TLabel;
    Label2: TLabel;
    DBEdit1: TDBEdit;
    DBEdit2: TDBEdit;
    procedure QBaseInfoBeforePost(DataSet: TDataSet);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure dsBaseInfoStateChange(Sender: TObject);
    procedure QBaseInfoAfterInsert(DataSet: TDataSet);
    procedure FormDestroy(Sender: TObject);
    procedure acSaveExecute(Sender: TObject);


  private
    { Private declarations }
  public
    { Public declarations }
     CanEdit,CanDelete,CanSave,CanCancel:Boolean;
  end;

var
  frmCcBaseNames: TfrmCcBaseNames;
  i:Integer;

implementation

{$R *.dfm}
uses Global,DataModule;

procedure TfrmCcBaseNames.QBaseInfoBeforePost(DataSet: TDataSet);
begin
  inherited;
if (QBaseInfo.FieldByName('id').AsString='') then
  begin
  showmessage('序号不能为空,请重新输入!');
  abort;
  end;
if (QBaseInfo.FieldByName('name').AsString='') then
  begin
  showmessage('名称不能为空,请重新输入!');
  abort;
  end;
end;

procedure TfrmCcBaseNames.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
  inherited;
  action:=CaFree;
end;

{procedure TfrmBasePType.QBaseInfofCodeValidate(Sender: TField);
begin
  inherited;
if not IsUnique('Code',Sender.AsString) then
  begin
  showmessage('供应商类别编码重复,请重新输入');
  abort;
  end;
end;  }

procedure TfrmCcBaseNames.dsBaseInfoStateChange(Sender: TObject);
var i:integer;
begin
  //inherited;
{设置功能按钮的有效性}
 acSave.Enabled := QBaseInfo.State in [dsInsert, dsEdit];
  acNew.Enabled := bCanNew and not acSave.Enabled;
  acModify.Enabled := bCanModify and (not acSave.Enabled) and (QBaseInfo.FieldbyName('id').asInteger = 0);
  acCancel.Enabled := acSave.Enabled;
  acDelete.Enabled := bCanDelete and (QBaseInfo.FieldbyName('id').asInteger = 0);
  acPrint.Enabled := bCanPrint;

  acFind.Enabled := not acSave.Enabled;

  {设置导航按钮的有效性}
  acFirst.Enabled := (not QBaseInfo.Bof) and (not acSave.Enabled);
  acLast.Enabled := (not QBaseInfo.Eof) and (not acSave.Enabled);
  acPrior.Enabled := (acFirst.Enabled) and (not acSave.Enabled);
  acNext.Enabled := (acLast.Enabled) and (not acSave.Enabled);
With Panel2 do
   for i:= 0 to ControlCount-1 do
     if Controls[i] is TDBEdit then
        (Controls[i] as TDBEdit).ReadOnly := Not tbtSave.Enabled;
       // else if Controls[i] is TDBMemo then
            // (Controls[i] as TDBMemo).ReadOnly := Not acSave.Enabled;

end;

procedure TfrmCcBaseNames.QBaseInfoAfterInsert(DataSet: TDataSet);
begin
  inherited;
dbedit1.SetFocus ;
end;

procedure TfrmCcBaseNames.FormDestroy(Sender: TObject);
begin
  //inherited;
  frmCcBaseNames:=nil;
end;

procedure TfrmCcBaseNames.acSaveExecute(Sender: TObject);
begin
//  inherited;
 case MessageBox(Handle,'是否保存记录','提示信息',MB_YESNO+MB_ICONQUESTION+MB_DEFBUTTON1) of
        IDYes:
        begin
            try
                CanSave:=False;
                CanCancel:=False;
                QBaseInfo.UpdateBatch();
            except
                ShowMessage('保存出错!');
                CanSave:=True;
                CanCancel:=True;
                QBaseInfo.Edit;
                self.tbtModify.Enabled:=False;
            end;

        end;
        IDNo:
        begin
        end;
    end;
end;

end.

⌨️ 快捷键说明

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