?? czy.pas
字號:
unit czy;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, Buttons, DB, Grids, DBGrids;
type
TF_czy = class(TForm)
DBGrid1: TDBGrid;
DataSource1: TDataSource;
b_new: TBitBtn;
b_edit: TBitBtn;
b_save: TBitBtn;
b_del: TBitBtn;
GroupBox1: TGroupBox;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Image1: TImage;
e_id: TEdit;
e_name: TEdit;
b_exit: TBitBtn;
Label5: TLabel;
cb_type: TComboBox;
procedure b_newClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FormActivate(Sender: TObject);
procedure DataSource1DataChange(Sender: TObject; Field: TField);
procedure b_saveClick(Sender: TObject);
procedure DBGrid1Enter(Sender: TObject);
procedure b_editClick(Sender: TObject);
procedure b_delClick(Sender: TObject);
procedure e_idKeyPress(Sender: TObject; var Key: Char);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure e_nameKeyPress(Sender: TObject; var Key: Char);
procedure b_exitClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
F_czy: TF_czy;
mes:string;//提示文字
implementation
uses datam;
{$R *.dfm}
procedure TF_czy.b_newClick(Sender: TObject);
begin
b_save.Tag:=1;
e_id.Enabled:=true;
e_name.Enabled:=true;
cb_type.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_czy.FormCreate(Sender: TObject);
begin
With dm do
begin
ADO_user.Open;
ADO_user.Sort:='編號';
ADO_user.First;
end;
end;
procedure TF_czy.FormActivate(Sender: TObject);
begin
dbgrid1.SetFocus();
end;
procedure TF_czy.DataSource1DataChange(Sender: TObject; Field: TField);
begin
e_id.Text:=dm.ADO_user.fieldbyname('編號').asstring;
e_name.text:=dm.ADO_user.fieldbyname('操作員').asstring;
if dm.ADO_user.fieldbyname('主管').AsBoolean=true then
image1.Visible:=true
else
image1.Visible:=false;
end;
procedure TF_czy.b_saveClick(Sender: TObject);
var
bh,xm:string;
tp:Boolean;
begin
bh:=e_id.Text;
xm:=e_name.text;
if cb_type.Text='系統管理員' then tp:=true
else tp:=False;
if b_save.Tag=1 then
begin
try
dm.ADO_user.AppendRecord([bh,xm,0,tp]);
except
e_id.SetFocus;
e_id.text:='';
e_name.Text:='';
cb_type.Text:='';
mes:='錄入錯誤!'+#13+#13+'注意:<編號>、<姓名>均不能為空'
+#13+' 且不可重復,請重新錄入!';
application.messagebox(pchar(mes),pchar('提示'),MB_ICONEXCLAMATION);
exit;
end;
dm.ADO_user.Sort:='編號';
e_id.text:='';
e_name.Text:='';
cb_type.Text:='';
e_id.SetFocus();
end
else
begin
dm.ADO_user.Edit;
dm.ADO_user.fieldbyname('編號').AsString:=bh;
dm.ADO_user.fieldbyname('操作員').AsString:=xm;
dm.ADO_user.fieldbyname('主管').AsBoolean:=tp;
try
dm.ADO_user.Post;
except
mes:='錄入錯誤!'+#13+#13+'注意:<編號>、<姓名>均不能為空'
+#13+' 且不可重復,請重新錄入!';
application.messagebox(pchar(mes),pchar('提示'),MB_ICONEXCLAMATION);
dm.ADO_user.Cancel;
exit;
end;
dm.ADO_user.Sort:='編號';
end;
end;
procedure TF_czy.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_user.fieldbyname('編號').asstring;
e_name.text:=dm.ADO_user.fieldbyname('操作員').asstring;
if dm.ADO_user.fieldbyname('主管').AsBoolean=true then
image1.Visible:=true
else
image1.Visible:=false;
end;
procedure TF_czy.b_editClick(Sender: TObject);
begin
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_czy.b_delClick(Sender: TObject);
begin
if dm.ADO_user.FieldByName('主管').AsBoolean=true then
begin
application.MessageBox(pchar('系統管理員,不可刪除!')
,pchar('提示'),MB_ICONEXCLAMATION+mb_ok);
exit;
end;
mes:='是否要刪除操作員<'+dm.ADO_user.fieldbyname('操作員').AsString
+'>';
if application.MessageBox(pchar(mes),pchar('等待確認')
,+MB_ICONQUESTION+mb_okcancel)=idok then
dm.ADO_user.Delete;
end;
procedure TF_czy.e_idKeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then
begin
e_name.SetFocus();
end;
end;
procedure TF_czy.FormClose(Sender: TObject; var Action: TCloseAction);
begin
dm.ADO_user.close;
release;
end;
procedure TF_czy.e_nameKeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then
begin
b_save.OnClick(b_save);
end;
end;
procedure TF_czy.b_exitClick(Sender: TObject);
begin
Close;
end;
end.
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -