Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/15: Рейтинг темы: голосов - 15, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 24.06.2013
Сообщений: 6
1

Как сделать проверку корректности пароля?

24.06.2013, 21:22. Показов 2925. Ответов 6
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здраствуйте !

Простите за глупый вопрос, но у меня вот такая задача. Хотел сделать код чтобы проверял пароль.

Суть в чем, пишу 1 раз неправильный пароль, пишер Try Again. Но когда после этого пишу правильный все работает,только текст Try Again Остается. Что сделать чтобы текст сменился на Well Done ! ?

Сделал if в repeat не помогло

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
procedure TForm1.Button1Click(Sender: TObject);
 
begin
  repeat
    begin
 if edit1.Text ='Password'
 then
  begin
   label1.Caption:=('All ok');
   edit2.Visible:=true;
   edit1.Clear;
 end;
 if edit1.text <>('Password') then begin
   label1.caption:=('Try again');
   edit1.clear;
 end;
end;
 
until edit1.text <> ('Password');
 
end;
 
end.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.06.2013, 21:22
Ответы с готовыми решениями:

Опрос. Как лучше делать проверку корректности ввода?
Суть вопроса в том, что на каком этапе лучше проводить проверку корректности ввода данных. Ну...

Как сделать проверку корректности ввода логина?
Скрипт должен проверять минимум символов(6) и чтобы логин не начинался с цифры?

Как сделать проверку пароля на совпадения?
есть такая валидация формы, подскажите пожалуйста как добавить проверку пароля на совпадения. ...

Как сделать проверку введеного пароля?
Как сделать так чтобы при вводе пароль запоминался, а после этого при запросе ввести введенный...

6
134 / 133 / 22
Регистрация: 29.08.2012
Сообщений: 353
24.06.2013, 21:25 2
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
procedure TForm1.Button1Click(Sender: TObject);
 
begin
  repeat
 if edit1.Text ='Password'
 then
  begin
   label1.Caption:=('All ok');
   edit2.Visible:=true;
   edit1.Clear;
  end else
  begin
   label1.caption:=('Try again');
   edit1.clear;
  end;
 
until edit1.text <> ('Password');
 
end;
 
end.
так проверьте, у вас после первого условия стирает содержимое эдита и сразу соответствует второму условию...
1
Всегда онлайн
1084 / 788 / 295
Регистрация: 07.04.2013
Сообщений: 2,703
24.06.2013, 21:31 3
Вот сделал код попроще, но может у вас задача сделать проверку с циклом.
Delphi
1
2
3
4
procedure TForm1.Button1Click(Sender: TObject);
begin
if Edit1.Caption = 'Password' then showmessage('All ok') //Или label1.caption:='all ok' else showmessage('Try again!');
end;
1
0 / 0 / 0
Регистрация: 24.06.2013
Сообщений: 6
25.06.2013, 08:51  [ТС] 4
Спасибо за ответы. Но разобрался уже , написал continue в 1 условии

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
procedure TForm1.Button1Click(Sender: TObject);
 
begin
  repeat
    begin
 if edit1.Text ='Password'
 then
  begin
   label1.Caption:=('All ok');
   edit2.Visible:=true;
   edit1.Clear;
   continue;
 end;
 if edit1.text <>('Password') then begin
   label1.caption:=('Try again');
   edit1.clear;
 end;
end;
 
until edit1.text <> ('Password');
 
end;
 
end.
Но есть другой вопрос. Есть ли команда чтобы условие не проверяло верхний/нижний регистр символов ? Или я должен создать еще 1 условие ?
0
134 / 133 / 22
Регистрация: 29.08.2012
Сообщений: 353
25.06.2013, 10:18 5
так проще, щас проверил, цикл на кнопке будет бесконечным, если правильно выставить условие и он не имеет смысла, т.к. на время выполнения цикла вы блокируете работу с остальной программой, тоесть значение условия цикла не меняется в процессе работы(тоесть меняется но только очистка поля ввода, после первой очистки цикл должен зависать), так как я полагаю на выходе из условия должно стоять "до тех пор пока edit1.text не равно 'password'"
Delphi
1
2
3
4
5
6
7
8
9
10
procedure TForm1.Button1Click(Sender: TObject);
begin
if edit1.text = 'Password' then
  begin
    label1.Caption:=('All ok');
    edit2.Visible:=true;
  end
  else label1.caption:=('Try again');
edit1.clear;
end;
с циклом в кнопке можно такой вариант применить, на мой взгляд он даже посимпотичнее :

Delphi
1
2
3
4
5
6
7
8
9
10
procedure TForm1.Button1Click(Sender: TObject);
var s:string;
begin
repeat
if not(InputQuery('Pass','Enter pass',s)) then exit
else
if ansilowercase(s)<>'привет' then showmessage('wrong');
until ansilowercase(s)='привет';//ansiLowerCase делает все строчные символы строки прописными
Edit1.Visible:=true;
end;
1
0 / 0 / 0
Регистрация: 24.06.2013
Сообщений: 6
25.06.2013, 17:41  [ТС] 6
Цитата Сообщение от Ev1l Посмотреть сообщение
так проще, щас проверил, цикл на кнопке будет бесконечным, если правильно выставить условие и он не имеет смысла, т.к. на время выполнения цикла вы блокируете работу с остальной программой, тоесть значение условия цикла не меняется в процессе работы(тоесть меняется но только очистка поля ввода, после первой очистки цикл должен зависать), так как я полагаю на выходе из условия должно стоять "до тех пор пока edit1.text не равно 'password'"
Delphi
1
2
3
4
5
6
7
8
9
10
procedure TForm1.Button1Click(Sender: TObject);
begin
if edit1.text = 'Password' then
  begin
    label1.Caption:=('All ok');
    edit2.Visible:=true;
  end
  else label1.caption:=('Try again');
edit1.clear;
end;
с циклом в кнопке можно такой вариант применить, на мой взгляд он даже посимпотичнее :

Delphi
1
2
3
4
5
6
7
8
9
10
procedure TForm1.Button1Click(Sender: TObject);
var s:string;
begin
repeat
if not(InputQuery('Pass','Enter pass',s)) then exit
else
if ansilowercase(s)<>'привет' then showmessage('wrong');
until ansilowercase(s)='привет';//ansiLowerCase делает все строчные символы строки прописными
Edit1.Visible:=true;
end;
Спасибо большое ! Я просто новичок, я даже inputquery незнал . Вопросик что за 's' в коде ? ( (s) ,s ))
0
134 / 133 / 22
Регистрация: 29.08.2012
Сообщений: 353
25.06.2013, 17:56 7
строка в которую помещается текст введеный в inputquery
0
25.06.2013, 17:56
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.06.2013, 17:56
Помогаю со студенческими работами здесь

Как сделать проверку логина и пароля?
Есть код на C#, для сравнения вводимого Имени, Фамилии и Пароля. Но при сравнении даже при введении...

Как сделать регистрацию и проверку логина/пароля
На Form1 есть две кнопки &quot;регистрация&quot; и &quot;войти&quot;, textBox для паролей и comboBox, в котором...

Как сделать через js проверку логина и пароля
Есть html файл, на нем форма авторизации. Как забиндить кнопку так чтобы Допустим в логине пишу...

Как сделать проверку наличия логина и пароля в базе?
Есть таблица forum_users. В ней поля: id, login, pass. В них пишутся данные из формы регистрации....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru