Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
097715 / ОО проектирование приложений с использованием UML (ПЗ).doc
Скачиваний:
57
Добавлен:
12.06.2015
Размер:
19.01 Mб
Скачать

Модуль регистрации пользователя как директора

unit Ad_reg;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, Buttons;

type

TRegistr = class(TForm)

Edit1: TEdit;

Label1: TLabel;

SpeedButton1: TSpeedButton;

SpeedButton2: TSpeedButton;

procedure SpeedButton2Click(Sender: TObject);

procedure SpeedButton1Click(Sender: TObject);

procedure Edit1KeyPress(Sender: TObject; var Key: Char);

procedure FormCreate(Sender: TObject);

procedure FormActivate(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Registr: TRegistr;

passw, in_pass:string;

function deshif(filename, pas: string):string; external 'shifr.dll';

implementation

uses Main;

{$R *.dfm}

//Завершение программы при отказе ввода

procedure TRegistr.SpeedButton2Click(Sender: TObject);

begin

Application.Terminate;

end;

//Проверка пароля

procedure TRegistr.SpeedButton1Click(Sender: TObject);

begin

if FileExists('password.psw') then

begin

passw:=deshif('password.psw','23031985');

if in_pass=passw then

begin

Registr.Visible:=false;

MainForm.Timer1.Enabled:=true;

MainForm.ShowModal;

end;

end

else MessageDlg('Файл с паролями не найден!',mtError,[mbok],0);

end;

//Отображение "*" вместо символов пароля

procedure TRegistr.Edit1KeyPress(Sender: TObject; var Key: Char);

begin

if key=#13 then

SpeedButton1Click(registr)

else

if key<>#8 then

begin

in_pass:=in_pass+key;

key:='*';

end

else delete(in_pass,length(in_pass),1);

end;

//Создание формы

procedure TRegistr.FormCreate(Sender: TObject);

begin

in_pass:='';

end;

//Скрытие основной формы

procedure TRegistr.FormActivate(Sender: TObject);

begin

MainForm.Visible:=false;

end;

end.

Модуль смены пароля администратора

unit Ad_change_pass;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, ExtCtrls, Buttons;

type

TChangePass = class(TForm)

LabeledEdit1: TLabeledEdit;

LabeledEdit2: TLabeledEdit;

LabeledEdit3: TLabeledEdit;

SpeedButton1: TSpeedButton;

SpeedButton2: TSpeedButton;

procedure SpeedButton2Click(Sender: TObject);

procedure SpeedButton1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

procedure shif(filename, pas, input: string); external 'shifr.dll';

function deshif(filename, pas: string):string; external 'shifr.dll';

var

ChangePass: TChangePass;

pass, new_pass: string;

implementation

{$R *.dfm}

//Закрытие формы

procedure TChangePass.SpeedButton2Click(Sender: TObject);

begin

ChangePass.Close;

end;

//Смена пароля

procedure TChangePass.SpeedButton1Click(Sender: TObject);

begin

pass:=deshif('password.psw','23031985');

if LabeledEdit1.Text<>'' then

if LabeledEdit1.Text=pass then

if (pass<>LabeledEdit2.Text) then

if (LabeledEdit2.Text=LabeledEdit3.Text)and(LabeledEdit2.Text<>'') then

begin

new_pass:=LabeledEdit2.Text;

shif('password.psw','23031985',new_pass);

MessageDlg('Пароль успешно изменен!',mtInformation,[mbok],0);

ChangePass.Close;

end

else MessageDlg('Новые пароли не совпадают, либо не заданы!',mtInformation,[mbok],0)

else MessageDlg('Новый пароль совпадает со старым!',mtInformation,[mbok],0)

else MessageDlg('Не верный пароль!',mtInformation,[mbok],0);

end;

end.