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

📄 f_yhgl.pas

📁 本系统用于大学学生宿舍管理
💻 PAS
字号:
unit f_yhgl;

interface

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

type
  TForm4 = class(TForm)
    ADOConnection1: TADOConnection;
    ADOQuery1: TADOQuery;
    DataSource1: TDataSource;
    gb_1: TGroupBox;
    gb_2: TGroupBox;
    Label1: TLabel;
    e_bh: TEdit;
    Label2: TLabel;
    c_xb: TComboBox;
    Label3: TLabel;
    e_password: TEdit;
    e_user: TEdit;
    Label4: TLabel;
    b_xz: TBitBtn;
    b_xg: TBitBtn;
    b_gb: TBitBtn;
    b_qx: TBitBtn;
    b_bc: TBitBtn;
    b_sc: TBitBtn;
    DBGrid1: TDBGrid;
    ADOQuery1bh: TStringField;
    ADOQuery1username: TStringField;
    ADOQuery1password: TStringField;
    ADOQuery1xb: TStringField;
    stb: TStatusBar;
    procedure b_gbClick(Sender: TObject);
    procedure s_save;
    procedure s_show;
    procedure s_clear(var bb:boolean);
    procedure b_xzClick(Sender: TObject);
    procedure b_qxClick(Sender: TObject);
    procedure e_bhKeyPress(Sender: TObject; var Key: Char);
    procedure e_userKeyPress(Sender: TObject; var Key: Char);
    procedure e_passwordKeyPress(Sender: TObject; var Key: Char);
    procedure c_xbKeyPress(Sender: TObject; var Key: Char);
    procedure c_xbSelect(Sender: TObject);
    procedure DBGrid1CellClick(Column: TColumn);
    procedure b_scClick(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure b_xgClick(Sender: TObject);
    procedure b_bcClick(Sender: TObject);
    procedure DataSource1StateChange(Sender: TObject);
    procedure DataSource1DataChange(Sender: TObject; Field: TField);

 private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form4: TForm4;
  bsf:string;
implementation

{$R *.dfm}
procedure tform4.s_save;
  begin
      with  form4 do
        begin
          adoquery1.Edit;
          adoquery1.FieldByName('bh').AsString:=trim(e_bh.Text);
          adoquery1.FieldByName('username').AsString:=trim(e_user.Text);
          adoquery1.FieldByName('password').AsString :=trim(e_password.Text);
          adoquery1.FieldByName('xb').AsString :=trim(c_xb.Text);
          adoquery1.Post;
        end;
  end;
procedure  tform4.s_show;
begin
   form4.ADOQuery1.Close;
   form4.ADOQuery1.SQL.Clear;
   form4.ADOQuery1.SQL.Add('select * from username');
   form4.ADOQuery1.Open;
 end;
procedure tform4.s_clear(var bb:boolean);
var
i:integer;
begin
     with form4 do
        begin
           b_xz.Enabled:=true;
           b_xg.Enabled:=true;
           b_sc.Enabled:=true;
           b_bc.Enabled:=false;
           b_qx.Enabled:=false;
           b_gb.Enabled:=true;
           e_bh.Text:='';
           e_user.Text:='';
           e_password.text:='';
           c_xb.Text:='';
         for i:=0 to gb_1.controlcount-1 do
            begin
            if (gb_1.Controls[i].ClassType=tedit)or
               (gb_1.Controls[i].ClassType=tcombobox  )  then
                begin
                   if bb =false then
                       gb_1.Controls[i].Enabled :=false
                   else
                      gb_1.Controls[i].Enabled:=true;
               end;
          end;
     end;
 end;

procedure TForm4.b_gbClick(Sender: TObject);
begin
close;
end;

procedure TForm4.b_xzClick(Sender: TObject);
var
bb:boolean;
begin
  bsf:='xz';
  bb:=true;
  s_clear(bb);
  e_bh.SetFocus;
  b_xz.Enabled:=false;
  b_xg.Enabled:=false;
  b_sc.Enabled :=false;
  b_bc.Enabled:=true;
  b_qx.Enabled :=true;
  b_gb.Enabled:=false;

end;
procedure TForm4.b_qxClick(Sender: TObject);
var
ss:boolean;
begin
ss:=false;
s_clear(ss);
end;
procedure TForm4.e_bhKeyPress(Sender: TObject; var Key: Char);
begin
 if not (key in['0','1','2','3','4','5','6','7','8','9',chr(8),chr(13)]) then
      key:=chr(0);
    if key=chr(13) then
        if trim(e_bh.Text)='' then
       begin
          showmessage('请输入编号') ;
          e_bh.SetFocus;
        end
     else
        begin
           e_user.SetFocus;
        end;
      end;
procedure TForm4.e_userKeyPress(Sender: TObject; var Key: Char);
begin
 if key=chr(13) then
     if trim(e_user.Text )<>'' then
        begin
          e_password.SetFocus ;
        end
      else
       begin
         showmessage('请输入用户名');
         e_user.SetFocus ;
       end;
  end;
procedure TForm4.e_passwordKeyPress(Sender: TObject; var Key: Char);
begin
 if key=chr(13) then
     if trim(e_password.Text )<>'' then
        begin
          c_xb.SetFocus;
        end
      else
       begin
       showmessage('请输入用户名');
        e_password.SetFocus ;
       end;
  end;
procedure TForm4.c_xbKeyPress(Sender: TObject; var Key: Char);
begin
 if key=chr(13) then
     if trim(c_xb.Text )<>'' then
        begin
          b_bc.SetFocus;
        end
      else
       begin
       showmessage('请选择性别');
        c_xb.SetFocus ;
       end;
  end;
procedure TForm4.c_xbSelect(Sender: TObject);
begin
  if trim(c_xb.Text )<>'' then
        begin
          b_bc.SetFocus;
        end
      else
       begin
       showmessage('请选择性别');
        c_xb.SetFocus ;
       end;
  end;
procedure TForm4.DBGrid1CellClick(Column: TColumn);
var
vv:boolean;
begin
if adoquery1.RecordCount>0 then
 begin
   vv:=false;
   s_clear(vv);
   e_bh.Text:=trim(adoquery1.fieldbyname('bh').AsString);
   e_user.Text:=trim(adoquery1.fieldbyname('username').AsString);
   e_password.Text:=trim(adoquery1.fieldbyname('password').AsString);
   c_xb.Text:=trim(adoquery1.fieldbyname('xb').AsString );
  end;
 end;
procedure TForm4.b_scClick(Sender: TObject);
var
bb:boolean;
begin
if trim(e_bh.Text)<>'' then
  begin
   if MessageDlg('你确定删除记录吗?', mtConfirmation, [mbYes, mbNo], 0) = mrYes then
  begin
       adoquery1.Delete ;
       s_show;
       showmessage('记录删除完毕!');
       bb:=false;
       s_clear(bb);
     end
   else
   exit;
  end
 else
  showmessage('请选择删除记录');
 end;
 procedure TForm4.FormShow(Sender: TObject);
 var
  ss:boolean;
begin
s_show;
ss:=false;
s_clear(ss);
end;

procedure TForm4.b_xgClick(Sender: TObject);
var
i:integer;
begin
 if trim(e_bh.Text)<>'' then
   begin
    bsf:='xg';
    for i:=0 to gb_1.ControlCount-1 do begin
      if (gb_1.Controls[i].ClassType =tedit) or (gb_1.Controls[i].ClassType=tcombobox ) then
          gb_1.Controls[i].Enabled:=true;
       b_xz.Enabled:=false;
       b_xg.Enabled:=false;
       b_bc.Enabled:=true;
       b_sc.Enabled:=false;
       b_qx.Enabled:=true;
       b_gb.Enabled:=false;
       end;
    end
 else
      begin
         showmessage('请选择修改值!');
      end;
   end;
 procedure TForm4.b_bcClick(Sender: TObject);
var
ss:boolean;
begin
  if trim(e_bh.Text)='' then
     begin
       showmessage('请输入编号值!');
       e_bh.SetFocus;
       exit;
     end;
  if bsf <>'xg'  then
       begin
          adoquery1.Close;
          adoquery1.SQL.Clear;
          adoquery1.SQL.Add('select * from username where bh = ' +char(39)+trim(e_bh.Text)+char(39));
          adoquery1.Open;
      end;
   if adoquery1.recordcount<0 then
        begin
     showmessage('请输入值');
     exit;
        end;
     if trim(e_user.Text)='' then
       begin
         showmessage('请输入用户值');
         s_show;
         e_user.SetFocus;
         exit;
       end;
   if trim(e_password.Text)='' then
       begin
        showmessage('请输入密码值');
        s_show;
        e_password.SetFocus;
        exit;
       end;
   if trim(c_xb.Text)= ''then
      begin
        showmessage('请选择性别');
        s_show;
        c_xb.SetFocus;
        exit;
      end;
   if MessageDlg('记录是否保存吗 ?',mtConfirmation, [mbYes, mbNo], 0) = mrYes then
     begin
       s_save;
       s_show;
       showmessage('记录保存完毕!');
       ss:=false;
       s_clear(ss);
     end
    else
    s_show;
    exit;
 end;
procedure TForm4.DataSource1StateChange(Sender: TObject);
begin
 case DataSource1.State of
  dsBrowse :stb.Panels.Items[0].Text:='[浏览模式]';
  dsEdit:stb.Panels.Items[0].Text:='[编辑模式]';
  dsInsert:stb.Panels.Items[0].Text:='[插入模式]';
  else stb.Panels.Items[0].Text:='[其他模式]';

  end;
 end;
procedure TForm4.DataSource1DataChange(Sender: TObject; Field: TField);
begin
stb.Panels.Items[2].Text:='当前记录:'+IntToStr(DataSource1.DataSet.RecNo);
stb.Panels.Items[1].Text:='记录总数:'+IntToStr(DataSource1.DataSet.RecordCount);
end;

end.


⌨️ 快捷键说明

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