Files
Delphi-Projects/V-0.6/AdminAdd_u.pas
zastian00@gmail.com 9ac24e70c7 V-0.6
2019-08-06 15:48:08 +02:00

265 lines
6.2 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,
Vcl.Tabs, Vcl.Grids, Vcl.Samples.Calendar, Vcl.ComCtrls, Vcl.DBCtrls, Data.DB,
Vcl.DBGrids, Vcl.Menus;
type
TFrmAdminAdd = class(TForm)
edtUsername: TEdit;
edtPassword: TEdit;
edtTital: TEdit;
Panel1: TPanel;
chkAdmin: TCheckBox;
btnGeneratePass: TButton;
btnAddUser: TButton;
redtGoles: TRichEdit;
caleAdmin: TCalendar;
btnGole: TButton;
cbxUsers: TComboBox;
MainMenu1: TMainMenu;
Logout1: TMenuItem;
procedure btnGeneratePassClick(Sender: TObject);
procedure edtUsernameDblClick(Sender: TObject);
procedure edtTitalDblClick(Sender: TObject);
procedure edtTitalEnter(Sender: TObject);
procedure edtUsernameEnter(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure btnAddUserClick(Sender: TObject);
procedure cbxUsersEnter(Sender: TObject);
procedure cbxUsersChange(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure caleAdminChange(Sender: TObject);
procedure btnGoleClick(Sender: TObject);
procedure Logout1Click(Sender: TObject);
private
{ Private declarations }
var
Goletext : TextFile;
public
{ Public declarations }
var
sRandomPass, sAdmin, sUserName : string;
iCount, iRandomNum, iRandomChar, iRandomUp, iRandomLow, iDay : Integer;
end;
var
FrmAdminAdd: TFrmAdminAdd;
implementation
{$R *.dfm}
uses Business_u;
procedure TFrmAdminAdd.btnAddUserClick(Sender: TObject);
var
sUser, sPass, sTital : string;
iConfirm : Integer;
begin
iConfirm:=0;
sUser:='';
sPass:='';
sTital:='';
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(edtTital.Text) > 0 then
sTital:=edtTital.Text
else
begin
ShowMessage('Pleas full valad tital');
exit
end;
DataUser.adoUser.Close;
DataUser.adoUser.SQL.Clear;
DataUser.adoUser.SQL.Add('INSERT INTO Login(Username,Tital,pass,Admin) VALUES(:par0,:par1,:par2,:par3)');
DataUser.adoUser.Parameters.ParamByName('par0').Value:=sUser;
DataUser.adoUser.Parameters.ParamByName('par1').Value:=sTital;
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.btnGoleClick(Sender: TObject);
var
i, iconfirm : Integer;
begin
iConfirm:= MessageDlg('Confirm Adding Acount', mtConfirmation, mbYesNo, 7);
if iConfirm = 7 then exit;
if iConfirm = 6 then
begin
AssignFile(Goletext, sUserName+IntToStr(iDay)+'.txt');
Rewrite(Goletext);
for i := 0 to redtGoles.Lines.Count do
begin
Writeln(goletext, redtGoles.Lines[i]);
end;
CloseFile(Goletext);
end;
end;
procedure TFrmAdminAdd.caleAdminChange(Sender: TObject);
var
sLines : string;
begin
redtGoles.Text:='';
iDay:= caleAdmin.Day;
//ShowMessage(sUserName+IntToStr(iDay)+'.txt');
AssignFile(Goletext, sUserName+IntToStr(iDay)+'.txt');
if sUserName > '' then
begin
if FileExists(sUserName+IntToStr(iDay)+'.txt') then
begin
redtGoles.Text:='';
reset(Goletext);
while not Eof(Goletext) do
begin
Readln(Goletext, sLines);
redtGoles.Lines.Add(sLines);
end;
end
else
begin
Rewrite(Goletext);
end;
end
else
exit;
CloseFile(Goletext);
end;
procedure TFrmAdminAdd.cbxUsersChange(Sender: TObject);
var
iUser : Integer;
begin
iUser := cbxUsers.ItemIndex;
sUserName := cbxUsers.Items[iUser];
end;
procedure TFrmAdminAdd.cbxUsersEnter(Sender: TObject);
begin
DataUser.adoUser.Close;
DataUser.adoUser.SQL.Clear;
DataUser.adoUser.SQL.Add('SELECT * FROM Login');
DataUser.adoUser.Open;
DataUser.adoUser.First;
cbxUsers.Items.Clear;
while not DataUser.adoUser.Eof do
begin
cbxUsers.Items.Add(DataUser.adoUser.FieldByName('Username').AsString);
DataUser.adoUser.Next;
end;
end;
procedure TFrmAdminAdd.edtTitalDblClick(Sender: TObject);
begin
edtTital.Text:= '';
end;
procedure TFrmAdminAdd.edtTitalEnter(Sender: TObject);
begin
edtTital.Hint:= 'Dubbel tapp to clear';
edtTital.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;
procedure TFrmAdminAdd.FormCreate(Sender: TObject);
begin
redtGoles.Text:='';
sUserName:='';
end;
procedure TFrmAdminAdd.Logout1Click(Sender: TObject);
begin
edtUsername.Text:= 'Full Name/Username';
edtPassword.ReadOnly:=False;
edtPassword.Text:='Password';
edtPassword.ReadOnly:=True;
edtTital.Text:='Tital';
sRandomPass:='';
sUserName:='';
iDay:=0;
FrmAdminAdd.Hide;
frmBusiness.show;
end;
end.