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

📄 u_reg.pas

📁 SQL的应用
💻 PAS
字号:
unit U_Reg;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Buttons, jpeg, ExtCtrls;

type
  TF_Reg = class(TForm)
    Label1: TLabel;
    Edit_UserName: TEdit;
    Label2: TLabel;
    Edit_UserPwd: TEdit;
    Label3: TLabel;
    Edit_UserPwd_Sure: TEdit;
    Label4: TLabel;
    Edit_Name: TEdit;
    Label5: TLabel;
    Edit_Dep: TEdit;
    Label6: TLabel;
    Edit_Email: TEdit;
    BBtn_Reg: TBitBtn;
    Label7: TLabel;
    Edit_Age: TEdit;
    Label8: TLabel;
    Edit_QQ: TEdit;
    Label9: TLabel;
    Edit_Power: TEdit;
    BBtn_Exit: TBitBtn;
    Image1: TImage;
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure BBtn_RegClick(Sender: TObject);
    procedure Edit_AgeKeyPress(Sender: TObject; var Key: Char);
    procedure Edit_QQKeyPress(Sender: TObject; var Key: Char);
    procedure BBtn_ExitClick(Sender: TObject);
    procedure Edit_NameKeyPress(Sender: TObject; var Key: Char);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  F_Reg: TF_Reg;

implementation

uses U_Main, U_Logon, U_DBPublicPack, U_RecordStruct;

{$R *.dfm}

procedure TF_Reg.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  F_Logon.Show;
end;

procedure TF_Reg.BBtn_RegClick(Sender: TObject);
Var
  RecCount,i,j:Integer;
begin
  InitCreateADO;
  GetDBTableInfo('Logon');

//****************************  判断输入的信息是否是非法的   *****************

    If Edit_UserName.Text='' Then
      Begin
        Messagedlg('对不起!用户名不能为空,请重新输入',MtWarning,MbOKCancel,0);
        Edit_UserName.SetFocus;
        Exit;
      End;

    If Edit_UserPwd.Text<>Edit_UserPwd_Sure.Text Then
      Begin
        Messagedlg('对不起!您两次输入的密码不一样,请重新输入',MtWarning,MbOKCancel,0);
        Edit_UserPwd.SetFocus;
        Exit;
      End;

    If Length(Edit_UserPwd.Text)<4 Then
      Begin
        Messagedlg('对不起!为了安全,密码最少为4位请重新输入',MtWarning,MbOKCancel,0);
        Edit_UserPwd.SetFocus;
        Exit;
      End;

    i:=Pos('@',Edit_Email.Text);
    j:=Pos('.',Edit_Email.Text);
    If ((i>0) And (j>0))Or (Edit_Email.Text='') Then
    Begin
      //
    End
    Else
      Begin
        Messagedlg('对不起!您输入的邮件地址无效,请重新输入',MtWarning,MbOKCancel,0);
        Edit_Email.SetFocus;
        Exit;
      End;

  With ADOQry Do
    Begin
      Close;SQL.Clear;SQL.Add('Select * From Logon Where UserName='''+Edit_UserName.Text+'''');Open;
      If ADOQry.RecordCount>0 Then
      Begin
        Messagedlg('对不起!该帐号已被使用,请重新输入',MtWarning,MbOKCancel,0);
        Edit_UserName.SetFocus;
        Exit;
      End;
    End;

//**********************************************************************************

  With ADOQry Do
  Begin
    Close;SQL.Clear;SQL.Add('Select * From Logon');Open;
    RecCount:=RecordCount;
  End;

  With ADOQry Do
    Begin
    Try
      Append;
      ADOQry.FieldByName('UserIndex').AsString:=intToStr(RecCount+1);
      ADOQry.FieldByName('UserName').AsString:=Edit_UserName.Text;
      ADOQry.FieldByName('UserPwd').AsString:=Edit_UserPwd.Text;
      ADOQry.FieldByName('Name').AsString:=Edit_Name.Text;
      ADOQry.FieldByName('Age').AsString:=Edit_Age.Text;
      ADOQry.FieldByName('Dep').AsString:=Edit_Dep.Text;
      ADOQry.FieldByName('Email').AsString:=Edit_Email.Text;
      ADOQry.FieldByName('QQ').AsString:=Edit_QQ.Text;
      ADOQry.FieldByName('Power').AsInteger:=4;
      ADOQry.FieldByName('Interpret').AsString:=Edit_Power.Text;
      Post;
//      ReFresh;
    Except
      Exit;
    End;
    ShowMessage('恭喜您!注册成功!');
    Edit_UserName.Text:='';
    Edit_UserPwd.Text:='';
    Edit_UserPwd_Sure.Text:='';
    Edit_Name.Text:='';
    Edit_Dep.Text:='';
    Edit_Email.Text:='';
    Edit_Age.Text:='';
    Edit_QQ.Text:='';
    F_Reg.Hide;
    F_Logon.Show;
    End;
end;

procedure TF_Reg.Edit_AgeKeyPress(Sender: TObject; var Key: Char);
begin
  if key in['1'..'9',#8] then
    Edit_Age.Readonly:=False
  Else
  Begin
    Application.MessageBox('该处必须输入数字!','提示',mb_ok);
    Edit_Age.Readonly:=True;
  End;
end;

procedure TF_Reg.Edit_QQKeyPress(Sender: TObject; var Key: Char);
begin
  if key in['1'..'9',#8] then
  Edit_QQ.Readonly:=False
  Else
  Begin
    Application.MessageBox('该处必须输入数字!','提示',mb_ok);
    Edit_QQ.Readonly:=True;
  End;
end;

procedure TF_Reg.BBtn_ExitClick(Sender: TObject);
begin
  Close;
end;

procedure TF_Reg.Edit_NameKeyPress(Sender: TObject; var Key: Char);
begin
  if key in['1'..'9',#8] then
  Begin
    Edit_Name.Readonly:=True;
    Application.MessageBox('该处不能输入数字!','提示',mb_ok);
  End
  Else
  Begin
    Edit_Name.Readonly:=False;
  End;
end;

end.

⌨️ 快捷键说明

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