Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.04.2020, 10:28   #1
dmitriy68
Новичок
Джуниор
 
Регистрация: 04.12.2009
Сообщений: 2
По умолчанию Логин и Пароль

Доброго дня!
Пишу программу на Delphi 10.2.
В моей программе необходимо реализовать ввод Пароля и Логина на Form1 при нажатии по кнопке Button.
Исходный код имеет вид.

var
Form1: TForm1;
k:integer=3;

implementation

{$R *.dfm}
uses unit2;


procedure TForm1.Button1Click(Sender: TObject);
var
a,b:string ;
begin
a:='admin';
b:='123';
if (edit1.Text<> a) or (edit2.Text<> b) then

begin
k:=k-1;
showmessage ('Неверно введен логин или пароль'+#13#10+'осталось попыток '+inttostr(k));
if k=0 then
SpeedButton1.Visible:=True;
end
else if (edit1.Text= a) and (edit2.Text= b) then
begin
showmessage ('Добро пожаловать: Администратор');
Form2.Show;
Form1.Hide;
end;
end;

Мой собственно вопрос.
Но дело в том, что нажатии по кнопке ввода пароля с не правильным Логином и Паролем несколько раз по Button появляется showmesage по счетчику, что Неверно введен логин или пароль-1, при следующем -2 и так далее.
Как можно сделать так что бы сообщение появлялось толь один раз и после этого форма закрывалась.
dmitriy68 вне форума Ответить с цитированием
Старый 25.04.2020, 13:49   #2
knight
Дон Кихот
Форумчанин
 
Аватар для knight
 
Регистрация: 17.01.2008
Сообщений: 130
По умолчанию

Вместо if k=0 then SpeedButton1.Visible:=True;
поставить Form1.Hide;
Если не нужно предупреждение, то вообще вместо всего первого условия Form1.Hide;
knight вне форума Ответить с цитированием
Старый 27.04.2020, 03:18   #3
Алексей_2012
t45t
Участник клуба
 
Аватар для Алексей_2012
 
Регистрация: 20.03.2012
Сообщений: 1,849
По умолчанию

Вот так пойдет? При успешном вводе пароля форма спрячется и откроется форма2.
P.s. не забудьте закрыть форму 1 программно при закрытии формы 2, иначе будет висеть в процессах.
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
a,b:string ;
begin
a:='admin';
b:='123';
if (edit1.Text<> a) or (edit2.Text<> b) then

begin
If k=0 then begin
SpeedButton1.Visible:=True;
Showmessage ('попытки были исчерпаны! ПО Будет закрыто...');
Application. Terminate; //exit чтоб просто ничего не происходило...
End;
Dec(k);
showmessage ('Неверно введен логин или пароль'+#13#10+'осталось попыток '+inttostr(k));
exit;
end;

showmessage ('Добро пожаловать: Администратор');
Form2.Show;
Form1.Hide;
end;
from dark to light)

Последний раз редактировалось Алексей_2012; 27.04.2020 в 03:28.
Алексей_2012 вне форума Ответить с цитированием
Старый 28.04.2020, 18:51   #4
dmitriy68
Новичок
Джуниор
 
Регистрация: 04.12.2009
Сообщений: 2
По умолчанию

Вопрос к Алексей_2012.
Действительно программа висит в процессах. И это неудобно. Я бы сказал не профессионально.
Проблема в строке Form1.Hide;
В Диспетчере задач в Процессах остается запущенное приложение.
Но как это лучше сделать? Как это грамотно реализовать?
Form1.Close; - закрывается сразу все приложение
dmitriy68 вне форума Ответить с цитированием
Старый 29.04.2020, 09:22   #5
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,527
По умолчанию

Цитата:
не забудьте закрыть форму 1 программно при закрытии формы 2
...
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Логин и пароль Cryptic22 Помощь студентам 2 04.12.2017 10:06
логин и пароль CD_SVEN БД в Delphi 1 21.05.2014 04:17
Пароль Логин Mystery_Planet C# (си шарп) 2 08.05.2011 14:35
логин и пароль All517 Работа с сетью в Delphi 3 15.01.2009 15:46