xt; open; s:=FieldValues[‘KeyNo‘]; end; if s<>Edit2.Text file://判断登陆密码是否正确 then begin MessageDlg(‘登陆密码错误,请重新输入!‘,mtInformation,[mbok],0); Edit2.Text:=‘‘; Edit2.SetFocus; end else begin keyname:=Edit1.Text; keyform.Hide; mainform.Show;mainform.WindowState:=wsMaximized; end; end; end; end; §5.7 用户管理功能的实现 5.7.1 用户管理主窗体 图5.7 用户管理主窗体 5.7.2 密码修改窗体模块的实现 图5.8 密码修改窗体 procedure Tkey2form.SpeedButton1Click(Sender: TObject); begin file://密码修改窗口修改按钮事件 if (Edit1.Text=‘‘)or(Edit2.Text=‘‘)or(Edit3.Text=‘‘) then begin MessageDlg(‘请输入完整的信息。‘,mtInformation,[mbok],0); Edit1.SetFocus; end else begin if Not datamoduleform.KeyTable.Locate(‘KeyNo‘,Edit1.Text,[]) then begin MessageDlg(‘原密码输入错误,不能修改新密码!‘,mtInformation,[mbok],0); Edit1.Text:=‘‘;Edit2.Text:=‘‘;Edit3.Text:=‘‘;Edit1.SetFocus; end else begin if Edit2.Text<>Edit3.Text then begin MessageDlg(‘两次密码输入不同,请重新输入新密码!‘,mtInformation,[mbok],0); Edit2.Text:=‘‘;Edit3.Text:=‘‘;Edit2.SetFocus; end else begin file://在数据库中修改密码 with datamoduleform.KeyQuery do begin close; SQL.Clear; SQL.Add(‘update key set KeyNo=:KeyNo where KeyName=:KeyName‘); Parameters.ParamByName(‘KeyName‘).Value:=keyname; Parameters.ParamByName(‘KeyNo‘).Value:=Edit2.Text; execSQL; MessageDlg(‘密码修改成功!‘,mtInformation,[mbok],0); key2form.Close; end; end; end; end; end; 5.7.3 用户注册窗体模块的实现 图5.9 用户注册窗体 procedure Tkey3form.SpeedButton1Click(Sender: TObject); begin file://用户注删窗口注删按钮事件 if (Edit1.Text=‘‘)or(Edit2.Text=‘‘)or(Edit3.Text=‘‘) then begin MessageDlg(‘请输入完整的信息!‘,mtInformation,[mbok],0); Edit1.SetFocus; end else begin if datamoduleform.KeyTable.Locate(‘KeyName‘,Edit1.Text,[]) file://判断用户名是否存在,系统不允许用户名重复 then begin MessageDlg(‘用户名已存在,请输入新的用户名和密码!‘, mtInformation,[mbok],0); Edit1.Text:=‘‘;Edit2.Text:=‘‘;Edit3.Text:=‘‘;Edit1.SetFocus; end else begin if Edit2.Text<>Edit3.Text then begin MessageDlg(‘您输入的两个密码不相同,请重新输入!‘,mtInformation,[mbok],0); Edit2.Text:=‘‘;Edit3.Text:=‘‘;Edit2.SetFocus; end else begin with datamoduleform.KeyQuery do file://在数据库中添加该用户 begin close; SQL.Clear; SQL.Add(‘insert into Key values(:KeyName,:KeyNo)‘); Parameters.ParamByName(‘KeyName‘).Value:=Edit1.Text; Parameters.ParamByName(‘KeyNo‘).Value:=Edit2.Text; execSQL; end; MessageDlg(‘新用户添加成功,您可以继续添加用户,或按“取消”退出。‘,mtInformation,[mbok],0); Edit1.Text:=‘‘;Edit2.Text:=‘‘;Edit3.Text:=‘‘;Edit1.SetFocus; end; end; end; end; 5.7.4 用户注销窗体模块的实现 图5.10 用户注销窗体 procedure Tkey4form.SpeedButton1Click(Sender: TObject); var s:string; begin file://用户注销窗口注销按钮事件 if (Edit1.Text=‘‘)or(Edit2.Text=‘‘) then MessageDlg(‘请输入完整的信息!‘,mtInformation,[mbok],0) else begin if Not data