📄 userunit.pas
字号:
end;
end;
procedure TUserForm.Button5Click(Sender: TObject);
begin
with OpenDialog1 do
begin
InitialDir := ExtractFilePath(Edit5.Text);
FileName := ExtractFileName(Edit5.text);
FilterIndex := 2;
if (FileName = '') or (UpperCase(ExtractFileExt(FileName)) = '.AVI') then
FilterIndex := 1;
if Execute then
Edit5.Text := FileName;
end;
end;
procedure TUserForm.Edit6KeyPress(Sender: TObject; var Key: Char);
begin
if not ((Key >= '0') and (Key <= '9') or (Key = #8)) then
Key := #7;
end;
procedure TUserForm.NewUserGroupExecute(Sender: TObject);
begin
with TSetStringForm.Create(Application) do
begin
CaptionString := '输入';
LabelString := '新建用户组名(&G):';
ShowModal;
EditString := UpperCase(Trim(EditString));
if OkFlag and (EditString <> '') and (TheMainForm.AddUserGroup(EditString)) then
begin
with UserGroupList.Items.AddChild(nil, EditString) do
begin
ImageIndex := 0;
SelectedIndex := 1;
StateIndex := -1;
Selected := True;
end;
UserGroupList.SetFocus;
end;
Free;
end;
end;
procedure TUserForm.NewUserGroupUpdate(Sender: TObject);
begin
TAction(Sender).Enabled := True;
end;
procedure TUserForm.NewUserExecute(Sender: TObject);
var
NotUseFlag: Boolean;
begin
SaveCurrent;
with TSetStringForm.Create(Application) do
begin
CaptionString := '输入';
LabelString := '新建用户名(&U):';
ShowModal;
EditString := UpperCase(Trim(EditString));
NotUseFlag := False;
if OkFlag and (EditString <> '') and (UserGroupList.Selected <> nil) and (TheMainForm.AddUser(EditString, UserGroupList.Selected.Text, NotUseFlag)) then
begin
with UserList.Items.AddChild(nil, EditString) do
begin
if NotUseFlag then
ImageIndex := 4
else
ImageIndex := 2;
SelectedIndex := 3;
StateIndex := -1;
Selected := True;
end;
UserList.SetFocus;
end;
Free;
end;
end;
procedure TUserForm.NewUserUpdate(Sender: TObject);
begin
TAction(Sender).Enabled := UserGroupList.Selected <> nil;
end;
procedure TUserForm.ExitUserManagerExecute(Sender: TObject);
begin
Close;
end;
procedure TUserForm.DeleteUserGroupExecute(Sender: TObject);
begin
if FGroupNode = nil then
FGroupNode := UserGroupList.Selected;
if (FGroupNode <> nil) and (Pos(FGroupNode.Text + ',', 'ADMINISTRATORS,GUESTS,') = 0) then
if TheMainForm.DeleteUserGroup(FGroupNode.Text) then
begin
UserGroupList.SetFocus;
FGroupNode.Delete;
end;
FGroupNode := nil;
end;
procedure TUserForm.DeleteUserGroupUpdate(Sender: TObject);
begin
if FGroupNode = nil then
FGroupNode := UserGroupList.Selected;
TAction(Sender).Enabled := (FGroupNode <> nil) and (Pos(FGroupNode.Text + ',', 'ADMINISTRATORS,GUESTS,') = 0);
if TAction(Sender).Enabled then
TAction(Sender).Caption := '删除用户组 ' + FGroupNode.Text + ' (&D)'
else
TAction(Sender).Caption := '删除用户组(&D)';
end;
procedure TUserForm.DeleteUserExecute(Sender: TObject);
begin
if FUserNode = nil then
FUserNode := UserList.Selected;
if (FUserNode <> nil) and (Pos(FUserNode.Text + ',', 'ADMINISTRATOR,GUEST,') = 0) then
if TheMainForm.DeleteUser(FUserNode.Text) then
begin
FUserNode.Delete;
if UserList.Items.Count = 0 then
UserGroupList.SetFocus;
end;
FGroupNode := nil;
FUserNode := nil;
end;
procedure TUserForm.DeleteUserUpdate(Sender: TObject);
begin
if FUserNode = nil then
FUserNode := UserList.Selected;
TAction(Sender).Enabled := (FUserNode <> nil) and (Pos(FUserNode.Text + ',', 'ADMINISTRATOR,GUEST,') = 0);
if TAction(Sender).Enabled then
begin
MoveUserTo.Caption := '移动用户 ' + FUserNode.Text + ' 到(&M)...';
DeleteUser.Caption := '删除用户 ' + FUserNode.Text + ' (&T)';
end
else begin
MoveUserTo.Caption := '移动用户到(&M)...';
DeleteUser.Caption := '删除用户(&T)';
end;
end;
procedure TUserForm.MoveUserToExecute(Sender: TObject);
var
i: Integer;
NotUseFlag: Boolean;
begin
if FGroupNode = nil then
FGroupNode := UserGroupList.Selected;
if FUserNode = nil then
FUserNode := UserList.Selected;
if (FGroupNode <> nil) and (FUserNode <> nil) then
with TSetStringForm.Create(Application) do
begin
CaptionString := '重置用户 ' + FUserNode.Text;
LabelString := '从用户组 ' + UserGroupList.Selected.Text + ' 移至(&M):';
EditString := FGroupNode.Text;
for i := 0 to UserGroupList.Items.Count - 1 do
ComboBoxStrings.Add(UserGroupList.Items[i].Text);
ShowModal;
EditString := UpperCase(Trim(EditString));
NotUseFlag := False;
if OkFlag and (EditString <> '') and TheMainForm.MoveUserToGroup(FUserNode.Text, EditString, NotUseFlag) then
begin
FSave := FUserNode.Text;
UserGroupList.ClearSelection;
FGroupNode.Selected := True;
UserGroupList.SetFocus;
end;
Free;
end;
FGroupNode := nil;
FUserNode := nil;
end;
procedure TUserForm.SetOpenExecute(Sender: TObject);
begin
if FName = '' then Exit;
if UserItemForm <> nil then
UserItemForm.Free;
UserItemForm := TUserItemForm.Create(Application);
with UserItemForm do
begin
TheUserName := FName;
TheMainForm.InitUserItem(FName);
Caption := FName + ' ' + Caption;
ShowModal;
end;
end;
procedure TUserForm.SetOpenUpdate(Sender: TObject);
begin
TAction(Sender).Enabled := CheckBox10.Checked;
end;
procedure TUserForm.SetDBExecute(Sender: TObject);
begin
if FName = '' then Exit;
if DBParaForm <> nil then
DBParaForm.Free;
DBParaForm := TDBParaForm.Create(Application);
with DBParaForm do
begin
Caption := FName + ' ' + Caption;
Button3.Visible := False;
Button4.Visible := False;
ComboBox1.PopupMenu := PopupMenu1;
TheUserName := FName;
TheMainForm.InitDBProperty(FName);
ShowModal;
end;
end;
procedure TUserForm.SetDBUpdate(Sender: TObject);
begin
TAction(Sender).Enabled := CheckBox12.Checked;
end;
procedure TUserForm.UserGroupListContextPopup(Sender: TObject;
MousePos: TPoint; var Handled: Boolean);
begin
FGroupNode := UserGroupList.Selected;
end;
procedure TUserForm.UserListContextPopup(Sender: TObject; MousePos: TPoint;
var Handled: Boolean);
begin
FUserNode := UserList.Selected;
end;
procedure TUserForm.UserGroupListDragOver(Sender, Source: TObject; X,
Y: Integer; State: TDragState; var Accept: Boolean);
begin
Accept := False;
if Source = UserList then
Accept := True;
end;
procedure TUserForm.UserGroupListDragDrop(Sender, Source: TObject; X,
Y: Integer);
begin
if (TTreeView(Sender).DropTarget <> nil) and (TTreeView(Sender).DropTarget = TTreeView(Sender).GetNodeAt(X, Y)) then
begin
FGroupNode := TTreeView(Sender).DropTarget;
MoveUserTo.Execute;
end;
end;
procedure TUserForm.UserListStartDrag(Sender: TObject;
var DragObject: TDragObject);
begin
FUserNode := UserList.Selected;
end;
procedure TUserForm.SetLoginTimesExecute(Sender: TObject);
begin
if FName = '' then Exit;
if LoginTimesForm <> nil then
LoginTimesForm.Free;
LoginTimesForm := TLoginTimesForm.Create(Application);
with LoginTimesForm do
begin
TheUserName := FName;
TheMainForm.InitUserLoginTimes(FName);
Caption := FName + ' ' + Caption;
ShowModal;
end;
end;
procedure TUserForm.SetLoginTimesUpdate(Sender: TObject);
begin
TAction(Sender).Enabled := UserRealName = 'ADMINISTRATOR';
end;
procedure TUserForm.UserListKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if Key = VK_DELETE then
begin
FUserNode := nil;
DeleteUser.Update;
DeleteUser.Execute;
end;
end;
procedure TUserForm.UserGroupListKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if Key = VK_DELETE then
begin
FGroupNode := nil;
DeleteUserGroup.Update;
DeleteUserGroup.Execute;
end;
end;
procedure TUserForm.SetCOMExecute(Sender: TObject);
begin
if FName = '' then Exit;
if SetCOMForm <> nil then
SetCOMForm.Free;
SetCOMForm := TSetCOMForm.Create(Application);
with SetCOMForm do
begin
TheUserName := FName;
TheMainForm.InitCOMSet(FName);
Caption := FName + ' ' + Caption;
ShowModal;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -