unit Unit6;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Mask, sCheckBox, sButton, sMaskEdit, sEdit, sLabel,
  sSkinManager;

type
  TAddUser = class(TForm)
    sLabel1: TsLabel;
    sLabel2: TsLabel;
    sLabel3: TsLabel;
    sLabel4: TsLabel;
    sLabel5: TsLabel;
    sLabel6: TsLabel;
    Edit1: TsEdit;
    Edit2: TsEdit;
    Edit4: TsEdit;
    MaskEdit1: TsMaskEdit;
    MaskEdit2: TsMaskEdit;
    MaskEdit3: TsMaskEdit;
    Button1: TsButton;
    Button2: TsButton;
    CheckBox1: TsCheckBox;
    Edit3: TsEdit;
    sLabel7: TsLabel;
    sSkinManager1: TsSkinManager;
    Memo1: TMemo;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

 TUser=record  // запись файла
    Name: string[20];
    Parol:string[20];
    FIO: string[50];
    Spec: string[20];
    Kurs: Byte;
    Admin: string[3];
 end;

var
  AddUser: TAddUser;
  Fail: file of TUser; // файл записей - база данных
  TmpFail: file of TUser; // файл пользователя
  UserList: array [0..50] of TUser;
implementation

uses Unit1, Unit4, Unit3;

{$R *.dfm}

procedure TAddUser.Button1Click(Sender: TObject);
var Otvet : word; // ответ пользователя
    NewUser: TUser;
    Str: String;
    i:integer;
    FIOs: string[50];
    Speci: string[20];
    Kurss: string;
begin
If MaskEdit1.Text=MaskEdit2.Text Then
  Begin
     Otvet:=MessageDlg('Вы уверены, что хотите зарегистрироваться? ',mtInformation,[mbYes,mbNo],0);
     AssignFile(Fail, 'C:\Учебник\Data\Users.db');
     {$I-}
     Reset(Fail);  // открыть файл
     {$I+}
     If IOResult <> 0 Then
       Begin
        ShowMessage('Ошибка открытия файла БД.');
        Exit;
       end;
//////////////////////////
begin
 if edit1.text<>''

 then begin
       FIOs:=Edit1.Text+' '+Edit3.Text;
//       Kurss:=MaskEdit3.text;
  //     Speci:=Edit2.Text;
       Memo1.Text:=FIOs;
       Memo1.Lines.SaveToFile('C:\Учебник\Users.log');
        end
  else begin ShowMessage('Пароль введен не верно');
         //edit1.Clear;Edit3.Clear;
       end;
 end;

//////////////////////////
begin
For i:=0 to 50 do
If (UserList[i].Name=Edit1.Text) and (Edit1.Text<>'') then
    begin
       AssignFile(TmpFail, 'C:\Учебник\Data\User.tmp');
        {$I-}
        Rewrite(TmpFail);  // открыть файл
        {$I+}
          If IOResult <> 0 Then
            Begin
              ShowMessage('Ошибка создания файла.');
              Exit;
            end;
        Write(TmpFail, UserList[i]);
        CloseFile( TmpFail );  // закрыть файл
       Break;
end;
end;

//////////////////////////////////////////
     If Otvet = mrYes then
      Begin
       Seek( Fail, FileSize(Fail)); // указатель записи в конец файла
       NewUser.Name:=Edit4.Text;
       NewUser.FIO:=Edit3.Text+' '+Edit1.Text;
       NewUser.Spec:=Edit2.Text;
       NewUser.Kurs:=StrToInt(MaskEdit3.Text);
       NewUser.Parol:=MaskEdit1.Text;
       If CheckBox1.Checked Then NewUser.Admin:='Yes' else NewUser.Admin:='No';
       Write(Fail, NewUser); // записать содержимое полей записи в файл
      end;
     Str:= NewUser.Name+ ', ' + NewUser.Parol+ ': ' + NewUser.FIO+ ', ' + NewUser.Spec+ ', ' + NewUser.Admin;
     Form3.Show;
//     AddUser.Visible:=False;
          CloseFile( Fail );  // закрыть файл
          Close;

  end
    else ShowMessage(' Пороли не совпадают! ');
end;

procedure TAddUser.Button2Click(Sender: TObject);
begin
  Close;
end;

procedure TAddUser.FormCreate(Sender: TObject);
begin
Edit4.Text:='';
Edit1.Text:='';
Edit2.Text:='';
MaskEdit1.Text:='';
MaskEdit2.Text:='';
MaskEdit3.Text:='';
CheckBox1.Checked:=False;
end;

end.
