Advertisement
Guest User

Untitled

a guest
Mar 23rd, 2017
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pascal 4.52 KB | None | 0 0
  1. unit SignUp;
  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.   TfrmSignUp = class(TForm)
  12.     edtUsername: TEdit;
  13.     edtPassword: TEdit;
  14.     edtReEnter: TEdit;
  15.     signup: TButton;
  16.     btnCancel: TButton;
  17.     btnShowpwd: TButton;
  18.     Label1: TLabel;
  19.     Label2: TLabel;
  20.     Label3: TLabel;
  21.     PasswordConfirm: TLabel;
  22.     UserType: TRadioGroup;
  23.     procedure btnCancelClick(Sender: TObject);
  24.     procedure signupClick(Sender: TObject);
  25.     procedure edtReEnterChange(Sender: TObject);
  26.     procedure edtPasswordChange(Sender: TObject);
  27.     procedure btnShowpwdClick(Sender: TObject);
  28.     procedure FormClose(Sender: TObject; var Action: TCloseAction);
  29.  
  30.   private
  31.     { Private declarations }
  32.   public
  33.     { Public declarations }
  34.   end;
  35.  
  36. var
  37.   frmSignUp: TfrmSignUp;
  38.  
  39. implementation
  40.  
  41. uses  Login;
  42.  
  43. type
  44.   Tuser = record
  45.     Username    : string[20];
  46.     Password    : string[20];
  47.     UserType    : integer;
  48.  
  49.   end;
  50.  
  51. var
  52.   userfile: file of Tuser;
  53.   user: Tuser;
  54.  
  55. {$R *.dfm}
  56.  
  57. procedure CheckPasswords;
  58. var I :integer;
  59.   begin
  60.   if frmsignup.edtPassword.Text = frmsignup.edtReEnter.Text then
  61.     begin
  62.       frmsignup.PasswordConfirm.font.Color := clGreen;
  63.       frmsignup.PasswordConfirm.Caption := 'Passwords Match';
  64.     end
  65.     else
  66.     begin
  67.       frmsignup.PasswordConfirm.font.Color := clRed;
  68.       frmsignup.PasswordConfirm.Caption := 'Passwords Do Not Match';
  69.     end;
  70.   end;
  71.  
  72. function CheckFields : boolean;
  73. begin
  74.     checkfields := false;
  75.     if (frmsignup.edtusername.text <> '') and
  76.         (frmsignup.edtPassword.Text <> '') and
  77.           (frmsignup.edtReEnter.Text <> '') and
  78.             (frmsignup.edtpassword.text = frmsignup.edtReEnter.text) and
  79.               ((frmsignup.UserType.ItemIndex = 0) or
  80.                 (frmsignup.UserType.ItemIndex = 1)) = true then
  81.     checkfields := true;
  82. end;
  83.  
  84. procedure ClearFields;
  85. //resets all the fields when forms change
  86. begin
  87.   frmsignup.edtpassword.Text := '';
  88.   frmsignup.edtreenter.Text := '';
  89.   frmsignup.edtusername.Text := '';
  90. end;
  91.  
  92. Procedure ShowPasswords;
  93. begin
  94.   if frmsignup.btnShowpwd.Caption = 'Show Password' then
  95.   begin
  96.     frmsignup.edtPassword.PasswordChar := #0;
  97.     frmsignup.edtReEnter.PasswordChar := #0;
  98.     frmsignup.btnShowpwd.Caption := 'Hide Password';
  99.   end
  100.   else
  101.   begin
  102.     frmsignup.edtPassword.PasswordChar := '*';
  103.     frmsignup.edtReEnter.PasswordChar := '*';
  104.     frmsignup.btnShowpwd.Caption := 'Show Password';
  105.   end;
  106. end;
  107.  
  108.  
  109. procedure TfrmSignUp.btnCancelClick(Sender: TObject);
  110. begin
  111.   edtPassword.Text := '';
  112.   edtUsername.Text := '';
  113.   UserType.ItemIndex := -1;
  114. end;
  115.  
  116. procedure TfrmSignUp.SignUpClick(Sender: TObject);
  117. var
  118.   UsernameTaken: Boolean;
  119. begin
  120.   if checkfields then
  121.     begin
  122.       usernameTaken := false;
  123.       assignfile(userfile, 'users.dat');
  124.       reset(userfile); // use file check
  125.         while not eof(userfile) do
  126.               begin
  127.                 read(userfile,user);
  128.                   if user.Username = edtusername.Text then //check if taken username
  129.                       usernameTaken := true;
  130.                 end;
  131.                   if usernameTaken = false then
  132.                     begin
  133.                       user.UserType := UserType.ItemIndex;
  134.                       user.Username := edtusername.Text;
  135.                       user.Password  := edtpassword.Text;
  136.                       write(userfile,user); //signup
  137.                       closefile(userfile);
  138.                       Messagedlg('Sign Up Complete',mtconfirmation,[mbOk],0);
  139.                       clearfields;
  140.                       frmlogin.Show;
  141.                       frmsignup.Hide;
  142.                     end;
  143.           end
  144.      else if  not checkfields then
  145.       begin
  146.         messagedlg('You need to complete all fields before continuing',mtconfirmation,[mbok],0);
  147.       end;
  148.      if usernameTaken then
  149.       begin
  150.         showmessage('You cannot use this username as it is already taken');
  151.         edtusername.Clear;
  152.       end;
  153.  
  154.     end;
  155.  
  156.  
  157. procedure TfrmSignUp.btnShowpwdClick(Sender: TObject);
  158. begin
  159.   ShowPasswords;
  160. end;
  161.  
  162.  
  163. procedure TfrmSignUp.edtPasswordChange(Sender: TObject);
  164. begin
  165.   CheckPasswords;
  166. end;
  167.  
  168. procedure TfrmSignUp.edtReEnterChange(Sender: TObject);
  169. begin
  170.   CheckPasswords;
  171. end;
  172.  
  173.  
  174. procedure TfrmSignUp.FormClose(Sender: TObject; var Action: TCloseAction);
  175. begin
  176. frmlogin.Show;
  177. frmsignup.Hide;
  178. end;
  179.  
  180. end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement