Создание программы авторизации пользователя с помощью пароля

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РЕСПУБЛИКИ КАЗАХСТАН

КАЗАХСКИЙ НАЦИОНАЛЬНЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ им. К.И. САТПАЕВА

ИНСТИТУТ ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ

Кафедра Вычислительной техники

Лабораторная работа №3

Тема: ______________________________

Качество выполнения работы

Диапазон оценки

Получено,

%

1

Выполнение и активность обучающегося

0 – 50%

2

Оформление работы

0 – 20%

3

Умение пользоваться справочниками, технической литературой, учебно-методическим комплексом дисциплины, конспектами лекции

0 – 5%

4

Умение пользоваться техническими средствами

0 – 5%

5

Защита работы

0 – 20%

Итого:

0 – 100%

Проверила:

Мынбаева Л.Н.

Выполнила:

Исаханова Д.Е.

ВПбП-07-1р

Алматы 2009

Задание:

Написать программу входа пользователем в систему через пароль. Язык программы - любой. Разработанная программа должна содержать следующие пункты: вход в систему через ввод и проверку пароля, а также регистрацию пользователя, при этом заносит имя и пароль пользователя в базу данных. При вводе неверного пароля – система блокируется.

Листинг программы:

unit Unit1;

interface

uses

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

Dialogs, StdCtrls, Buttons, jpeg, ExtCtrls;

type

TForm1 = class(TForm)

StaticText1: TStaticText;

StaticText2: TStaticText;

BitBtn1: TBitBtn;

BitBtn2: TBitBtn;

BitBtn3: TBitBtn;

Image1: TImage;

procedure BitBtn3Click(Sender: TObject);

procedure BitBtn1Click(Sender: TObject);

procedure BitBtn2Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

implementation

uses Unit2, Unit3, Unit4;

{$R *.dfm}

procedure TForm1.BitBtn3Click(Sender: TObject);

begin

Close;

end;

procedure TForm1.BitBtn1Click(Sender: TObject);

begin

form2.dbedit1.Clear; form2.dbedit2.Clear;

form2.dbedit3.Clear; form2.dbedit4.Clear;

Form2.Edit1.Clear; Form2.Show;

end;

procedure TForm1.BitBtn2Click(Sender: TObject);

begin

Form3.Show;

end;

end.

unit Unit2;

interface

uses

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

Dialogs, StdCtrls, DB, ADODB, Mask, DBCtrls, jpeg, ExtCtrls, Grids,

DBGrids, Buttons;

type

TForm2 = class(TForm)

DBEdit1: TDBEdit;

DBEdit2: TDBEdit;

StaticText1: TStaticText;

StaticText2: TStaticText;

DBEdit3: TDBEdit;

StaticText3: TStaticText;

StaticText4: TStaticText;

Edit1: TEdit;

Button1: TButton;

DBEdit4: TDBEdit;

StaticText5: TStaticText;

Button2: TButton;

Image1: TImage;

Button3: TButton;

Label1: TLabel;

Button4: TButton;

procedure Button1Click(Sender: TObject);

procedure BitBtn1Click(Sender: TObject);

procedure Button3Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

procedure Button4Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form2: TForm2;

implementation

uses Unit1, Unit3, Unit4;

{$R *.dfm}

procedure TForm2.Button1Click(Sender: TObject);

begin

Edit1.Text:=Inttostr(random(1000+2000));

end;

procedure TForm2.BitBtn1Click(Sender: TObject);

begin

if DataModule4.AdoTable1.Modified then

DataModule4.AdoTable1.Post;

Close;

end;

procedure TForm2.Button3Click(Sender: TObject);

begin

DataModule4.adoTable1.Insert;

end;

procedure TForm2.Button2Click(Sender: TObject);

begin

Close;

end;

procedure TForm2.Button4Click(Sender: TObject);

begin

Dbedit3.Text:=Edit1.Text;

end;

end.

unit Unit3;

interface

uses

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

Dialogs, StdCtrls, Mask, DBCtrls, jpeg, ExtCtrls, ShellApi;

type

TForm3 = class(TForm)

Button1: TButton;

Edit1: TEdit;

Edit2: TEdit;

Button2: TButton;

Image1: TImage;

StaticText1: TStaticText;

StaticText2: TStaticText;

StaticText3: TStaticText;

procedure Button1Click(Sender: TObject);

procedure FormShow(Sender: TObject);

procedure Button2Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form3: TForm3;

m: integer;

implementation

uses Unit1, Unit2, Unit4;

{$R *.dfm}

procedure TForm3.Button1Click(Sender: TObject);

begin

if (datamodule4.AdoTable1.FieldValues['Пароль']= Edit2.Text) and

(datamodule4.AdoTable1.FieldValues['Имя']= Edit1.Text)

then

begin

Application.MessageBox('Вход в систему выполнен. Вы верно ввели данные');

ShellExecute(Handle, 'open','c:\windows\notepad.exe', nil, nil, SW_SHOWNORMAL);

end

else

begin

Application.MessageBox('Вход в не выполнен. Вы не верно ввели данные');

Form3.Edit2.Clear;

m:=m+1;

end;

if (m=3) then

begin

Application.MessageBox(‘Вы 3 раза ввели неверный пароль. Вход в систему будет заблокирован');

Close;

Form1.BitBtn2.Visible:=false;

end;

end;

procedure TForm3.FormShow(Sender: TObject);

begin

m:=0;

end;

procedure TForm3.Button2Click(Sender: TObject);

begin

Close;

end;

end.

Реализация:

Программа написана на Delphi.

Выберите действие:

Пользователь вводит данные о себе, выбирает пароль, и щелкает по кнопке Registration.

Затем на форме 1 выбирает действие Войти в систему.

Вводит свое имя и пароль.

И открывается приложение, в нашем случае – Блокнот.

База данных:

При неверном вводе пароля 3 раза:

Кнопка для входа в систему исчезает.