uni_user.pas
来自「一个非常不错的经费报销管理软件」· PAS 代码 · 共 214 行
PAS
214 行
unit Uni_User;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls, ToolWin, Menus, Grids, DBGridEh, DB, StdCtrls, Mask,
DBCtrls, ExtCtrls, XPMenu, CheckLst, ADODB;
type
TFrm_User = class(TForm)
TB_Main: TToolBar;
TB_Insert: TToolButton;
TB_Update: TToolButton;
TB_Delete: TToolButton;
TB_Post: TToolButton;
TB_Cancel: TToolButton;
TB_Refresh: TToolButton;
TB_Help: TToolButton;
TB_Close: TToolButton;
Tree: TTreeView;
PopupMenu1: TPopupMenu;
N_State: TMenuItem;
DSbsUser: TDataSource;
N_TreeRead: TMenuItem;
Panel1: TPanel;
P_Edit: TPanel;
Label1: TLabel;
DB_cName: TDBEdit;
Label2: TLabel;
DB_cPassword: TDBEdit;
Label3: TLabel;
DB_cBranchName: TDBEdit;
DBGbsUser: TDBGridEh;
XPMenu1: TXPMenu;
ToolButton1: TToolButton;
ToolButton2: TToolButton;
ToolButton3: TToolButton;
ToolButton4: TToolButton;
CoolBar1: TCoolBar;
StatusBar1: TStatusBar;
TB_PurviewSetup: TToolButton;
procedure TB_RefreshClick(Sender: TObject);
procedure TreeClick(Sender: TObject);
procedure N_StateClick(Sender: TObject);
procedure TB_InsertClick(Sender: TObject);
procedure TB_DeleteClick(Sender: TObject);
procedure TB_PostClick(Sender: TObject);
procedure N_TreeReadClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure TB_CancelClick(Sender: TObject);
procedure TB_CloseClick(Sender: TObject);
procedure TB_UpdateClick(Sender: TObject);
procedure TB_PurviewSetupClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Frm_User: TFrm_User;
implementation
{$R *.dfm}
uses Uni_dm,Uni_Main,Uni_Branchs,Uni_Function, StrUtils,Uni_PurviewSetup;
procedure TFrm_User.TB_RefreshClick(Sender: TObject);
begin
if DM.bsUser.IsEmpty then Exit;
DM.bsUser.Close;
DM.bsUser.Open;
end;
procedure TFrm_User.TreeClick(Sender: TObject);
var
L,R:Integer;
str:String;
begin
//Frm_Branchs.TreeClick(Sender);
try
L:=Pos('[',(Sender as TTreeView).Selected.Text);
R:=Pos(']',(Sender as TTreeView).Selected.Text);
str:=MidBStr((Sender as TTreeView).Selected.Text,L+1,R-L-1);
except
end;
//
with DM do
begin
bsBranchs.Close;
bsBranchs.Open;
if not bsBranchs.Locate('cNum',str,[])
then
begin
MessageBoxError('获取部门信息数据错误!');
end;
end;
DM.bsUser.Close;
DM.bsUser.SQL.Text:='select *From bsUser where iState>0 and cBranchsID='+QuotedStr(DM.bsBranchs.FieldByName('ID').AsString);
DM.bsUser.Open;
end;
procedure TFrm_User.N_StateClick(Sender: TObject);
var
i:Integer;
begin
for i :=0 to TB_Main.ButtonCount-1 do
TB_Main.Buttons[i].Enabled:=not TB_Main.Buttons[i].Enabled;
//
P_Edit.Visible:=TB_Post.Enabled;
Tree.Enabled:=TB_Insert.Enabled;
DBGbsUser.Enabled:=TB_Insert.Enabled;
end;
procedure TFrm_User.TB_InsertClick(Sender: TObject);
begin
IF DM.bsUser.Active=False THEN Exit;
N_StateClick(Sender);
with DM do
begin
bsUser.Insert;
bsUser.FieldByName('id').AsString:=GetGUID;
bsUser.FieldByName('istate').AsInteger:=0;
bsUser.FieldByName('cBranchsID').AsString:=bsBranchs.FieldByName('ID').AsString;
bsUser.Post;
end;
end;
procedure TFrm_User.TB_DeleteClick(Sender: TObject);
begin
if not DM.bsUser.IsEmpty then
begin
DM.bsUser.Edit;
DM.bsUser.FieldByName('iState').AsInteger:=-1;
DM.bsUser.Post;
end;
TB_RefreshClick(Sender);
end;
procedure TFrm_User.TB_PostClick(Sender: TObject);
begin
N_StateClick(Sender);
//
DM.bsUser.Edit;
DM.bsUser.FieldByName('iState').AsInteger:=1;
DM.bsUser.Post;
//
DM.bsPurviewList.Close;
DM.bsPurviewList.Open;
while not DM.bsPurviewList.Eof do
begin
if not DM.bsPurview.Locate('ListID',DM.bsPurviewList.FieldByName('id').AsString,[])
then begin
DM.bsPurview.Insert;
DM.bsPurview.FieldByName('ListId').AsInteger:=DM.bsPurviewList.FieldByName('id').AsInteger;
DM.bsPurview.FieldByName('cName').AsString:=DM.bsPurviewList.FieldByName('cName').AsString;
DM.bsPurview.FieldByName('cUserID').AsString:=DM.bsUser.FieldByName('id').AsString;
DM.bsPurview.FieldByName('BVisible').AsBoolean:=DM.bsPurviewList.FieldByName('BVisible').AsBoolean;
DM.bsPurview.Post;
end;
DM.bsPurviewList.Next;
end;
TB_RefreshClick(Sender);
end;
procedure TFrm_User.N_TreeReadClick(Sender: TObject);
begin
TreeRead('bsBranchs');
Tree.Items.Clear;
Tree.LoadFromFile('SPTREE.TXT');
Tree.TopItem.Expanded:=True;
TB_RefreshClick(Sender);
end;
procedure TFrm_User.FormShow(Sender: TObject);
begin
N_TreeReadClick(Sender);
DM.bsUser.Close;
end;
procedure TFrm_User.TB_CancelClick(Sender: TObject);
begin
N_StateClick(Sender);
DM.bsUser.Cancel;
if DM.bsUser.FieldByName('iState').AsInteger=0 then
DM.bsUser.Delete;
end;
procedure TFrm_User.TB_CloseClick(Sender: TObject);
begin
Close;
end;
procedure TFrm_User.TB_UpdateClick(Sender: TObject);
begin
if DM.bsUser.IsEmpty then Exit;
N_StateClick(Sender);
end;
procedure TFrm_User.TB_PurviewSetupClick(Sender: TObject);
begin
Application.CreateForm(TFrm_PurviewSetup,Frm_PurviewSetup);
Frm_PurviewSetup.ShowModal;
end;
end.
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?