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

📄 edit.pas

📁 飞恒进销存(超市批发)管理系统V5.1(含源程序) 语言:Delphi 6/7 相关控件:FastReport 2.4以上, Ehlib 3.4以上 1.数据库为fhe2db_V51.da
💻 PAS
字号:
unit edit;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ComCtrls, StdCtrls, Buttons, Mask, DBCtrls, DB, ADODB, DBCtrlsEh;

type
  TedtForm = class(TForm)
    code: TLabel;
    BtnPrior: TBitBtn;
    BtnNext: TBitBtn;
    BtnSave: TBitBtn;
    Btnexit: TBitBtn;
    Btnadd: TBitBtn;
    chkStopUsed: TCheckBox;
    DEno: TDBEdit;
    procedure FormKeyPress(Sender: TObject; var Key: Char);
    procedure FormShow(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure BtnSaveClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
    ATableName,AFieldValue:string;
    procedure CLS; //清除框体内的数据
    procedure  SetButtonPrior(dsname: TDataSource);//自定义程序,前笔。
    procedure  SetButtonNext(dsname: TDataSource); //自定义程序,后笔。
    procedure  SetButtonCancel(dsname: TDataSource); //自定义程序,取消。
    procedure  SetButtonSave(dsname: TDataSource); //自定义程序,保存。
    procedure  SetButtonAdd(dsname: TDataSource); //自定义程序,保存新增。
    function   checkcode:boolean;//自定义函数,检查DEno的值是否为空.
    function GetID(Fieldname,TableName:string):integer;
  end;

var
  edtForm: TedtForm;

implementation

{$R *.dfm}
uses datamodule1;

function TedtForm.GetID(Fieldname,TableName:string):integer;
var
 sSQL:string;
begin
  sSQL:='select max('+FieldName+') as New_ID from '+TableName;
  with DataE2.qryGet do
  begin
    close;
    sql.clear;
    sql.text:=sSQL;
    open;
  if FieldByName('new_ID').AsInteger >0 then
    result:=FieldByName('new_ID').AsInteger+1
  else
    result:=1;
  end;
end;

procedure TedtForm.SetButtonPrior(dsname: TDataSource);
begin
  with DataE2 do
  begin
   dsname.DataSet.Prior;
   BtnPrior.Enabled:=not dsname.DataSet.Bof;
   BtnNext.Enabled:=not dsname.DataSet.Eof;
  end;
end;

procedure TedtForm.SetButtonNext(dsname: TDataSource);
begin
  with DataE2 do
  begin
   dsname.DataSet.Next;
   BtnPrior.Enabled:=not dsname.DataSet.Bof;
   BtnNext.Enabled:=not dsname.DataSet.Eof;
  end;
end;

procedure TedtForm.SetButtonCancel(dsname: TDataSource);
begin
  with DataE2 do
  begin
   dsname.DataSet.Cancel;
   ModalResult := mrCancel;
  end;
end;

procedure TedtForm.SetButtonSave(dsname: TDataSource);
begin
  if checkcode then exit;
  if (dsname.DataSet.State = dsinsert) then
  begin
    if ATableName<>'' then
      if (DataE2.checkprimarykey(ATableName,AFieldValue,DEno.Text))
        and (dsname.DataSet.State in [dsInsert]) then
      begin
        Application.MessageBox('此编已存在!','错误',64);
        DEno.SetFocus;
        exit;
      end;
    dsname.DataSet.Post;
  end;
  if (dsname.DataSet.State = dsEdit) then dsname.DataSet.Post;
  close;
end;

procedure TedtForm.SetButtonAdd(dsname: TDataSource);
begin
  with DataE2 do
  begin
    if checkcode then exit;
    if ATableName<>'' then
      if checkprimarykey(ATableName,AFieldValue,DEno.Text)
        and (dsname.DataSet.State in [dsInsert]) then
      begin
        Application.MessageBox('此编已存在!','错误',64);
        DEno.SetFocus;
        exit;
      end;
    dsname.DataSet.Append;
    DEno.SetFocus;
  end;
end;

function TedtForm.checkcode:boolean;
var
  lblcode:string;
begin
  lblcode:=self.Caption+code.Caption;
  if trim(DEno.text)='' then
  begin
  showmessage(lblcode+'不能为空!');
  DEno.SetFocus;
  result:=true;
  end else result:=false;
end;

procedure TedtForm.FormKeyPress(Sender: TObject; var Key: Char);
begin
  if key = #13 then
  begin
    key:= #0;
    perform(WM_nextdlgctl,0,0);
  end;
  if key = #27 then Btnexit.Click;
end;

procedure TedtForm.FormShow(Sender: TObject);
begin
  ATableName:='';
  if self.caption='供应商资料' then
  begin
    ATableName:='Vendor';
    AFieldValue:='VENDORNO';
  end;
  if self.caption='客户资料' then
  begin
    ATableName:='Client';
    AFieldValue:='CLIENTNO';
  end;
  if self.caption='员工资料' then
  begin
    ATableName:='Employ';
    AFieldValue:='Code';
  end;
  if self.caption='货品资料' then
  begin
    ATableName:='Goods';
    AFieldValue:='Code';
  end;
  if self.caption='其它出入库类型' then
  begin
    ATableName:='IOTYPE';
    AFieldValue:='Code';
  end;
  if self.caption='收付款方式' then
  begin
    ATableName:='PayType';
    AFieldValue:='Code';
  end;
  if self.caption='现金银行' then
  begin
    ATableName:='Bank';
    AFieldValue:='Code';
  end;
  if self.caption='收入支出类别' then
  begin
    ATableName:='IEType';
    AFieldValue:='Code';
  end;
  if self.caption='操作员设置' then
  begin
    ATableName:='Operator';
    AFieldValue:='number';
  end;
end;

procedure TedtForm.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  Btnexit.Click;
end;

procedure TedtForm.BtnSaveClick(Sender: TObject);
begin
  //  if trim(DEno.text)<>'' then close;
end;

procedure TedtForm.CLS;
var
  i: Integer;
begin
  for i := ComponentCount - 1 downto 0 do
  begin // 清除所有的TEdit控件的内容
    if (Components[i] is TDBEDITEh) then
      TDBEDITEh(components[i]).Text:='';
    if (Components[i] is TDBDateTimeEditEh) then
      TDBDateTimeEditEh(components[i]).Text:='';
  end;
end;

end.

⌨️ 快捷键说明

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