📄 f_material.pas
字号:
unit f_material;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, ADODB, Grids, DBGrids, StdCtrls, ImgList, ComCtrls, ToolWin;
type
Tw_material = class(TForm)
ToolBar1: TToolBar;
tb_add: TToolButton;
tb_edit: TToolButton;
tb_del: TToolButton;
tb_can: TToolButton;
tb_save: TToolButton;
tb_exit: TToolButton;
ImageList1: TImageList;
gb_1: TGroupBox;
Label1: TLabel;
Label2: TLabel;
e_id: TEdit;
e_name: TEdit;
DBGrid1: TDBGrid;
data_material: TDataSource;
ado_material: TADOQuery;
ado_materialmaterial_id: TStringField;
ado_materialmaterial_name: TStringField;
procedure tb_addClick(Sender: TObject);
procedure tb_editClick(Sender: TObject);
procedure tb_delClick(Sender: TObject);
procedure tb_canClick(Sender: TObject);
procedure tb_saveClick(Sender: TObject);
procedure tb_exitClick(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormCreate(Sender: TObject);
procedure DBGrid1CellClick(Column: TColumn);
procedure FormShow(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
procedure s_save;
procedure s_show;
procedure s_clear(bb:boolean);
end;
var
w_material: Tw_material;
bsf:string;
implementation
uses data_1, f_main;
{$R *.dfm}
procedure Tw_material.s_save;
begin
ado_material.Edit ;
ado_material.FieldByName('material_id').AsString :=trim(e_id.Text);
ado_material.FieldByName('material_name').AsString :=trim(e_name.Text);
ado_material.Post;
end;
procedure Tw_material.s_show;
begin
ado_material.Close;
ado_material.SQL.Clear;
ado_material.SQL.Add('select * from material');
ado_material.Open;
end;
procedure Tw_material.s_clear(bb:boolean);
var
i:integer;
begin
e_id.text:='';
e_name.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_material.tb_addClick(Sender: TObject);
var
ss:boolean;
begin
if bsf='xz' then
ss:=true;
s_clear(ss);
e_id.text:='';
e_name.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_material.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_material.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_material.Delete;
s_show;
bb:=false;
s_clear(bb);
end
else
exit;
end
else
showmessage('请输入删除值!');
exit;
end;
procedure Tw_material.tb_canClick(Sender: TObject);
var
bb:boolean;
begin
bb:=false;
s_clear(bb)
end;
procedure Tw_material.tb_saveClick(Sender: TObject);
var
bb:boolean;
begin
if trim(e_id.Text)='' then
begin
showmessage('请输入直接材料号!');
exit;
end;
if bsf<>'xg' then
begin
ado_material.Close;
ado_material.SQL.clear;
ado_material.SQL.Add('select * from material where material_id='+char(39)+trim(e_id.Text)+char(39));
ado_material.Open;
end;
if ado_material.RecordCount <0 then
begin
showmessage('请输入值');
exit;
end;
if trim(e_name.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_material.tb_exitClick(Sender: TObject);
begin
close;
w_main.Enabled:=true;
end;
procedure Tw_material.FormClose(Sender: TObject; var Action: TCloseAction);
begin
w_main.Enabled:=true;
end;
procedure Tw_material.FormCreate(Sender: TObject);
begin
w_main.Enabled:=false;
end;
procedure Tw_material.DBGrid1CellClick(Column: TColumn);
begin
if ado_material.RecordCount>0 then
begin
e_id.Text:=trim(ado_material.fieldbyname('material_id').AsString );
e_name.Text:=trim(ado_material.fieldbyname('material_name').AsString);
end;
end;
procedure Tw_material.FormShow(Sender: TObject);
var
ss:boolean;
begin
ss:=false;
s_clear(ss);
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -