📄 changecharacter.pas
字号:
unit ChangeCharacter;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, ComCtrls, Buttons, Variants, ExtCtrls;
type
TChangeCharacterFrm = class(TForm)
PageControl1: TPageControl;
TabSheet1: TTabSheet;
TabSheet2: TTabSheet;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Label4: TLabel;
RadioButton1: TRadioButton;
RadioButton2: TRadioButton;
RadioButton3: TRadioButton;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
Panel1: TPanel;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
procedure FormActivate(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure RadioButton1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure RadioButton2KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure RadioButton3KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure Edit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure Edit2KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure Edit3KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure PageControl2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
ChangeCharacterFrm: TChangeCharacterFrm;
implementation
uses UserAndPassWord, ChangePassWord;
{$R *.DFM}
procedure TChangeCharacterFrm.FormActivate(Sender: TObject);
var
Str1,Str2,Str3: string;
begin
Str1 := UserAndPassWord.UserAndPassWordFrm .ListView1.Selected.Caption;
Str2 := UserAndPassWord.UserAndPassWordFrm.ListView1.Selected.SubItems.Strings[0];
ChangeCharacterFrm.Caption := '【' + Str1 + '】' + Str2 + '的属性';
Edit1.Text := Str1;
PageControl1.ActivePage := TabSheet1;
ChangeCharacterFrm.ActiveControl := Edit1;
with UserAndPassWord.UserAndPassWordFrm.ManagerTable do
begin
Open;
if not Locate('FUserName;FUserPower', VarArrayOf([Str1,Str2]), []) then
MessageDlg('该用户不存在!', mtError, [mbOK], 0)
else
begin
Str3 := FieldByName('FUserPower').AsString;
if Str3 = '普通用户' then
RadioButton1.Checked := True
else if Str3 = '高级用户' then
RadioButton2.Checked := True
else
RadioButton3.Checked := True;
end;
Close;
end;
end;
procedure TChangeCharacterFrm.BitBtn1Click(Sender: TObject);
var
Str1, Str2, Str3: string;
i: integer;
begin
if Edit1.Text = '' then
begin
MessageDlg('不能把用户名设置为空!', mtError, [mbOK], 0);
Edit1.SetFocus;
Exit;
end else
begin
Str1 := UserAndPassWord.UserAndPassWordFrm.ListView1.Selected.Caption;
Str2 := UserAndPassWord.UserAndPassWordFrm.ListView1.Selected.SubItems.Strings[0];
with UserAndPassWord.UserAndPassWordFrm.ManagerTable do
begin
try
Open;
if not Locate('FUserName;FUserPower', VarArrayOf([Str1,Str2]), []) then
begin
MessageDlg('该用户不存在!', mtError, [mbOK], 0);
Exit;
end;
Edit;
FieldByName('ManagerName').AsString := Edit1.Text;
if RadioButton1.Checked then
Str3 := '普通用户'
else
if RadioButton2.Checked then
Str3 := '高级用户'
else
Str3 := '超级用户';
FieldByName('ManagerLevel').AsString := Str3;
Post;
Close;
UserAndPassWord.UserAndPassWordFrm.ManagerInsertListView1;
with UserAndPassWord.UserAndPassWordFrm do
begin
for i:=0 to ListView1.Items.Count-1 do
if (ListView1.Items.Item[i].Caption = Edit1.Text)
and (ListView1.Items.Item[i].SubItems[0] = Str3) then
begin
ListView1.SetFocus;
ListView1.Selected := ListView1.Items.Item[i];
OldItem := ListView1.Items.Item[i];
GroupBox1.Caption := '【'+Edit1.Text +'】的密码';
Label3.Caption := '要更改【'+Edit1.Text+'】的密码,请单击<设置密码>。';
ListView1.SetFocus;
BitBtn1.Enabled := True;
Break;
end;
end;
ChangeCharacterFrm.Close;
except
Close;
end;
end;
end;
end;
procedure TChangeCharacterFrm.BitBtn2Click(Sender: TObject);
begin
UserAndPassWord.UserAndPassWordFrm.ListView1.SetFocus;
Close;
end;
procedure TChangeCharacterFrm.RadioButton1KeyDown(Sender: TObject;
var Key: Word; Shift: TShiftState);
begin
case Key of
VK_RETURN: begin
BitBtn1.Click;
end;
end;
end;
procedure TChangeCharacterFrm.RadioButton2KeyDown(Sender: TObject;
var Key: Word; Shift: TShiftState);
begin
case Key of
VK_RETURN: begin
BitBtn1.Click;
end;
end;
end;
procedure TChangeCharacterFrm.RadioButton3KeyDown(Sender: TObject;
var Key: Word; Shift: TShiftState);
begin
case Key of
VK_RETURN: begin
BitBtn1.Click;
end;
end;
end;
procedure TChangeCharacterFrm.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if Key = VK_ESCAPE then Self.Close;
end;
procedure TChangeCharacterFrm.Edit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
case Key of
VK_DOWN: begin
Edit2.SetFocus;
end;
VK_UP: begin
Edit3.SetFocus;
end;
VK_RETURN: begin
BitBtn1.Click;
end;
end;
end;
procedure TChangeCharacterFrm.Edit2KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
case Key of
VK_DOWN: begin
Edit3.SetFocus;
end;
VK_UP: begin
Edit1.SetFocus;
end;
VK_RETURN: begin
BitBtn1.Click;
end;
end;
end;
procedure TChangeCharacterFrm.Edit3KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
case Key of
VK_DOWN: begin
Edit1.SetFocus;
end;
VK_UP: begin
Edit2.SetFocus;
end;
VK_RETURN: begin
BitBtn1.Click;
end;
end;
end;
procedure TChangeCharacterFrm.PageControl2Click(Sender: TObject);
begin
if PageControl1.ActivePage = TabSheet2 then begin
if RadioButton1.Checked then RadioButton1.SetFocus
else if RadioButton2.Checked then RadioButton2.SetFocus
else if RadioButton3.Checked then RadioButton3.SetFocus;
end
else if PageControl1.ActivePage = TabSheet1 then
Edit1.SetFocus;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -