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

📄 f_product.pas

📁 使用Delphi开发的成本管理系统
💻 PAS
字号:
unit f_product;

interface

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

type
  Tw_product = class(TForm)
    ado_product: TADOQuery;
    data_product: TDataSource;
    ImageList1: TImageList;
    ToolBar1: TToolBar;
    tb_add: TToolButton;
    tb_edit: TToolButton;
    tb_del: TToolButton;
    tb_can: TToolButton;
    tb_save: TToolButton;
    tb_exit: TToolButton;
    DBGrid1: TDBGrid;
    gb_1: TGroupBox;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    e_id: TEdit;
    e_name: TEdit;
    e_amount: TEdit;
    Label4: TLabel;
    e_price: TEdit;
    ado_productproduct_id: TStringField;
    ado_productproduct_name: TStringField;
    ado_productproduct_amount: TIntegerField;
    ado_productproduct_price: TFloatField;
    procedure FormCreate(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure DBGrid1CellClick(Column: TColumn);
    procedure tb_saveClick(Sender: TObject);
    procedure tb_addClick(Sender: TObject);
    procedure tb_delClick(Sender: TObject);
    procedure tb_editClick(Sender: TObject);
    procedure tb_exitClick(Sender: TObject);
    procedure FormShow(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
    procedure  s_save;
     procedure  s_show;
     procedure  s_clear(bb:boolean);
  end;

var
  w_product: Tw_product;
  bsf:string;
implementation

uses f_main, data_1;

{$R *.dfm}
 procedure Tw_product.s_save;
 begin
  ado_product.Edit ;
  ado_product.FieldByName('product_id').AsString :=trim(e_id.Text);
  ado_product.FieldByName('product_name').AsString :=trim(e_name.Text);
  ado_product.FieldByName('product_amount').AsString:=trim(e_amount.Text);
  ado_product.FieldByName('product_price').AsString:=trim(e_price.Text);
  ado_product.Post;
 end;
procedure Tw_product.s_show;
begin
  ado_product.Close;
  ado_product.SQL.Clear;
  ado_product.SQL.Add('select * from product');
  ado_product.Open;
end;
procedure Tw_product.s_clear(bb:boolean);
var
i:integer;
begin
   e_id.text:='';
   e_name.Text:='';
   e_amount.text:='';
   e_price.Text:='';
   tb_add.Enabled:=true;
   tb_edit.Enabled :=true;
   tb_del.Enabled :=true;
   tb_save.Enabled :=false;
   tb_can.Enabled :=false;
   tb_exit.Enabled :=true;
for i:=0 to gb_1.ControlCount-1 do
   begin
     if (gb_1.Controls[i].ClassType=tedit) then
        begin
          if bb=false then
              gb_1.Controls[i].Enabled :=false
            else
               gb_1.Controls[i].Enabled :=true;
         end;
   end;
 end;
procedure Tw_product.FormCreate(Sender: TObject);
begin
w_main.Enabled:=false;
end;

procedure Tw_product.FormClose(Sender: TObject; var Action: TCloseAction);
begin
w_main.Enabled:=true;
end;
procedure Tw_product.DBGrid1CellClick(Column: TColumn);
begin
if  ado_product.RecordCount>0 then
     begin
     e_id.Text:=trim( ado_product.fieldbyname('product_id').AsString );
     e_name.Text:=trim( ado_product.fieldbyname('product_name').AsString );
     e_amount.Text:=trim( ado_product.fieldbyname('product_amount').AsString );
     e_price.Text:=trim( ado_product.fieldbyname('product_price').AsString );
    end;
end;
procedure Tw_product.tb_saveClick(Sender: TObject);
 var
bb:boolean;
begin
if trim(e_id.Text)='' then
      begin
          showmessage('请输入产品号!');
          exit;
      end;
if bsf<>'xg' then
     begin
        ado_product.Close;
        ado_product.SQL.clear;
        ado_product.SQL.Add('select * from product where product_id='+char(39)+trim(e_id.Text)+char(39));
        ado_product.Open;
       end;
if  ado_product.RecordCount <0 then
       begin
         showmessage('请输入值');
         exit;
       end;
 if trim(e_name.Text)='' then
      begin
        showmessage('请输入产品名');
        exit;
       end;
 if trim(e_amount.Text)='' then
      begin
        showmessage('请输入产品数量');
        exit;
       end;
 if MessageDlg('记录是否保存吗 ?',mtConfirmation, [mbYes, mbNo], 0) = mrYes then
       begin
         s_save;
         s_show;
         bb:=false;
         s_clear(bb);
       end
    else
        s_show;
        exit;
      end;

procedure Tw_product.tb_addClick(Sender: TObject);
var
 ss:boolean;
begin
 if bsf='xz'  then
   ss:=true;
   s_clear(ss);
   e_id.text:='';
   e_name.Text:='';
   e_amount.Text:='';
   e_price.Text:='';
   e_id.SetFocus ;
   tb_add.Enabled :=false;
   tb_edit.Enabled :=false;
   tb_save.Enabled :=true;
   tb_del.Enabled :=false;
   tb_can.Enabled :=true;
   tb_exit.Enabled :=false;
end;
procedure Tw_product.tb_delClick(Sender: TObject);
var
 bb:boolean;
begin
if trim(e_id.Text )<>'' then
 begin
    if MessageDlg('记录是否删除 ?',mtConfirmation, [mbYes, mbNo], 0) = mrYes then
         begin
          ado_product.Delete;
          s_show;
          bb:=false;
          s_clear(bb);
         end
    else
         exit;
      end
else
   showmessage('请输入删除值!');
   exit;
end;
procedure Tw_product.tb_editClick(Sender: TObject);
 var
i:integer;
begin
if trim(e_id.text)<>'' then  begin
   bsf:='xg';
   for i:=0 to gb_1.ControlCount-1 do
       if (gb_1.Controls[i].ClassType=tedit) or(gb_1.Controls[i].ClassType=tcombobox) then
           gb_1.Controls[i].Enabled :=true;
            tb_add.Enabled :=false;
            tb_save.Enabled :=true;
            tb_del.Enabled :=false;
            tb_can.Enabled :=true;
            tb_exit.Enabled :=false;
            tb_edit.Enabled :=false;
   end
else
   showmessage('请输入修改值');
   exit;
end;
procedure Tw_product.tb_exitClick(Sender: TObject);
begin
close;
w_main.Enabled:=true;
end;
procedure Tw_product.FormShow(Sender: TObject);
var
ss:boolean;
begin
 ss:=false;
 s_clear(ss);
end;
end.

⌨️ 快捷键说明

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