📄 zfrm_newcustomeru.pas
字号:
{
'┌───────────────────────────────────┐
'│**********************************************************************│
'│*** 文件名称:zfrm_newcustomerU.pas 《新建用户模块》 *│
'│*** 功能描述:此摸块是- 新建用户,对《用户信息表"ef_customerinfo"》 *│
'│* 执行相应的处理 — (增) *│
'│*** 编写人员:朱华 *│
'│*** 编写日期:2001-04-26 *│
'│*** 修改人员: *│
'│*** 修改日期: *│
'│**********************************************************************│
'└───────────────────────────────────┘
}
unit zfrm_newcustomerU;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, ComCtrls, Buttons, ExtCtrls, Db, DBTables;
type
Tzfrm_newcustomer = class(TForm)
Button1: TButton;
Button2: TButton;
PageControl1: TPageControl;
TabSheet1: TTabSheet;
GroupBox1: TGroupBox;
Label1: TLabel;
Label2: TLabel;
Edit1: TEdit;
Edit2: TEdit;
Label9: TLabel;
Edit3: TEdit;
Edit4: TEdit;
Label3: TLabel;
Label4: TLabel;
ComboBox1: TComboBox;
Edit5: TEdit;
Label5: TLabel;
Label7: TLabel;
Edit6: TEdit;
ComboBox2: TComboBox;
Label8: TLabel;
Label6: TLabel;
ComboBox3: TComboBox;
BitBtn1: TBitBtn;
Timer1: TTimer;
Query1: TQuery;
Query2: TQuery;
procedure FormActivate(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
procedure ComboBox1KeyPress(Sender: TObject; var Key: Char);
procedure ComboBox2KeyPress(Sender: TObject; var Key: Char);
procedure ComboBox3KeyPress(Sender: TObject; var Key: Char);
procedure Edit1KeyPress(Sender: TObject; var Key: Char);
procedure Edit2KeyPress(Sender: TObject; var Key: Char);
procedure Edit3KeyPress(Sender: TObject; var Key: Char);
procedure Edit4KeyPress(Sender: TObject; var Key: Char);
procedure Edit5KeyPress(Sender: TObject; var Key: Char);
procedure Edit6KeyPress(Sender: TObject; var Key: Char);
procedure BitBtn1Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
{ Private declarations }
public
{ Public declarations }
procedure z_ResetEditP();
end;
var
zfrm_newcustomer: Tzfrm_newcustomer;
// 自定义变量
z_fouseFlagB :Boolean; // 声明-(获得焦点)-标志
implementation
uses zmod_commonDateU, zfrm_addcustomerU, zfrm_customermanagerU;
{$R *.DFM}
procedure Tzfrm_newcustomer.z_ResetEditP();
begin
// 清空所有数据
Edit1.Text := '' ;
Edit2.Text := '999999' ;
Edit3.Text := '999999' ;
Edit4.Text := '' ;
Edit5.Text := '' ;
Edit6.Text := '' ;
//
end;
procedure Tzfrm_newcustomer.FormActivate(Sender: TObject);
begin
// 第一次获得焦点
Edit1.Enabled := True ;
BitBtn1.Visible := True ;
Caption := '新建用户' ;
if z_fouseFlagB then
begin
Edit1.SetFocus ;
z_fouseFlagB :=False ;
end;
// 如果为更新操作,初始化
if zh_updateFlag then
begin
BitBtn1.Visible := False ;
Edit2.SetFocus ;
Edit1.Text := zh_cu_loginnameS ;
Edit1.Enabled := False ;
try {try <1> S}
zh_Select_SQL := 'select * from ef_customerinfo where cu_loginname=' + '''' + zh_cu_loginnameS + '''' ;
Query1.Close ;
Query1.SQL.Clear ;
Query1.SQL.Add(zh_Select_SQL) ;
Query1.Prepare ;
Query1.Open ;
Query1.First ;
Edit2.Text := Query1.Fields[2].AsString ;
Edit3.Text := Query1.Fields[2].AsString ;
Edit4.Text := Query1.Fields[3].AsString ;
ComboBox1.Text := Query1.Fields[4].AsString ;
Edit5.Text := Query1.Fields[5].AsString ;
Edit6.Text := Query1.Fields[6].AsString ;
ComboBox2.Text := Query1.Fields[7].AsString ;
ComboBox3.Text := Query1.Fields[8].AsString ;
Query1.Close ;
except
// 数据库错
Application.MessageBox(
'数据库连接错误,请您检查或系统管理员联系',
'数据库错',
MB_OK+MB_ICONError) ;
Exit ;
end; {try <1> E}
Caption := '用户属性' ;
end;
//
Timer1.Enabled := True ;
//
end;
procedure Tzfrm_newcustomer.Timer1Timer(Sender: TObject);
begin
//判断必输域是否为空
if (Trim(Edit1.Text) ='') or (Trim(Edit2.Text) ='') or (Trim(Edit3.Text) ='') or
(Trim(Edit4.Text) ='') or (Trim(Edit5.Text) ='') or (Trim(Edit6.Text) ='') or
(Trim(ComboBox1.Text) ='') or(Trim(ComboBox2.Text) ='') or (Trim(ComboBox3.Text) ='')
then
begin
Button1.Enabled :=False ;
end;
if (Trim(Edit1.Text) <>'') and (Trim(Edit2.Text) <>'') and (Trim(Edit3.Text) <>'') and
(Trim(Edit4.Text) <>'') and (Trim(Edit5.Text) <>'') and (Trim(Edit6.Text) <>'') and
(Trim(ComboBox1.Text) <>'') and (Trim(ComboBox2.Text) <>'') and (Trim(ComboBox3.Text) <>'')
then
begin
Button1.Enabled :=True ;
end;
//
end;
procedure Tzfrm_newcustomer.ComboBox1KeyPress(Sender: TObject;
var Key: Char);
begin
// 判断回车键
if Key =#13 then
begin
ComboBox2.SetFocus ;
end;
Key := #0 ;
//
end;
procedure Tzfrm_newcustomer.ComboBox2KeyPress(Sender: TObject;
var Key: Char);
begin
// 判断回车键
if Key =#13 then
begin
ComboBox3.SetFocus ;
end;
Key := #0 ;
//
end;
procedure Tzfrm_newcustomer.ComboBox3KeyPress(Sender: TObject;
var Key: Char);
begin
// 判断回车键
if Key =#13 then
begin {if <键入是回车键> B}
if Button1.Enabled then //如果保存按钮激活
begin {if <保存按钮激活> B}
Button1.SetFocus ;
end {if <保存按钮激活> E}
else //如果保存按钮不可用
begin {else <保存按钮不可用> B}
Application.MessageBox(
'请您检查前面的输入域,有空值域',
'必输域为空',
MB_Ok+MB_ICONWARNING );
//判断哪个输入域为空*** <功能模块>开始 *** //
if Trim(Edit1.Text) ='' then
begin
Edit1.SetFocus ;
Exit ;
end;
if Trim(Edit2.Text) ='' then
begin
Edit2.SetFocus ;
Exit ;
end;
if Trim(Edit3.Text) ='' then
begin
Edit3.SetFocus ;
Exit ;
end;
if Trim(Edit4.Text) ='' then
begin
Edit4.SetFocus ;
Exit ;
end;
if Trim(Edit5.Text) ='' then
begin
Edit5.SetFocus ;
Exit ;
end;
if Trim(Edit6.Text) ='' then
begin
Edit6.SetFocus ;
Exit ;
end;
//判断哪个输入域为空*** <功能模块>结束 *** //
end; {else <保存按钮不可用> E}
end; {if <键入是回车键> E}
Key := #0 ;
//
end;
procedure Tzfrm_newcustomer.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
// 判断回车键
if Key =#13 then
begin
Edit2.SetFocus ;
end;
end;
procedure Tzfrm_newcustomer.Edit2KeyPress(Sender: TObject; var Key: Char);
begin
// 判断回车键
if Key =#13 then
begin
Edit3.SetFocus ;
end;
end;
procedure Tzfrm_newcustomer.Edit3KeyPress(Sender: TObject; var Key: Char);
begin
// 判断回车键
if Key =#13 then
begin
Edit4.SetFocus ;
end;
end;
procedure Tzfrm_newcustomer.Edit4KeyPress(Sender: TObject; var Key: Char);
begin
// 判断回车键
if Key =#13 then
begin
Edit5.SetFocus ;
end;
end;
procedure Tzfrm_newcustomer.Edit5KeyPress(Sender: TObject; var Key: Char);
begin
// 判断回车键
if Key =#13 then
begin
Edit6.SetFocus ;
end;
end;
procedure Tzfrm_newcustomer.Edit6KeyPress(Sender: TObject; var Key: Char);
begin
// 判断回车键
if Key =#13 then
begin
ComboBox1.SetFocus ;
end;
end;
procedure Tzfrm_newcustomer.BitBtn1Click(Sender: TObject);
begin
// 清空所有数据
Edit1.Text := '' ;
Edit2.Text := '999999' ;
Edit3.Text := '999999' ;
Edit4.Text := '' ;
Edit5.Text := '' ;
Edit6.Text := '' ;
Edit1.SetFocus ;
//
end;
procedure Tzfrm_newcustomer.Button1Click(Sender: TObject);
var
I :integer;
temp :string;
begin
// 判断数据是否输入正确
if Edit2.Text <> Edit3.Text then
begin
Application.MessageBox(
'用户密码和确认密码不一致,请您重新输入',
'密码错误',
MB_Ok+MB_ICONError);
Edit2.Text :='';
Edit3.Text :='';
Edit2.SetFocus ;
Exit;
end;
// 更新用户数据 - 开始
if zh_updateFlag then
begin
// 保存数据
try {try <1> S}
zh_Update_SQL := 'update ef_customerinfo set cu_password=:cu_password,cu_name=:cu_name,cu_gender=:cu_gender,cu_telephone=:cu_telephone,cu_position=:cu_position,cu_level=:cu_level,cu_syslevel=:cu_syslevel where cu_loginname=' + '''' + zh_cu_loginnameS + '''' ;
Query1.Close;
Query1.SQL.Clear ;
Query1.SQL.Add(zh_Update_SQL);
Query1.ParamByName('cu_password').AsString := Edit2.Text ;
Query1.ParamByName('cu_name').AsString := Edit4.Text ;
Query1.ParamByName('cu_gender').AsString := ComboBox1.Text ;
Query1.ParamByName('cu_telephone').AsString := Edit5.Text ;
Query1.ParamByName('cu_position').AsString := Edit6.Text ;
Query1.ParamByName('cu_level').AsString := ComboBox2.Text ;
Query1.ParamByName('cu_syslevel').AsString := ComboBox3.Text ;
Query1.Prepare ;
Query1.ExecSQL ;
// 更新交叉表
zh_Update_SQL := 'Update ef_customerdepartment Set cu_name=' + '''' + Edit4.Text + '''' + 'where cu_loginname=' + '''' + zh_cu_loginnameS + '''' ;
Query1.Close;
Query1.SQL.Clear ;
Query1.SQL.Add(zh_Update_SQL);
Query1.Prepare ;
Query1.ExecSQL ;
except
// 数据库错
Application.MessageBox(
'用户代码不唯一或数据库连接错误,请您检查',
'数据库错',
MB_OK+MB_ICONError);
Edit1.SetFocus ;
Exit ;
end; {try <1> E}
// 清空所有数据
z_ResetEditP() ; //***//
if zh_flashFlag then zfrm_addcustomer.FormActivate (self) ;
if zh_flashform then zfrm_customerM.z_flashFormP() ; //*****//
Self.Close ;
Exit ;
end;
// 更新用户数据 - 结束
// 得到,新的“部门ID”序列值
temp := 'ge_cu_id' ;
I := zh_GetNewIdF(temp) ; //*****//
// 保存数据
try {try <1> S}
zh_Insert_SQL := 'insert into ef_customerinfo values(:g_cu_id,:cu_loginname,:cu_password,:cu_name,:cu_gender,:cu_telephone,:cu_position,:cu_level,:cu_syslevel,0)' ;
//showmessage(zh_Insert_SQL);
Query1.Close;
Query1.SQL.Clear ;
Query1.SQL.Add(zh_Insert_SQL);
Query1.ParamByName('g_cu_id').AsInteger := I ;
Query1.ParamByName('cu_loginname').AsString := Edit1.Text ;
Query1.ParamByName('cu_password').AsString := Edit2.Text ;
Query1.ParamByName('cu_name').AsString := Edit4.Text ;
Query1.ParamByName('cu_gender').AsString := ComboBox1.Text ;
Query1.ParamByName('cu_telephone').AsString := Edit5.Text ;
Query1.ParamByName('cu_position').AsString := Edit6.Text ;
Query1.ParamByName('cu_level').AsString := ComboBox2.Text ;
Query1.ParamByName('cu_syslevel').AsString := ComboBox3.Text ;
Query1.Prepare ;
Query1.ExecSQL ;
////
zh_Insert_SQL := 'insert into ef_customerdepartment values(:g_de_id,:de_name,:cu_loginname,:cu_name)' ;
//showmessage(zh_Insert_SQL);
Query2.Close;
Query2.SQL.Clear ;
Query2.SQL.Add(zh_Insert_SQL);
Query2.ParamByName('g_de_id').AsInteger := 1 ;
Query2.ParamByName('de_name').AsString := zfrm_customerM.TreeView1.Items[0].Text ;
Query2.ParamByName('cu_loginname').AsString := Edit1.Text ;
Query2.ParamByName('cu_name').AsString := Edit4.Text ;
Query2.Prepare ;
Query2.ExecSQL ;
except
// 数据库错
Application.MessageBox(
'用户代码不唯一或数据库连接错误,请您检查',
'数据库错',
MB_OK+MB_ICONError);
Edit1.SetFocus ;
Exit ;
end; {try <1> E}
// 保存成功
Application.MessageBox(
'您刚刚输入的数据,已保存成功',
'保存成功',
MB_Ok+MB_ICONINFORMATION );
// 清空所有数据
BitBtn1Click(self) ; //***//
if zh_flashFlag then zfrm_addcustomer.FormActivate (self); //*****//
if zh_flashform then zfrm_customerM.z_flashFormP() ; //*****//
//
end;
procedure Tzfrm_newcustomer.FormCreate(Sender: TObject);
begin
// 初始化
Edit1.Text := '' ;
Edit2.Text := '999999' ;
Edit3.Text := '999999' ;
Edit4.Text := '' ;
Edit5.Text := '' ;
Edit6.Text := '' ;
z_fouseFlagB := True ;
//
end;
procedure Tzfrm_newcustomer.Button2Click(Sender: TObject);
begin
// 取消
Close ;
//
end;
procedure Tzfrm_newcustomer.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
//
zh_flashFlag := False ;
zh_flashform := False ;
zh_updateFlag := False ;
Timer1.Enabled := False ;
//
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -