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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 28.09.2018, 15:29   #1
gdu
Пользователь
 
Аватар для gdu
 
Регистрация: 14.09.2017
Сообщений: 21
По умолчанию Ввод в edit ФИО без сокращений

Народ, всем привет!
Помогите реализовать запрет ввода ФИО в сокращенном виде типа: (Иванов И.А, ИвановИА, Иванов И А и тд), требуется указывать ФИО полностью без сокращений (Иванов Иван Иванович).

Суть такова, пользователь вводит свое ФИО и нажимает на кнопку, для отправки своих данных, но очень часто стали писать ФИО сокращая инициалы, что в свою очередь отнимает время для поиска сотрудника!!!.
Помогите.
С точки зрения банальной эрудиции, каждый здравомыслящий индивидуум способен проигнорировать тенденции парадоксальных эмоций.

Последний раз редактировалось gdu; 28.09.2018 в 15:32.
gdu вне форума Ответить с цитированием
Старый 28.09.2018, 15:52   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

А список пользователей есть? Или это просто всякие со стороны?
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 28.09.2018, 18:02   #3
gdu
Пользователь
 
Аватар для gdu
 
Регистрация: 14.09.2017
Сообщений: 21
По умолчанию Дополнение:

Цитата:
Сообщение от Аватар Посмотреть сообщение
А список пользователей есть? Или это просто всякие со стороны?
Пишут самостоятельно свои данные, от этого и проблема, кто как пишет.
С точки зрения банальной эрудиции, каждый здравомыслящий индивидуум способен проигнорировать тенденции парадоксальных эмоций.

Последний раз редактировалось gdu; 28.09.2018 в 18:04.
gdu вне форума Ответить с цитированием
Старый 28.09.2018, 18:37   #4
niockasd
Пользователь
 
Регистрация: 01.12.2015
Сообщений: 82
По умолчанию

Цитата:
Сообщение от gdu Посмотреть сообщение
Пишут самостоятельно свои данные, от этого и проблема, кто как пишет.

ну как вариант, ФИО в три едита, и проверять на длинну каждый из них, минимум 4 символа например
+ввод точек и пробелов блокировать в каждом из них

Последний раз редактировалось niockasd; 28.09.2018 в 18:46.
niockasd вне форума Ответить с цитированием
Старый 28.09.2018, 19:46   #5
kvitaliy
Участник клуба
 
Регистрация: 17.05.2011
Сообщений: 1,660
По умолчанию

Цитата:
Сообщение от niockasd Посмотреть сообщение
проверять на длинну каждый из них, минимум 4 символа
Ким Чен Ын не пройдёт!
kvitaliy вне форума Ответить с цитированием
Старый 29.09.2018, 11:23   #6
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,536
По умолчанию

И Пак Ия Навуходоносоровна - тоже.
А по серьезу: сделать прогу более интеллектуальной: если введено ИО одной буквой - неважно, с точкой или без - поиск по списку проводить по модифицированным таким же образом строкам из списка. Запретить легко, труднее сделать адаптивно к пользователю.

Последний раз редактировалось digitalis; 29.09.2018 в 11:28.
digitalis вне форума Ответить с цитированием
Старый 01.10.2018, 05:45   #7
лёхус
Пользователь
 
Регистрация: 28.10.2010
Сообщений: 15
По умолчанию

Делай проверку на количество слов в строке + количество символов в каждом слове

Последний раз редактировалось лёхус; 01.10.2018 в 06:26.
лёхус вне форума Ответить с цитированием
Старый 01.10.2018, 08:46   #8
gdu
Пользователь
 
Аватар для gdu
 
Регистрация: 14.09.2017
Сообщений: 21
По умолчанию

Цитата:
Сообщение от niockasd Посмотреть сообщение
ну как вариант, ФИО в три едита, и проверять на длинну каждый из них, минимум 4 символа например
+ввод точек и пробелов блокировать в каждом из них
В три edit-а это очень просто, мне бы в один это все уместить.
Код:
	

if length(edit1.text)=0 then label1.caption:='Введите фио полностью'
С точки зрения банальной эрудиции, каждый здравомыслящий индивидуум способен проигнорировать тенденции парадоксальных эмоций.

Последний раз редактировалось gdu; 01.10.2018 в 08:50.
gdu вне форума Ответить с цитированием
Старый 01.10.2018, 09:34   #9
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

Самый простой вариант выше - 3 слова и длина каждого не менее 2-3 символов. Ленивый умелец все равно введет при этом что-нибудь типа Иванов Ив Ив. Можно конечно иметь перечень распространенных имен-отчеств, по нему ориентироваться и предлагать пользователю при вводе Ив продолжение Иван. Все не охватишь, всякие там Космонавт и Электрификация, или того хуже Медмия или Путина не учтешь )
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 01.10.2018, 09:51   #10
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Цитата:
Сообщение от gdu Посмотреть сообщение
В три edit-а это очень просто, мне бы в один это все уместить.
попробуйте так:
Код:
procedure TForm1.Button1Click(Sender: TObject);
var ts : TStringList;
  isError : boolean;
  s : string;
begin
   s := Trim(Edit1.Text);
   isError := (Trim(s)='');
   if Not isError then begin
     ts := TStringList.create;
     try
     ts.Delimiter := ' ';
     ts.DelimitedText := Trim(s);
     if ts.Count<3 then isError := true
     else
        if ((Length(ts.Strings[1])<3)
         or (Length(ts.Strings[2])<3) ) then isError := true;
     finally
       FreeAndNil(ts)
     end;
   end;
   if isError then
     label1.Caption := 'Ошибка! Введите Фамилию, Имя, Отчество полностью'
   else
     label1.Caption := 'Всё корректно!';
end;
p.s. при желании сюда же легко добавить проверку на наличие точки в строке - если есть в строке точка - то это ошибка.

Последний раз редактировалось Serge_Bliznykov; 01.10.2018 в 09:54.
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


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

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

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
С# Требуется задача которая будет требовать ввод (id ФИО Кол-воТрафика(в месяц)), а на вывод (id ФИО Кол-воТрафика(в срок) LLLEPb Помощь студентам 2 15.12.2016 17:14
Ввод пароля в Edit lu_una Общие вопросы Delphi 1 19.11.2012 14:54
Ввод в Edit roxy7 Компоненты Delphi 2 13.04.2012 11:50