Создание программы авторизации пользователя с помощью пароля
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РЕСПУБЛИКИ КАЗАХСТАН
КАЗАХСКИЙ НАЦИОНАЛЬНЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ им. К.И. САТПАЕВА
ИНСТИТУТ ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ
Кафедра Вычислительной техники
Лабораторная работа №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 раза:
Кнопка для входа в систему исчезает.