📄 ufrm_user_group1.pas
字号:
// ***************************************
// * Program name :ufrm_user_group1 *
// * AUTHOR :Guo xuliang *
// * Name :郭许良 *
// * Date :2005/05/18 *
// * Porgram type :subroutine *
// ***************************************
unit ufrm_user_group1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls, ImgList, StdCtrls, Buttons, DB, ADODB, DBTables;
type
Tfrm_user_group1 = class(TForm)
PageControl1: TPageControl;
TabSheet1: TTabSheet;
ImageList1: TImageList;
Label1: TLabel;
Label2: TLabel;
btn_yes: TBitBtn;
btn_no: TBitBtn;
edt_code: TEdit;
edt_desc: TEdit;
mb_update: TQuery;
procedure edt_descKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure btn_noClick(Sender: TObject);
procedure btn_yesClick(Sender: TObject);
procedure edt_codeKeyPress(Sender: TObject; var Key: Char);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
newcode,newdesc:string;
procedure init(flag,code,desc:string);
function check(p_key:string):boolean;
end;
var
frm_user_group1: Tfrm_user_group1;
g_flag,g_code,g_desc:string;
implementation
uses udm;
{$R *.dfm}
procedure Tfrm_user_group1.init(flag,code,desc:string);
begin
g_flag:=flag;
g_code:=code;
g_desc:=desc;
edt_code.Text:=g_code;
edt_desc.Text:=g_desc;
end;
function Tfrm_user_group1.check(p_key:string):boolean;
begin
result:=true;
if p_key='' then
begin
result:=false;
exit;
end;
if (g_flag='U')and(p_key=g_code) then exit;
with dm do
begin
pub1.Close;
pub1.sql.Clear;
pub1.sql.Add('SELECT COUNT(*) FROM ZC_FILE WHERE ZC01='''+p_key+'''');
pub1.Open;
if pub1.Fields[0].AsInteger>0 then result:=false;
end;
end;
procedure Tfrm_user_group1.edt_descKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key=13 then selectnext(activecontrol,true,true);
end;
procedure Tfrm_user_group1.btn_noClick(Sender: TObject);
begin
close;
end;
procedure Tfrm_user_group1.btn_yesClick(Sender: TObject);
var l_sqlstr:string;
begin
newcode:=edt_code.Text;
newdesc:=edt_desc.Text;
if (newcode='') then
begin
messagedlg('編號不能為空',mtinformation,[mbok],0);
try edt_code.SetFocus; except ; end;
exit;
end;
if newdesc='' then
begin
messagedlg('說明不能為空',mtinformation,[mbok],0);
try edt_desc.SetFocus; except ; end;
exit;
end;
if not self.check(newcode) then
begin
messagedlg('編號重復',mtinformation,[mbok],0);
try edt_code.SetFocus; except ; end;
exit;
end;
//Add new record
if g_flag='A' then
begin
try
//begin transaction
mb_update.Close;
mb_update.SQL.Clear;
l_sqlstr:='INSERT INTO ZC_FILE (ZC01,ZC02) VALUES('''+newcode+''','''+
newdesc+''')';
mb_update.SQL.Add(l_sqlstr);
mb_update.ExecSQL;
frm_user_group1.ModalResult:=mrok;
//commit transaction
exit;
except
//rollback transaction
end;
end
//update a record
else
begin
try
//start transaction
mb_update.Close;
mb_update.SQL.Clear;
l_sqlstr:='UPDATE ZC_FILE SET ZC01='''+newcode+''',ZC02='''+newdesc+''' '+
'WHERE ZC01='''+g_code+'''';
mb_update.SQL.Add(l_sqlstr);
mb_update.ExecSQL;
frm_user_group1.ModalResult:=mrok;
//commit transaction
except
//rollback transaction
end;
end;
end;
procedure Tfrm_user_group1.edt_codeKeyPress(Sender: TObject;
var Key: Char);
begin
if key=' ' then key:=#0;
if key=#13 then
try
edt_desc.SetFocus;
except
;
end;
end;
procedure Tfrm_user_group1.FormCreate(Sender: TObject);
begin
mb_update.DatabaseName:=dm.connection.DatabaseName;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -