?? lb.~pas
字號:
unit lb;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Grids, DBGrids, StdCtrls, DB, Buttons;
type
TF_lb = class(TForm)
b_new: TBitBtn;
b_edit: TBitBtn;
b_save: TBitBtn;
b_del: TBitBtn;
DataSource1: TDataSource;
GroupBox1: TGroupBox;
Label1: TLabel;
Label2: TLabel;
e_id: TEdit;
e_name: TEdit;
DBGrid1: TDBGrid;
b_exit: TBitBtn;
procedure b_newClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure b_editClick(Sender: TObject);
procedure b_saveClick(Sender: TObject);
procedure b_delClick(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure e_idKeyPress(Sender: TObject; var Key: Char);
procedure DataSource1DataChange(Sender: TObject; Field: TField);
procedure DBGrid1Enter(Sender: TObject);
procedure e_nameKeyPress(Sender: TObject; var Key: Char);
procedure b_exitClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
F_lb: TF_lb;
mes:string;
implementation
uses datam;
{$R *.dfm}
procedure TF_lb.b_newClick(Sender: TObject);
begin
b_save.Tag:=1;
e_id.Enabled:=true;
e_name.Enabled:=true;
e_id.Text:='';
e_name.text:='';
b_new.enabled:=false;
b_edit.Enabled:=false;
b_save.Enabled:=true;
b_del.Enabled:=false;
e_id.SetFocus();
end;
procedure TF_lb.FormCreate(Sender: TObject);
begin
dm.ADO_lb.Open;
dm.ADO_lb.Sort:='編號';
end;
procedure TF_lb.b_editClick(Sender: TObject);
begin
dm.ADO_vcd.Open;
if dm.ADO_vcd.Locate('小類',e_name.Text,[])=true then
begin
application.messagebox(pchar('此類別已經使用,不可修改其內容!')
,pchar('提示'),MB_ICONEXCLAMATION);
exit;
end;
dm.ADO_vcd.Close;
b_save.Tag:=2;
b_save.Enabled:=true;
e_id.Enabled:=true;
e_name.Enabled:=true;
b_edit.Enabled:=false;
b_new.Enabled:=false;
end;
procedure TF_lb.b_saveClick(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 b_save.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:='編號';
e_id.text:='';
e_name.Text:='';
e_id.SetFocus();
end
else
begin
dm.ADO_lb.Edit;
dm.ADO_lb.fieldbyname('編號').AsString:=bh;
dm.ADO_lb.fieldbyname('類別').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:='編號';
end;
end;
procedure TF_lb.b_delClick(Sender: TObject);
begin
dm.ADO_vcd.Open;
if dm.ADO_vcd.Locate('小類',e_name.Text,[])=true then
begin
application.messagebox(pchar('此類別已經使用,不可刪除!')
,pchar('提示'),MB_ICONEXCLAMATION);
exit;
end;
dm.ADO_vcd.Close;
mes:='是否要刪除類別<'+dm.ADO_lb.fieldbyname('類別').AsString
+'>';
if application.MessageBox(pchar(mes),pchar('等待確認')
,+MB_ICONQUESTION+mb_okcancel)=idok then
dm.ADO_lb.Delete;
end;
procedure TF_lb.FormClose(Sender: TObject; var Action: TCloseAction);
begin
dm.ADO_lb.Close;
release;
end;
procedure TF_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 TF_lb.DataSource1DataChange(Sender: TObject; Field: TField);
begin
e_id.Text:=dm.ADO_lb.fieldbyname('編號').asstring;
e_name.text:=dm.ADO_lb.fieldbyname('類別').asstring;
end;
procedure TF_lb.DBGrid1Enter(Sender: TObject);
begin
b_new.Enabled:=true;
b_edit.Enabled:=true;
b_del.Enabled:=true;
b_save.Enabled:=false;
e_id.Enabled:=false;
e_name.enabled:=false;
e_id.Text:=dm.ADO_lb.fieldbyname('編號').asstring;
e_name.text:=dm.ADO_lb.fieldbyname('類別').asstring;
end;
procedure TF_lb.e_nameKeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then
begin
b_save.OnClick(b_save);
end;
end;
procedure TF_lb.b_exitClick(Sender: TObject);
begin
Close;
end;
end.
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -