Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 02.03.2010, 13:16
Аватар для segas
segas segas вне форума
Новичок
 
Регистрация: 08.02.2009
Сообщения: 97
Репутация: 10
Лампочка Аутентификация

подскажите пожалуйста как организовать проверку на введенный пароль чтобы он содержал буквы(латиницу), цифры, и символы одновременно также длина пароля должна быть не мение 6 символов. Если хотябы 1но из условий не выполняется то выдать соответственное сообщение
Ответить с цитированием
  #2  
Старый 02.03.2010, 14:14
Asinkrit Asinkrit вне форума
Местный
 
Регистрация: 29.10.2009
Сообщения: 446
Репутация: 271
По умолчанию

Вот простейший вариант.
Код:
function _ValidateChars(const Value:String):Boolean;
var
  b:byte;
begin
  Result:=false;
  for b:=1 to Length(Value) do
    if Value[b] in [#65..#122] then
      begin
      Result:=true;
      exit;
      end;
end;

function _ValidateNums(const Value:String):Boolean;
var
  b:byte;
begin
  Result:=false;
  for b:=1 to Length(Value) do
    if Value[b] in [#48..#57] then
      begin
      Result:=true;
      exit;
      end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  with Edit1 do
    if Length(Text) > 5 then
      begin
      if _ValidateChars(Text) then
        begin
        if _ValidateNums(Text) then
          begin
          //Код на выполнение
          end
            else ShowMessage('В тексте отсутствуют цифры');
        end
          else ShowMessage('В тексте отсутствуют латинские буквы');
      end
          else ShowMessage('Длина текста менее 6-ти символов');
end;
Ответить с цитированием
  #3  
Старый 02.03.2010, 14:39
Аватар для Ultras
Ultras Ultras вне форума
Начинающий
 
Регистрация: 09.02.2010
Адрес: Россия / Ставрополь
Сообщения: 138
Репутация: 475
По умолчанию

советую делать через регулярные выражение (поищи в инете RegExp)
__________________
Психических заболеваний НЕТ . Просто ДУРАК
Пусть лучше над тобой смеются, чем плачут...
Ответить с цитированием
  #4  
Старый 02.03.2010, 20:11
Аватар для segas
segas segas вне форума
Новичок
 
Регистрация: 08.02.2009
Сообщения: 97
Репутация: 10
Восклицание

а можно какнибудь попроще?
Ответить с цитированием
  #5  
Старый 02.03.2010, 20:39
Asinkrit Asinkrit вне форума
Местный
 
Регистрация: 29.10.2009
Сообщения: 446
Репутация: 271
По умолчанию

Куда уж проще) Можешь почитать про регулярные выражения, по совету Ultras, но не думаю что это будет проще..
Ответить с цитированием
  #6  
Старый 02.03.2010, 21:24
Аватар для segas
segas segas вне форума
Новичок
 
Регистрация: 08.02.2009
Сообщения: 97
Репутация: 10
Восклицание

Впринципе все хорошо работает за исключением проверки на использование спец символов (!@#., и т.д)
Ответить с цитированием
  #7  
Старый 02.03.2010, 22:38
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,029
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Ну так добавь. у тебя же пример теперь есть.
Ответить с цитированием
  #8  
Старый 03.03.2010, 22:16
Аватар для segas
segas segas вне форума
Новичок
 
Регистрация: 08.02.2009
Сообщения: 97
Репутация: 10
Восклицание

Цитата:
Сообщение от lmikle
Ну так добавь. у тебя же пример теперь есть.
я просто не знаю в каком диапозоне для них массив заводить
Ответить с цитированием
  #9  
Старый 04.03.2010, 00:53
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,029
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

можно просто перечисление.
Код:
if s[i] In ['!','@','#'] then ...
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 07:38.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter