Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 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);
- procedure lbledtNew_UsernameClick(Sender: TObject);
- procedure lbledtNew_PasswordClick(Sender: TObject);
- private
- { Private declarations }
- public
- { Public declarations }
- UserFile, SaveFile: TextFile;
- Textstring, TStr: String;
- end;
- var
- FormNewUser: TFormNewUser;
- implementation
- {$R *.dfm}
- procedure TFormNewUser.btnNew_UserClick(Sender: TObject);
- var
- ended, closing, used: boolean;
- usrnm, pswrd: string;
- studentno: integer;
- begin
- usrnm := lbledtNew_Username.Text; // read in username entered in box
- pswrd := lbledtNew_Password.Text; // read in password entered in box
- ended := false;
- closing := false;
- used := false;
- Try
- StrToInt(usrnm);
- except
- On E: EConvertError do
- begin
- Showmessage('Your Username must be your Student Number!');
- ended := true;
- closing := true;
- end;
- End;
- studentno := StrToInt(usrnm);
- if (studentno < 130000) or (studentno >= 170000) then
- // Addressing the input of a new username to just a student number by limiting it to a 6 digit number between 130000 and 170000
- begin
- Showmessage('Please enter a valid student number!"');
- ended := true;
- closing := true;
- end;
- if (Length(pswrd) < 6) or (Length(pswrd) > 14) then
- begin
- ended := true;
- closing := true;
- Showmessage('Please enter a Password between 6 and 14 characters!')
- end;
- AssignFile(UserFile, 'Usernames.txt');
- // open usernames folder (usernames file has passwords in it)
- Reset(UserFile);
- while (* not EOF(UserFile) or ( *) ended = false do
- Begin
- Readln(UserFile, Textstring); // checking for duplicate usernames
- If (Textstring = usrnm) then
- begin
- ended := true;
- closing := 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) and (closing = false) then
- // if username has not been used before
- begin
- AssignFile(UserFile, 'Usernames.txt'); // create usernames folder
- Append(UserFile);
- AssignFile(SaveFile, 'UserData.txt'); // create usernames folder
- Append(SaveFile);
- Writeln(UserFile, usrnm); // write username entered to file
- Writeln(SaveFile, usrnm);
- Writeln(UserFile, pswrd); // write password entered to file
- CloseFile(UserFile);
- CloseFile(SaveFile);
- Showmessage('Successfully registered!');
- lbledtNew_Username.Text := ''; // clear new username and password box
- lbledtNew_Password.Text := '';
- close;
- end
- end;
- procedure TFormNewUser.lbledtNew_PasswordClick(Sender: TObject);
- begin
- lbledtNew_Password.SelectAll;
- end;
- procedure TFormNewUser.lbledtNew_UsernameClick(Sender: TObject);
- begin
- lbledtNew_Username.SelectAll;
- end;
- end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement