Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- unit Unit_Registration;
- interface
- uses
- Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Buttons;
- type
- TRegistration = class(TForm)
- edit_login: TEdit;
- edit_password: TEdit;
- SpeedButton_back: TSpeedButton;
- SpeedButton_reg: TSpeedButton;
- SpeedButton_exit: TSpeedButton;
- procedure button_backClick(Sender: TObject);
- procedure button_registrationClick(Sender: TObject);
- procedure FormCreate(Sender: TObject);
- procedure button_exitClick(Sender: TObject);
- procedure SpeedButton_backClick(Sender: TObject);
- procedure SpeedButton_regClick(Sender: TObject);
- procedure SpeedButton_exitClick(Sender: TObject);
- private
- { Private declarations }
- public
- { Public declarations }
- end;
- var
- Registration: TRegistration;
- LoginUser, PassUser: string;
- implementation
- uses
- Authorization;
- {$R *.dfm}
- procedure TRegistration.button_backClick(Sender: TObject);
- begin
- Registration.Close;
- Form1.show;
- end;
- procedure TRegistration.button_registrationClick(Sender: TObject);
- var
- SaveTxt: TStringList;
- s: string;
- flag1, flag2, flag3: Boolean;
- i, iter: Integer;
- begin
- SaveTxt := TStringList.Create;
- SaveTxt.LoadFromFile('RegEdit.txt');
- if (edit_password.Text <> '') and (edit_login.Text <> '') then
- begin
- LoginUser := Trim(edit_login.Text);
- PassUser := Trim(edit_password.Text);
- flag2 := true;
- flag1 := true;
- for i := 1 to Length(LoginUser) do
- begin
- 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
- begin
- flag1 := True;
- end
- else
- begin
- flag1 := false;
- ShowMessage('Введите нормально логин');
- Break;
- end;
- end;
- for i := 1 to Length(PassUser) do
- begin
- 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
- begin
- flag2 := true;
- end
- else
- begin
- flag2 := False;
- ShowMessage('Введите нормально пароль');
- Break;
- end;
- end;
- flag3 := True;
- iter := 0;
- while (iter <= SaveTxt.Count - 1) and (flag1) and (flag2) do
- begin
- i := Pos(' ', SaveTxt[iter]);
- s := Copy(SaveTxt[iter], 1, i - 1);
- if s = LoginUser then
- begin
- ShowMessage('такой логин уже существует');
- flag3 := False;
- end;
- Inc(iter);
- end;
- end;
- if (flag1) and (flag2) and (flag3) then
- begin
- ForceDirectories('C:\Documents and Settings\Name\Рабочий стол\Курсовая работа\Users list\' + LoginUser);
- ForceDirectories('C:\Documents and Settings\Name\Рабочий стол\Курсовая работа\Users redactor\' + LoginUser);
- SaveTxt.Add(LoginUser + ' ' + PassUser);
- SaveTxt.SaveToFile('RegEdit.txt');
- end;
- end;
- procedure TRegistration.FormCreate(Sender: TObject);
- begin
- edit_login.Text := 'логин';
- edit_password.Text := 'пароль';
- end;
- procedure TRegistration.button_exitClick(Sender: TObject);
- begin
- Application.Terminate;
- end;
- procedure TRegistration.SpeedButton_backClick(Sender: TObject);
- begin
- Registration.Close;
- Form1.show;
- end;
- procedure TRegistration.SpeedButton_regClick(Sender: TObject);
- var
- SaveTxt: TStringList;
- s: string;
- flag1, flag2, flag3: Boolean;
- i, iter: Integer;
- begin
- SaveTxt := TStringList.Create;
- SaveTxt.LoadFromFile('RegEdit.txt');
- if (edit_password.Text <> '') and (edit_login.Text <> '') then
- begin
- LoginUser := Trim(edit_login.Text);
- PassUser := Trim(edit_password.Text);
- flag2 := true;
- flag1 := true;
- for i := 1 to Length(LoginUser) do
- begin
- 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
- begin
- flag1 := True;
- end
- else
- begin
- flag1 := false;
- ShowMessage('Введите нормально логин');
- Break;
- end;
- end;
- for i := 1 to Length(PassUser) do
- begin
- 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
- begin
- flag2 := true;
- end
- else
- begin
- flag2 := False;
- ShowMessage('Введите нормально пароль');
- Break;
- end;
- end;
- flag3 := True;
- iter := 0;
- while (iter <= SaveTxt.Count - 1) and (flag1) and (flag2) do
- begin
- i := Pos(' ', SaveTxt[iter]);
- s := Copy(SaveTxt[iter], 1, i - 1);
- if s = LoginUser then
- begin
- ShowMessage('Пользователь с таким логином уже существует');
- flag3 := False;
- end;
- Inc(iter);
- end;
- end;
- if (flag1) and (flag2) and (flag3) then
- begin
- ForceDirectories('C:\Documents and Settings\Name\Рабочий стол\Курсовая работа\Users list\' + LoginUser);
- ForceDirectories('C:\Documents and Settings\Name\Рабочий стол\Курсовая работа\Users redactor\' + LoginUser);
- SaveTxt.Add(LoginUser + ' ' + PassUser);
- SaveTxt.SaveToFile('RegEdit.txt');
- edit_login.Text := '';
- edit_password.Text := '';
- ShowMessage('Регистрация прошла успешно');
- end;
- end;
- procedure TRegistration.SpeedButton_exitClick(Sender: TObject);
- begin
- Application.Terminate;
- end;
- end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement