Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- unit UnitLogin;
- interface
- uses
- Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
- Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Vcl.ExtCtrls, Main, UnitNewUser;
- type
- TfrmLogin = class(TForm)
- btnLogin: TButton; // btn prefix = button
- lbledtUsername: TLabeledEdit; // lbledt = label that data can be inputted into while program is running
- lbledtPassword: TLabeledEdit;
- btnAdd_New_User: TButton;
- lblLoginSuccessful: TLabel; // lbl prefix = label containing data
- btnContinue: TButton;
- lblMessage: TLabel;
- btnLogout: TButton;
- procedure btnLoginClick(Sender: TObject);
- procedure FormCreate(Sender: TObject);
- procedure btnAdd_New_UserClick(Sender: TObject);
- procedure btnContinueClick(Sender: TObject);
- procedure btnLogoutClick(Sender: TObject);
- private
- { Private declarations }
- public
- { Public declarations }
- Username,Password : string;
- Userfile : textfile;
- TextString : string;
- end;
- var
- frmLogin: TfrmLogin;
- implementation
- {$R *.dfm}
- procedure TfrmLogin.FormCreate(Sender: TObject);
- begin
- lblMessage.show;
- lbledtUsername.show;
- lbledtPassword.show;
- btnAdd_New_user.show;
- btnLogin.show;
- lblLoginSuccessful.hide;
- btnContinue.hide;
- btnlogout.hide;
- end;
- procedure TfrmLogin.btnAdd_New_UserClick(Sender: TObject);
- begin
- FormNewUser.Show; //show new user form
- end;
- procedure TfrmLogin.btnContinueClick(Sender: TObject);
- begin
- FormMainMenu.Show; //show quiz menu
- end;
- procedure TfrmLogin.btnLoginClick(Sender: TObject);
- Var closing,found, Endendof,incpass : boolean;
- begin
- Closing := false;
- Found := false;
- endendof := false;
- incPass:= false;
- Username := lbledtUsername.Text;
- Password := lbledtPassword.Text;
- AssignFile(Userfile, 'Usernames.txt') ; //open and read Usernames file
- Reset(Userfile);
- while (Closing = false) do
- begin
- readln(Userfile,textstring); //read file line by line
- if (textstring = Username) then //compare username stored in file to value entered in the username box
- begin
- readln(Userfile,textstring);
- if (textstring = password) then //compare password under that username stored in file to value entered in the password box
- begin
- lbledtUsername.Hide; //Hide Username Box
- lbledtPassword.Hide; //Hide Password Box
- lblMessage.Hide;
- btnLogOut.Show;
- btnAdd_New_user.Hide; //Hide the Button to add new user
- btnLogin.Hide; //Hide Button the check login details
- btnContinue.Show;
- lblLoginSuccessful.Show;
- closing := true;
- found := true;
- end
- else
- begin
- closing := true;
- Showmessage('Incorrect Password'); //Displaying error message
- incPass:=true;
- end;
- end;
- end;
- if (Found = false) then
- begin
- closing := true;
- if (incpass=false) then
- begin
- Showmessage('Incorrect Username');
- end;
- Found := true;
- end;
- closefile(UserFile);
- end;
- procedure TfrmLogin.btnLogoutClick(Sender: TObject); //returns to orignal login layout
- begin
- lbledtUsername.Show;
- lbledtPassword.show;
- btnAdd_New_user.show;
- btnLogin.show;
- lblLoginSuccessful.hide;
- btnContinue.Hide;
- btnlogout.Hide;
- lblMessage.Show;
- lbledtUsername.Text:='';
- lbledtPassword.Text:='';
- end;
- end.
- NEW USER Module
- unit UnitNewUser;
- interface
- uses
- Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
- Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Vcl.ExtCtrls;
- type
- TFormNewUser = class(TForm)
- lbledtNew_Username: TLabeledEdit;
- lbledtNew_Password: TLabeledEdit;
- btnNew_User: TButton;
- procedure btnNew_UserClick(Sender: TObject);
- private
- { Private declarations }
- public
- { Public declarations }
- UserFile : TextFile ;
- Textstring: String;
- end;
- var
- FormNewUser: TFormNewUser;
- implementation
- {$R *.dfm}
- procedure TFormNewUser.btnNew_UserClick(Sender: TObject);
- var ended, used: boolean;
- usrnm, pswrd: string;
- begin
- usrnm:= lbledtNew_Username.Text; //read in username entered in box
- pswrd:= lbledtNew_Password.Text; //read in password entered in box
- ended:=false;
- Used:=False;
- AssignFile(UserFile, 'Usernames.txt'); //open usernames folder (usernames file has passwords in it)
- {$I-}
- Reset(UserFile);
- {$i+}
- while (* not EOF(UserFile) or ( *) ended=false do
- Begin
- Readln(UserFile, TextString); //checking for duplicate usernames
- If (Textstring = Usrnm) then
- begin
- ended:=true;
- Used:=True;
- Showmessage('Username is taken'); //display error message
- end
- else
- Readln(UserFile, TextString); //read in username and store it in file
- if EOF(UserFile) then
- begin
- ended := True; //tell program it is at the end of the file
- end;
- End;
- CloseFile(UserFile);
- if (Used=false) then //if username has not been used before
- begin
- AssignFile (UserFile, 'Usernames.txt'); //create usernames folder
- Append(UserFile);
- Writeln(UserFile, UsrNm); //write username entered to file
- Writeln(UserFile, Pswrd); //write password entered to file
- CloseFile(UserFile);
- Showmessage('Succesfully registered!');
- close;
- end
- else //if no usernames and passwords have already been asigned
- begin
- lbledtNew_Username.Text := 'Username'; //create default username and password
- lbledtNew_Password.PasswordChar := #0 ;
- lbledtNew_Password.Text := 'Password';
- CloseFile(UserFile);
- end
- end;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement