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

📄 cf_lb.pas

📁 delphi和SQL做的超市管理系统
💻 PAS
字号:
unit cf_lb;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, 
  Dialogs, DB, ImgList, StdCtrls, Grids, DBGrids, ComCtrls, ToolWin,
  ExtCtrls;

type
  Tcfra_lb = class(TFrame)
    DataSource1: TDataSource;
    Panel1: TPanel;
    DBGrid1: TDBGrid;
    GroupBox1: TGroupBox;
    Label1: TLabel;
    Label2: TLabel;
    Label4: TLabel;
    e_id: TEdit;
    e_name: TEdit;
    Panel2: TPanel;
    ToolBar1: TToolBar;
    TButton1: TToolButton;
    TButton2: TToolButton;
    TButton3: TToolButton;
    TButton4: TToolButton;
    ImageList1: TImageList;
    procedure e_idKeyPress(Sender: TObject; var Key: Char);
    procedure DataSource1DataChange(Sender: TObject; Field: TField);
    procedure DBGrid1Enter(Sender: TObject);
    procedure TButton1Click(Sender: TObject);
    procedure TButton2Click(Sender: TObject);
    procedure TButton3Click(Sender: TObject);
    procedure TButton4Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  cfra_lb: Tcfra_lb;
   mes:string;
implementation

uses datam;

{$R *.dfm}

procedure Tcfra_lb.e_idKeyPress(Sender: TObject; var Key: Char);
begin
 if not ( Key in ['0'..'9',#13,#8]) then Key := #0;
  if key=#13 then
   begin
    e_name.SetFocus();
   end;
end;


procedure Tcfra_lb.DataSource1DataChange(Sender: TObject; Field: TField);
begin
 e_id.Text:=dm.ADO_lb.fieldbyname('Num').asstring;
 e_name.text:=dm.ADO_lb.fieldbyname('Type').asstring;
end;

procedure Tcfra_lb.DBGrid1Enter(Sender: TObject);
begin
  TButton1.Enabled:=true;
  TButton2.Enabled:=true;
  TButton4.Enabled:=true;
  TButton3.Enabled:=false;
  e_id.Enabled:=false;
  e_name.enabled:=false;
  //
  e_id.Text:=dm.ADO_lb.fieldbyname('Num').asstring;
  e_name.text:=dm.ADO_lb.fieldbyname('Type').asstring;
end;


procedure Tcfra_lb.TButton1Click(Sender: TObject);
begin
  TButton3.Tag:=1;
  e_id.Enabled:=true;
  e_name.Enabled:=true;
  e_id.Text:='';
  e_name.text:='';
  TButton1.enabled:=false;
  TButton2.Enabled:=false;
  TButton3.Enabled:=true;
  TButton4.Enabled:=false;
  e_id.SetFocus();
end;

procedure Tcfra_lb.TButton2Click(Sender: TObject);
begin
  dm.ADO_product.Open;
  if dm.ADO_product.Locate('prod_type',e_name.Text,[])=true then
   begin
    application.messagebox(pchar('此类别已经使用,不可修改其内容!')
    ,pchar('提示'),MB_ICONEXCLAMATION);
    exit;
   end;
  dm.ADO_product.Close;
  TButton3.Tag:=2;
  TButton3.Enabled:=true;
  e_id.Enabled:=true;
  e_name.Enabled:=true;
  TButton2.Enabled:=false;
  TButton1.Enabled:=false;
  TButton4.Enabled:=false;
end;

procedure Tcfra_lb.TButton3Click(Sender: TObject);
var
  bh,lbname:string;
begin
  bh:=e_id.Text;
  lbname:=e_name.text;
  if Length(e_id.Text)<2 then
    begin
     Application.MessageBox(PChar('编号不能为空或小于2位,请重新录入!')
      , PChar('提示'),MB_ICONEXCLAMATION);
      e_id.SetFocus();
      exit;
    end;
  if TButton3.Tag=1 then
    begin
     try
      dm.ADO_lb.AppendRecord([bh,lbname]);
     except
     e_id.SetFocus;
     e_id.text:='';
     e_name.Text:='';
     mes:='录入错误!'+#13+#13+'注意:<编号>、<类别名>均不能为空'
     +#13+'     且不可重复,请重新录入!';
     application.messagebox(pchar(mes),pchar('提示'),MB_ICONEXCLAMATION);
     exit;
     end;
     dm.ADO_lb.Sort:='Num';
     e_id.text:='';
     e_name.Text:='';
     e_id.SetFocus();
    end
   else
    begin
    dm.ADO_lb.Edit;
    dm.ADO_lb.fieldbyname('Num').AsString:=bh;
    dm.ADO_lb.fieldbyname('Type').AsString:=lbname;
    try
     dm.ADO_lb.Post;
    except
     mes:='录入错误!'+#13+#13+'注意:<编号>、<类别名>均不能为空'
     +#13+'     且不可重复,请重新录入!';
     application.messagebox(pchar(mes),pchar('提示'),MB_ICONEXCLAMATION);
     dm.ADO_lb.Cancel;
     exit;
    end;
    dm.ADO_lb.Sort:='Num';
   end;
   TButton2.Enabled:=true;
  TButton1.Enabled:=true;
  TButton4.Enabled:=true;
  TButton3.Enabled:=false;
  e_id.Enabled:=false;
  e_name.Enabled:=false;
end;

procedure Tcfra_lb.TButton4Click(Sender: TObject);
begin
dm.ADO_product.Open;
  if dm.ADO_product.Locate('prod_type',e_name.Text,[])=true then
   begin
    application.messagebox(pchar('此类别已经使用,不可删除!')
    ,pchar('提示'),MB_ICONEXCLAMATION);
    exit;
   end;
  dm.ADO_product.Close;
 mes:='是否要删除类别<'+dm.ADO_lb.fieldbyname('Type').AsString
       +'>';
 if application.MessageBox(pchar(mes),pchar('等待确认')
    ,+MB_ICONQUESTION+mb_okcancel)=idok then
    dm.ADO_lb.Delete;
end;

end.

⌨️ 快捷键说明

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