📄 f_product.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 + -