⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 unituser.~pas

📁 社区服务系统
💻 ~PAS
📖 第 1 页 / 共 2 页
字号:
unit UnitUser;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls, ComCtrls, Grids,  DBGrids, DB, ADODB,
  ImgList, Buttons;

type
  TfrmUser = class(TForm)
    Panel1: TPanel;
    Label1: TLabel;
    srcList: TDataSource;
    adolist: TADOQuery;
    adotmp: TADOQuery;
    grdList: TDBGrid;
    Panel4: TPanel;
    Panel5: TPanel;
    adoRole: TADOQuery;
    pclUser: TPageControl;
    TabSheet1: TTabSheet;
    Label2: TLabel;
    edtUserNo: TEdit;
    Label7: TLabel;
    Label3: TLabel;
    edtUserName: TEdit;
    Label8: TLabel;
    edtTel: TEdit;
    Label4: TLabel;
    cbxSex: TComboBox;
    Label9: TLabel;
    edtEmail: TEdit;
    Label6: TLabel;
    Label10: TLabel;
    edtAddress: TEdit;
    Label5: TLabel;
    memUser: TMemo;
    bbtnAdd: TBitBtn;
    bbtnModify: TBitBtn;
    bbtnDel: TBitBtn;
    bbtnSave: TBitBtn;
    bbtnCancel: TBitBtn;
    bbtnExit: TBitBtn;
    DTPBorn: TDateTimePicker;
    cbxPost: TComboBox;
    procedure Button1Click(Sender: TObject);
    procedure btnAddClick(Sender: TObject);
    procedure adolistAfterScroll(DataSet: TDataSet);

    procedure FormShow(Sender: TObject);
    procedure bbtnAddClick(Sender: TObject);
    procedure bbtnModifyClick(Sender: TObject);
    procedure bbtnDelClick(Sender: TObject);
    procedure bbtnSaveClick(Sender: TObject);
   
   // procedure bbtnSentClick(Sender: TObject);
    procedure bbtnExitClick(Sender: TObject);
    private
    { Private declarations }
    
    procedure ButtonState(btag:integer);                    //定义按钮状态过程
    procedure ShowList;                                     //定义列表显示过程
    //procedure AllLoadTreeFun;                             //定义过程,将所有的功能调入到tree中
    procedure iniData;                                      //初始化combox下拉列表中的数据 
  public
    { Public declarations }
  end;

var
  frmUser: TfrmUser;
  strMsg : string;                                             //strMsg用来记录操作的名称,如添加,修改等
  strsql : string;
  iflag : integer;                                             //记录操作,如添加,iflag=1;修改,iflag=2;删除,iflag=3
  strUno : string;                                             //被分配角色的用户编号
  strSexNo : string;                                           //性别所对应的数据字典中的编号
  strPostNo : string;                                          //职位所对应的数据字典中的编号

  const DOADD = 1;
  const DOMODIFY = 2;
  const DODEL = 3 ;
  const DOSHOW = 4 ;
  const DOCANCEL = 5;

implementation
uses UnitADOConn;
{$R *.dfm}

procedure TfrmUser.Button1Click(Sender: TObject);
begin
  close;
end;


{
*************************************************************************************
函数名称: 按钮状态
功能描述: 添加、删除、修改、显示、取消时按钮状态
输入参数: 无
输出参数: 无
返回 值:  无
说   明:
*************************************************************************************
}
procedure TfrmUser.ButtonState(btag:integer);
begin
  case btag of
  1 :                                                          //添加时按钮状态
    begin
      bbtnModify.Enabled := false;
      bbtnDel.Enabled := false;
      bbtnSave.Enabled := true;
      bbtnCancel.Enabled := true;
    end;
  2:                                                          //修改
    begin
      bbtnAdd.Enabled := false;
      bbtnDel.Enabled := false;
      bbtnSave.Enabled := true;
      bbtnCancel.Enabled := true;
    end;
  3:                                                          //删除
    begin
      bbtnadd.Enabled := false;
      bbtnModify.Enabled := false;
      bbtnSave.Enabled := false;
    end;
  4:                                                          //显示状态
    begin
      bbtnAdd.Enabled := true;
      bbtnModify.Enabled := true;
      bbtnDel.Enabled := true;
      bbtnSave.Enabled := false;
    end;                                                     //取消
  5:
    begin
      bbtnadd.Enabled := true;
      bbtnModify.Enabled := true;
      bbtnDel.Enabled := true;
      bbtnSave.Enabled := true;

    end;
  end;

end;

procedure TfrmUser.btnAddClick(Sender: TObject);
begin
end;

{
*************************************************************************************
函数名称:显示DBGrid列表
功能描述:将TUser表中的数据在DBGrid列表中显示出来
输入参数: 无
输出参数: 无
返回 值:  无
说   明:  添加、修改、删除操作要调用该函数以达到显示更新后的数据显示目的
*************************************************************************************
}
procedure TfrmUser.ShowList;
begin
  try
    adolist.Connection := adoconn;
    adolist.Close;
    adolist.SQL.Text := 'select UNo,UName,USex,UBirth,UPost,UPhone,UEmail,UAddress,Umemo from TUser order by UNo asc';
    adolist.Open;
    adotmp.Connection := adoconn;
    adotmp.Close;
    adotmp.SQL.Text := 'select DId,DName from TDataParam where DId='''+adolist.fieldbyname('USex').asstring+'''';
    adotmp.Open;

    if adotmp.RecordCount<>0 then
    begin
      cbxSex.Text := adotmp.fieldbyname('DId').asstring+'['+adotmp.fieldbyname('DName').asstring+']';
      adotmp.Close;
      adotmp.SQL.Text := 'select DId,DName from TDataParam where DId='''+adolist.fieldbyname('UPost').asstring+'''';
      adotmp.Open;
      cbxPost.Text := adotmp.fieldbyname('DId').asstring+'['+adotmp.fieldbyname('DName').asstring+']';

      edtUserNo.Text := adolist.Fields[0].Text;
      strUno := edtUserNo.Text;
      edtUserName.Text := adolist.Fields[1].Text;
      DTPBorn.Date := strtodate(adolist.Fields[3].Text);
      edtTel.Text := adolist.Fields[5].Text;
      edtEmail.Text := adolist.Fields[6].Text;
      edtAddress.Text := adolist.Fields[7].Text;
      memUser.Text := adolist.Fields[8].Text;
      edtUserNo.ReadOnly := true;
      edtUserName.ReadOnly := true;
      edtTel.ReadOnly := true;
      edtEmail.ReadOnly := true;
      edtAddress.ReadOnly := true;
      memUser.ReadOnly := true;
    end;
  except
    on e:exception do
      showmessage('列表显示失败');
  end;
  //adolist.Close;                       //注意:不能关掉,关掉的话数据集里的数据将丢失
  buttonState(4);

end;

{
*************************************************************************************
函数名称:数据集滚动事件
功能描述:根据用户点击的项,显示不同的记录
输入参数: 无
输出参数: 无
返回 值:  无
说   明:
*************************************************************************************
}
procedure TfrmUser.adolistAfterScroll(DataSet: TDataSet);
begin
  adotmp.Connection := adoconn;
  adotmp.Close;
  adotmp.SQL.Text := 'select DId,DName from TDataParam where DId='''+adolist.fieldbyname('USex').asstring+'''';
  adotmp.Open;
  cbxSex.Text := adotmp.fieldbyname('DId').asstring+'['+adotmp.fieldbyname('DName').asstring+']';

  adotmp.Close;
  adotmp.SQL.Text := 'select DId,DName from TDataParam where DId='''+adolist.fieldbyname('UPost').asstring+'''';
  adotmp.Open;
  cbxPost.Text := adotmp.fieldbyname('DId').asstring+'['+adotmp.fieldbyname('DName').asstring+']';

  edtUserNo.Text := adolist.Fields[0].Text;
  strUno := edtUserNo.Text;
  edtUserName.Text := adolist.Fields[1].Text;
  dtpBorn.Date := strtodate(adolist.Fields[3].text); 
  edtTel.Text := adolist.Fields[5].Text;
  edtEmail.Text := adolist.Fields[6].Text;
  edtAddress.Text := adolist.Fields[7].Text;
  memUser.Text := adolist.Fields[8].Text;

end;








procedure TfrmUser.FormShow(Sender: TObject);
begin
   pclUser.TabIndex := 0;
   iniData;
   showlist;
   if blnAdd = false then                                //如果用户没有添加的权限,则将添加按钮置为不可见状态
    bbtnAdd.Visible := false;
   if blnModify = false then                             //如果用户没有修改的权限,则将修改按钮置为不可见状态
    bbtnModify.Visible := false;
   if blnDel = false then                                //如果用户没有删除的权限,则将删除按钮置为不可见状态
    bbtnDel.Visible := false;
end;

procedure TfrmUser.bbtnAddClick(Sender: TObject);
var
strNo : string;                    //获取即将要添加的用户编号
begin
  iflag := DOADD;
  buttonstate(DOADD);
  edtUserNo.Text := '';
  edtUserName.Text := '';

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -