Files
Delphi-Projects/V-0.4/AdminAdd_u.pas
zastian00@gmail.com 84991874cd V-0.4
2019-08-01 21:34:54 +02:00

154 lines
3.6 KiB
ObjectPascal

unit AdminAdd_u;
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Vcl.ExtCtrls, Login_u, System.math;
type
TFrmAdminAdd = class(TForm)
edtUsername: TEdit;
edtPassword: TEdit;
edtIDNum: TEdit;
Panel1: TPanel;
chkAdmin: TCheckBox;
btnGeneratePass: TButton;
btnAddUser: TButton;
procedure btnGeneratePassClick(Sender: TObject);
procedure edtUsernameDblClick(Sender: TObject);
procedure edtIDNumDblClick(Sender: TObject);
procedure edtIDNumEnter(Sender: TObject);
procedure edtUsernameEnter(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure btnAddUserClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
var
sRandomPass, sAdmin : string;
iCount, iRandomNum, iRandomChar, iRandomUp, iRandomLow : Integer;
end;
var
FrmAdminAdd: TFrmAdminAdd;
implementation
{$R *.dfm}
procedure TFrmAdminAdd.btnAddUserClick(Sender: TObject);
var
sUser, sPass, sID : string;
iConfirm : Integer;
begin
iConfirm:=0;
sUser:='';
sPass:='';
sID:='';
sAdmin:= BoolToStr(chkAdmin.Checked);
if Length(edtUsername.Text) >= 7 then
sUser:= edtUsername.Text
else
begin
ShowMessage('User Name must be 7 or more caractars');
exit
end;
if Length(edtPassword.Text) = 12 then
sPass:=edtPassword.Text
else
begin
ShowMessage('Press Random pass generator');
exit
end;
if Length(edtIDNum.Text) = 13 then
sID:=edtIDNum.Text
else
begin
ShowMessage('ID Number must be 13 digets long');
exit
end;
DataUser.adoUser.Close;
DataUser.adoUser.SQL.Clear;
DataUser.adoUser.SQL.Add('INSERT INTO Login(Username,IDnum,pass,Admin) VALUES(:par0,:par1,:par2,:par3)');
DataUser.adoUser.Parameters.ParamByName('par0').Value:=sUser;
DataUser.adoUser.Parameters.ParamByName('par1').Value:=sID;
DataUser.adoUser.Parameters.ParamByName('par2').Value:=sPass;
DataUser.adoUser.Parameters.ParamByName('par3').Value:= sAdmin;
iConfirm:= MessageDlg('Confirm Adding Acount', mtConfirmation, mbYesNo, 7);
if iConfirm = 7 then exit;
if iConfirm = 6 then DataUser.adoUser.ExecSQL;
end;
procedure TFrmAdminAdd.btnGeneratePassClick(Sender: TObject);
var
arrRandomChar : array[1..3] of Integer;
i : Integer;
begin
sRandomPass := '';
iCount := 0;
iRandomNum:= 0;
iRandomUP:= 0;
iRandomLow:= 0;
edtPassword.ReadOnly:=False;
while iCount < 12 do
begin
Randomize;
iRandomNum := RandomRange(48, 58);
iRandomUp := RandomRange(65, 91);
iRandomLow := RandomRange(97, 123);
arrRandomChar[1]:= iRandomNum;
arrRandomChar[2]:= iRandomUp;
arrRandomChar[3]:= iRandomLow;
i := random(3)+1;
iRandomChar:= arrRandomChar[i];
sRandomPass:= sRandomPass + Chr(iRandomChar);
iCount:= iCount + 1;
end;
edtPassword.ReadOnly:=True;
edtPassword.Text:=sRandomPass;
end;
procedure TFrmAdminAdd.edtIDNumDblClick(Sender: TObject);
begin
edtIDNum.Text:= '';
end;
procedure TFrmAdminAdd.edtIDNumEnter(Sender: TObject);
begin
edtIDNum.Hint:= 'Dubbel tapp to clear';
edtIDNum.ShowHint := True;
end;
procedure TFrmAdminAdd.edtUsernameDblClick(Sender: TObject);
begin
edtUsername.Text:= '';
end;
procedure TFrmAdminAdd.edtUsernameEnter(Sender: TObject);
begin
edtUsername.Hint:= 'Dubbel tap to clear';
edtUsername.ShowHint:= True;
end;
procedure TFrmAdminAdd.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Application.Terminate;
end;
end.