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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 21.10.2015, 19:16   #1
LittleMonkey
Пользователь
 
Регистрация: 24.09.2014
Сообщений: 16
По умолчанию Ограничение на количество букв в слове

Доброго времени суток!

Нужно создать несколько ограничений при вводе почты, а именно, имя пользователя (до @) должно быть в диапазоне 5-7 букв или цифр, можно "_".

Помогите, пожалуйста, реализовать код! Буду очень благодарна за помощь!
LittleMonkey вне форума Ответить с цитированием
Старый 21.10.2015, 22:25   #2
FaTaL
Участник клуба
 
Аватар для FaTaL
 
Регистрация: 09.11.2007
Сообщений: 1,762
По умолчанию

Ну так прикаждом нажатии клавиши проверяй на соответствие твоему условию. В чём именно проблема?
FaTaL вне форума Ответить с цитированием
Старый 23.10.2015, 13:01   #3
NIKOLAYY2
Форумчанин
 
Регистрация: 23.12.2014
Сообщений: 220
По умолчанию

Цитата:
Сообщение от LittleMonkey Посмотреть сообщение
а именно, имя пользователя (до @) должно быть в диапазоне 5-7 букв или цифр, можно "_".
Ну сделай так: Кроме цифр, англ букв, подчеркивания и знака собачки в Edit- поле ни чего не введеш.
При чем собачка должна обязательно быть последней.
Хотя в моем варианте и ряд собачек можно прописать, но этот код можно без особого труда доработать.

Код:
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
  if not (Key in [#8, '_', '@', '0'..'9', 'a'..'z']) then
    Key := #0;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  if (Edit1.Text[Length(Edit1.Text)] <> '@') or
  (Length(Edit1.Text) < 5) or
    (Length(Edit1.Text) > 7) then
  begin
    ShowMessage('Ошибка ввода, повторите ввод');
    Edit1.Text := '';
    Edit1.SetFocus;
    Exit;
  end
  else
  begin
    ShowMessage('Продолжаем');
    //следущий код...
  end
end;
NIKOLAYY2 вне форума Ответить с цитированием
Старый 23.10.2015, 13:32   #4
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
По умолчанию

чож так сложно-то всё?
Код:
{ функция валидации. вернёт true,
  если:
    а) длина логина от 5 до 7 символов И
    б) состоит из латинских букв, цифр и символа "_" И
    в) начинается не с цифры;
  иначе вернёт false.

  d_mendeleev_1869@chemical.net <-- логин - всё, что до "@" }

const
  lmin = 5;
  lmax = 7;
  letters = ['A'..'Z', 'a'..'z', '_'];
  digits = ['0'..'9'];
  validsymbols = letters + digits;

function ValidateLogin(const s: string): Boolean;
var
  idx, len: Integer;
begin
  Result:= false;
  len:= Length(s);

  if not (len in [lmin..lmax]) or not CharInSet(s[1], letters)
    then exit;

  for idx:= 2 to len do
    if not CharInSet(s[idx], validsymbols)
      then exit;

  Result:= true;
end;
ВНИМАНИЕ!
УВАГА!!
АХТУНГ!!!
АТТЕНШН!!!!

Shit-code detected!
Код не отлаживал. Писал на заборе!
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Подсчитать количество букв 'а' в последнем слове строчки. Kirillgr Помощь студентам 20 18.10.2014 10:30
Комбинации букв в слове Palto Помощь студентам 4 24.04.2014 18:24
Определить количество букв в каждом слове (Паскаль) afdotya Паскаль, Turbo Pascal, PascalABC.NET 0 16.10.2013 19:26
Работа со строками. Подсчитать количество четных/нечетных букв в слове. snusmumr Помощь студентам 4 04.06.2011 18:52
Подсчитать количество букв "А" в предложении и общее количество букв.В тексте из файла несколько строк. kvas91 Общие вопросы C/C++ 3 14.11.2010 16:51