Скачиваний:
8
Добавлен:
26.05.2018
Размер:
4 Кб
Скачать
unit Password;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Vcl.Mask, Vcl.Buttons,
  Data.DB, Data.Win.ADODB;

type
  TFPassword = class(TForm)
    LPassword: TLabel;
    MEPassword: TMaskEdit;
    BBPassword: TBitBtn;
    BBCancelPassword: TBitBtn;
    BBChargePassword: TBitBtn;
    MEPassword1: TMaskEdit;
    MEPassword2: TMaskEdit;
    LNew1: TLabel;
    LNew2: TLabel;
    BBNewPassword: TBitBtn;
    procedure BBChargePasswordClick(Sender: TObject);
    procedure BBNewPasswordClick(Sender: TObject);
    procedure BBPasswordClick(Sender: TObject);
    procedure FormActivate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  FPassword: TFPassword;

implementation

{$R *.dfm}

uses Main, Variable, Data;

procedure TFPassword.BBNewPasswordClick(Sender: TObject);
var
  // переменная для хранения пароля
  Password : String;
  S : String;
begin
  with FMain do
  begin
    with DM do
    begin
      with ADOQPassword do
      begin
        Active := False;
        with SQL do
        begin
          Clear;
          Add('SELECT * FROM Code');
        end;
        Active := True;
        Password := FieldByName('Parol').AsString;
        if MEPassword.Text = Password then
        begin
          if MEPassword1.Text = MEPassword2.Text then
          begin
            Active := False;
            with SQL do
            begin
              Clear;
              S := 'UPDATE Code SET Parol = '''+MEPassword1.Text+'''';
              Add(S);
            end;
            ExecSQL;
            ShowMessage('Пароль успешно изменён!');
            MEPassword.Text := '';
          end
          else
            ShowMessage('Новый пароль в двух полях не совпадает!');
        end
        else
          ShowMessage('Не правильно введён старый пароль!');
      end;
    end;
  end;
  FPassword.Height := 120;
  BBPassword.Visible := True;
  BBNewPassword.Visible := False;
  LPassword.Caption := 'Введите код доступа';
  LNew1.Visible := False;
  LNew2.Visible := False;
  MEPassword1.Visible := False;
  MEPassword2.Visible := False;
end;


procedure TFPassword.BBPasswordClick(Sender: TObject);
var
  PasswordDB,
  PasswordV,S : String;
  I : Integer;
begin
  PasswordV := MEPassword.Text;
{  For i:=1 to length(PasswordV) do
    PasswordV[i]:=chr(ord(PasswordV[i]) XOR ord('9'));
  S := PasswordV;}
  with FMain do
  begin
    with DM do
    begin
      with ADOQPassword do
      begin
        Active := False;
        with SQL do
        begin
          Clear;
          Add('SELECT * FROM Code');
        end;
        Active := True;
        PasswordDB := FieldByName('Parol').AsString;
        For i:=1 to length(PasswordDB) do
          PasswordDB[i]:=chr(ord(PasswordDB[i]));
        S := PasswordDB;
        if PasswordV <> PasswordDB then
        begin
          ShowMessage('Не правильно введён пароль!');
          Exit;
        end
        else
          Pass := True;
      end;
    end;
  end;
end;

procedure TFPassword.FormActivate(Sender: TObject);
begin
  // "сбросить" отображение пароля
  MEPassword.Text := '';
  // передать управление строке ввода пароля
  MEPassword.SetFocus;
end;

procedure TFPassword.BBChargePasswordClick(Sender: TObject);
begin
  FPassword.Height := 200;
  BBPassword.Visible := False;
  BBNewPassword.Visible := True;
  LPassword.Caption := 'Введите старый пароль';
  LNew1.Visible := True;
  LNew2.Visible := True;
  MEPassword1.Visible := True;
  MEPassword2.Visible := True;
end;

end.
Соседние файлы в папке Курсовая ( Тест Томоса и узнавание фигур )
  • #
    26.05.201835 Кб7Main.dcu
  • #
    26.05.2018216 Кб7Main.dfm
  • #
    26.05.201832 Кб8Main.pas
  • #
    26.05.201810 Кб7Password.dcu
  • #
    26.05.20185 Кб7Password.dfm
  • #
    26.05.20184 Кб8Password.pas
  • #
    26.05.2018430 б7Tests.dpr
  • #
    26.05.201828 Кб7Tests.dproj
  • #
    26.05.20182 Кб7Tests.dproj.local
  • #
    26.05.2018503 б7Tests.identcache
  • #
    26.05.201889 Кб7Tests.res