Advertisement
Guest User

Untitled

a guest
Mar 28th, 2017
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pascal 3.38 KB | None | 0 0
  1. unit UnitNewUser;
  2.  
  3. interface
  4.  
  5. uses
  6.   Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants,
  7.   System.Classes, Vcl.Graphics,
  8.   Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Vcl.ExtCtrls;
  9.  
  10. type
  11.   TFormNewUser = class(TForm)
  12.     lbledtNew_Username: TLabeledEdit;
  13.     lbledtNew_Password: TLabeledEdit;
  14.     btnNew_User: TButton;
  15.     procedure btnNew_UserClick(Sender: TObject);
  16.     procedure lbledtNew_UsernameClick(Sender: TObject);
  17.     procedure lbledtNew_PasswordClick(Sender: TObject);
  18.  
  19.   private
  20.     { Private declarations }
  21.   public
  22.     { Public declarations }
  23.     UserFile, SaveFile: TextFile;
  24.     Textstring, TStr: String;
  25.   end;
  26.  
  27. var
  28.   FormNewUser: TFormNewUser;
  29.  
  30. implementation
  31.  
  32. {$R *.dfm}
  33.  
  34. procedure TFormNewUser.btnNew_UserClick(Sender: TObject);
  35. var
  36.   ended, closing, used: boolean;
  37.   usrnm, pswrd: string;
  38.   studentno: integer;
  39.  
  40. begin
  41.   usrnm := lbledtNew_Username.Text; // read in username entered in box
  42.   pswrd := lbledtNew_Password.Text; // read in password entered in box
  43.   ended := false;
  44.   closing := false;
  45.   used := false;
  46.   Try
  47.     StrToInt(usrnm);
  48.   except
  49.     On E: EConvertError do
  50.     begin
  51.       Showmessage('Your Username must be your Student Number!');
  52.       ended := true;
  53.       closing := true;
  54.     end;
  55.  
  56.   End;
  57.  
  58.   studentno := StrToInt(usrnm);
  59.   if (studentno < 130000) or (studentno >= 170000) then
  60.   // Addressing the input of a new username to just a student number by limiting it to a 6 digit number between 130000 and 170000
  61.   begin
  62.     Showmessage('Please enter a valid student number!"');
  63.     ended := true;
  64.     closing := true;
  65.   end;
  66.   if (Length(pswrd) < 6) or (Length(pswrd) > 14) then
  67.   begin
  68.     ended := true;
  69.     closing := true;
  70.     Showmessage('Please enter a Password between 6 and 14 characters!')
  71.   end;
  72.  
  73.   AssignFile(UserFile, 'Usernames.txt');
  74.   // open usernames folder (usernames file has passwords in it)
  75.  
  76.   Reset(UserFile);
  77.  
  78.   while (* not EOF(UserFile) or ( *) ended = false do
  79.   Begin
  80.     Readln(UserFile, Textstring); // checking for duplicate usernames
  81.  
  82.     If (Textstring = usrnm) then
  83.     begin
  84.       ended := true;
  85.       closing := true;
  86.       used := true;
  87.       Showmessage('Username is taken'); // display error message
  88.     end
  89.     else
  90.  
  91.       Readln(UserFile, Textstring); // read in username and store it in file
  92.     if EOF(UserFile) then
  93.     begin
  94.       ended := true; // tell program it is at the end of the file
  95.     end;
  96.  
  97.   End;
  98.   CloseFile(UserFile);
  99.  
  100.   if (used = false) and (closing = false) then
  101.   // if username has not been used before
  102.   begin
  103.     AssignFile(UserFile, 'Usernames.txt'); // create usernames folder
  104.     Append(UserFile);
  105.     AssignFile(SaveFile, 'UserData.txt'); // create usernames folder
  106.     Append(SaveFile);
  107.     Writeln(UserFile, usrnm); // write username entered to file
  108.     Writeln(SaveFile, usrnm);
  109.     Writeln(UserFile, pswrd); // write password entered to file
  110.     CloseFile(UserFile);
  111.     CloseFile(SaveFile);
  112.     Showmessage('Successfully registered!');
  113.     lbledtNew_Username.Text := ''; // clear new username and password box
  114.     lbledtNew_Password.Text := '';
  115.     close;
  116.   end
  117.  
  118. end;
  119.  
  120. procedure TFormNewUser.lbledtNew_PasswordClick(Sender: TObject);
  121. begin
  122.   lbledtNew_Password.SelectAll;
  123. end;
  124.  
  125. procedure TFormNewUser.lbledtNew_UsernameClick(Sender: TObject);
  126. begin
  127.   lbledtNew_Username.SelectAll;
  128. end;
  129.  
  130. end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement