if (length(edit1.Text)>4)and(edit1.Text=edit2.Text) then
begin
Reg:=TRegIniFile.Create;
Reg.RootKey:=HKEY_CURRENT_USER;
Reg.OpenKey('.pwd', true);
Reg.WriteString('pwd', edit1.Text);
Reg.CloseKey;
f1.Show;
Продолжение приложения Б
f4.Visible:=false;
end
else
begin
if length(edit1.Text)>4 then
messageBox(0,'Пароль слишком короткий','Ошибка',0)
else messageBox(0,'Введены разные пароли','Ошибка',0)
end;
end;
procedure TForm4.CheckBox1Click(Sender: TObject);
begin
if checkbox1.Checked then
begin
edit1.PasswordChar:=#0;
edit2.PasswordChar:=#0;
end
else
begin
edit1.PasswordChar:='*';
edit2.PasswordChar:='*';
end;
end;
procedure TForm4.FormCreate(Sender: TObject);
begin
edit1.PasswordChar:='*';
edit2.PasswordChar:='*';
end;
procedure TForm4.Button2Click(Sender: TObject);
begin
close;
end;
end.
unit Unit5;
Продолжение приложения Б
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Registry;
type
TForm5 = class(TForm)
Edit1: TEdit;
Button1: TButton;
Label1: TLabel;
CheckBox1: TCheckBox;
Button2: TButton;
RadioButton1: TRadioButton;
RadioButton2: TRadioButton;
Label2: TLabel;
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure CheckBox1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure RadioButton2Click(Sender: TObject);
procedure RadioButton1Click(Sender: TObject);
end;
var
F5: TForm5;
user:Boolean;
kol:integer;
implementation
uses Unit1, Unit4;
{$R *.dfm}
procedure TForm5.Button1Click(Sender: TObject);
var
Reg:TRegistry;
begin
user:=false;
if (not(RadioButton1.Checked))and(not(RadioButton2.Checked)) then
Продолжение приложения Б
messageBox(0,'Выбери пользователя','Ошибка',0) else
if RadioButton1.Checked then
begin
user:=true;
f1.Show;
end;
if RadioButton2.Checked then
if edit1.Text='' then
begin
messageBox(0,'Пароль не введен','Ошибка',0);
edit1.SetFocus;
end
else
begin
Reg:=TRegIniFile.Create;
Reg.RootKey:=HKEY_CURRENT_USER;
Reg.OpenKey('.pwd', false);
if (reg.ReadString('pwd')<>edit1.Text)and(kol<=3) then
begin
messageBox(0,'Забыли пароль?','Ошибка',0);
edit1.Clear;
Edit1.SetFocus;
kol:=kol+1;
end
else
f1.Show;
if kol>=4 then
begin
messageBox(0,'Множественный ввод неправильного пароля'+#13+'Программа будет закрыта','Ошибка',0);
Reg.CloseKey;
f5.Close;
end;
end;
end;
Продолжение приложения Б
procedure TForm5.FormCreate(Sender: TObject);
var Reg:TRegistry;
begin
kol:=0;
f5.Height:=145;
edit1.PasswordChar:='*';
Reg:=TRegIniFile.Create;
Reg.RootKey:=HKEY_CURRENT_USER;
if Reg.OpenKey('.pwd', false)=false then
begin
showmessage('Задайте пароль');
Application.CreateForm(TForm4, F4);
f4.show;
Reg.CloseKey;
end;
end;
procedure TForm5.CheckBox1Click(Sender: TObject);
begin
if checkbox1.Checked then
edit1.PasswordChar:=#0
else
edit1.PasswordChar:='*';
end;
procedure TForm5.Button2Click(Sender: TObject);
begin
close;
end;
procedure TForm5.RadioButton2Click(Sender: TObject);
begin
edit1.Visible:=true;
label1.Visible:=true;
CheckBox1.Visible:=true;
f5.Height:=195;
Label1.Top:=72;
Продолжение приложения Б
edit1.Top:=88;
CheckBox1.Top:=110;
Button1.Top:=128;
Button2.Top:=160;
end;
procedure TForm5.RadioButton1Click(Sender: TObject);
begin
edit1.Visible:=false;
label1.Visible:=false;
CheckBox1.Visible:=false;
f5.Height:=145;
Button1.Top:=80;
Button2.Top:=112;
RadioButton1.Enabled:=false;
RadioButton2.Enabled:=false;
end;
end.