Advertisement
Guest User

2

a guest
Jun 3rd, 2018
149
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.69 KB | None | 0 0
  1. unit Unit_Registration;
  2.  
  3. interface
  4.  
  5. uses
  6. Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Buttons;
  7.  
  8. type
  9. TRegistration = class(TForm)
  10. edit_login: TEdit;
  11. edit_password: TEdit;
  12. SpeedButton_back: TSpeedButton;
  13. SpeedButton_reg: TSpeedButton;
  14. SpeedButton_exit: TSpeedButton;
  15. procedure button_backClick(Sender: TObject);
  16. procedure button_registrationClick(Sender: TObject);
  17. procedure FormCreate(Sender: TObject);
  18. procedure button_exitClick(Sender: TObject);
  19. procedure SpeedButton_backClick(Sender: TObject);
  20. procedure SpeedButton_regClick(Sender: TObject);
  21. procedure SpeedButton_exitClick(Sender: TObject);
  22. private
  23. { Private declarations }
  24. public
  25. { Public declarations }
  26. end;
  27.  
  28. var
  29. Registration: TRegistration;
  30. LoginUser, PassUser: string;
  31.  
  32. implementation
  33.  
  34. uses
  35. Authorization;
  36.  
  37. {$R *.dfm}
  38.  
  39. procedure TRegistration.button_backClick(Sender: TObject);
  40. begin
  41. Registration.Close;
  42. Form1.show;
  43. end;
  44.  
  45. procedure TRegistration.button_registrationClick(Sender: TObject);
  46. var
  47. SaveTxt: TStringList;
  48. s: string;
  49. flag1, flag2, flag3: Boolean;
  50. i, iter: Integer;
  51. begin
  52. SaveTxt := TStringList.Create;
  53. SaveTxt.LoadFromFile('RegEdit.txt');
  54.  
  55. if (edit_password.Text <> '') and (edit_login.Text <> '') then
  56. begin
  57. LoginUser := Trim(edit_login.Text);
  58. PassUser := Trim(edit_password.Text);
  59. flag2 := true;
  60. flag1 := true;
  61. for i := 1 to Length(LoginUser) do
  62. begin
  63. if (LoginUser[i] in ['0'..'9']) or (LoginUser[i] in ['A'..'Z']) or (LoginUser[i] in ['a'..'z']) or (LoginUser[i] = '_') and (flag1 = True) then
  64. begin
  65. flag1 := True;
  66. end
  67. else
  68. begin
  69. flag1 := false;
  70. ShowMessage('Введите нормально логин');
  71. Break;
  72. end;
  73. end;
  74. for i := 1 to Length(PassUser) do
  75. begin
  76. if (PassUser[i] in ['0'..'9']) or (PassUser[i] in ['A'..'Z']) or (PassUser[i] in ['a'..'z']) and (flag2 = True) and (flag1 = True) then
  77. begin
  78. flag2 := true;
  79. end
  80. else
  81. begin
  82. flag2 := False;
  83. ShowMessage('Введите нормально пароль');
  84. Break;
  85. end;
  86. end;
  87. flag3 := True;
  88. iter := 0;
  89. while (iter <= SaveTxt.Count - 1) and (flag1) and (flag2) do
  90. begin
  91. i := Pos(' ', SaveTxt[iter]);
  92. s := Copy(SaveTxt[iter], 1, i - 1);
  93. if s = LoginUser then
  94. begin
  95. ShowMessage('такой логин уже существует');
  96. flag3 := False;
  97. end;
  98. Inc(iter);
  99. end;
  100. end;
  101.  
  102. if (flag1) and (flag2) and (flag3) then
  103. begin
  104. ForceDirectories('C:\Documents and Settings\Name\Рабочий стол\Курсовая работа\Users list\' + LoginUser);
  105. ForceDirectories('C:\Documents and Settings\Name\Рабочий стол\Курсовая работа\Users redactor\' + LoginUser);
  106. SaveTxt.Add(LoginUser + ' ' + PassUser);
  107. SaveTxt.SaveToFile('RegEdit.txt');
  108. end;
  109. end;
  110.  
  111. procedure TRegistration.FormCreate(Sender: TObject);
  112. begin
  113. edit_login.Text := 'логин';
  114. edit_password.Text := 'пароль';
  115. end;
  116.  
  117. procedure TRegistration.button_exitClick(Sender: TObject);
  118. begin
  119. Application.Terminate;
  120. end;
  121.  
  122. procedure TRegistration.SpeedButton_backClick(Sender: TObject);
  123. begin
  124. Registration.Close;
  125. Form1.show;
  126. end;
  127.  
  128. procedure TRegistration.SpeedButton_regClick(Sender: TObject);
  129. var
  130. SaveTxt: TStringList;
  131. s: string;
  132. flag1, flag2, flag3: Boolean;
  133. i, iter: Integer;
  134. begin
  135. SaveTxt := TStringList.Create;
  136. SaveTxt.LoadFromFile('RegEdit.txt');
  137.  
  138. if (edit_password.Text <> '') and (edit_login.Text <> '') then
  139. begin
  140. LoginUser := Trim(edit_login.Text);
  141. PassUser := Trim(edit_password.Text);
  142. flag2 := true;
  143. flag1 := true;
  144. for i := 1 to Length(LoginUser) do
  145. begin
  146. if (LoginUser[i] in ['0'..'9']) or (LoginUser[i] in ['A'..'Z']) or (LoginUser[i] in ['a'..'z']) or (LoginUser[i] = '_') and (flag1 = True) then
  147. begin
  148. flag1 := True;
  149. end
  150. else
  151. begin
  152. flag1 := false;
  153. ShowMessage('Введите нормально логин');
  154. Break;
  155. end;
  156. end;
  157. for i := 1 to Length(PassUser) do
  158. begin
  159. if (PassUser[i] in ['0'..'9']) or (PassUser[i] in ['A'..'Z']) or (PassUser[i] in ['a'..'z']) and (flag2 = True) and (flag1 = True) then
  160. begin
  161. flag2 := true;
  162. end
  163. else
  164. begin
  165. flag2 := False;
  166. ShowMessage('Введите нормально пароль');
  167. Break;
  168. end;
  169. end;
  170. flag3 := True;
  171. iter := 0;
  172. while (iter <= SaveTxt.Count - 1) and (flag1) and (flag2) do
  173. begin
  174. i := Pos(' ', SaveTxt[iter]);
  175. s := Copy(SaveTxt[iter], 1, i - 1);
  176. if s = LoginUser then
  177. begin
  178. ShowMessage('Пользователь с таким логином уже существует');
  179. flag3 := False;
  180. end;
  181. Inc(iter);
  182. end;
  183. end;
  184.  
  185. if (flag1) and (flag2) and (flag3) then
  186. begin
  187. ForceDirectories('C:\Documents and Settings\Name\Рабочий стол\Курсовая работа\Users list\' + LoginUser);
  188. ForceDirectories('C:\Documents and Settings\Name\Рабочий стол\Курсовая работа\Users redactor\' + LoginUser);
  189. SaveTxt.Add(LoginUser + ' ' + PassUser);
  190. SaveTxt.SaveToFile('RegEdit.txt');
  191. edit_login.Text := '';
  192. edit_password.Text := '';
  193. ShowMessage('Регистрация прошла успешно');
  194. end;
  195. end;
  196.  
  197. procedure TRegistration.SpeedButton_exitClick(Sender: TObject);
  198. begin
  199. Application.Terminate;
  200. end;
  201. end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement