Вопрос № 105946: Здравствуйте, я тут не могу реализовать один момент на делфи (в приложении), надо чтобы пользователь ввел в Combobox ник, отве чающий условиям этим.
Заранее спасибо кто поможет...
Вопрос № 105.946
Здравствуйте, я тут не могу реализовать один момент на делфи (в приложении), надо чтобы пользователь ввел в Combobox ник, отве чающий условиям этим.
Заранее спасибо кто поможет
Отвечает: Виктор Пырлик
Здравствуйте, Исаак Моисеевич!
Используйте событие OnKeyPress компонента ComboBox для запрета/контроля вводимых символов
procedure TForm1.ComboBox1KeyPress(Sender: TObject; var Key: Char); begin if not(Key in [#27,#8]) then //можно редактировать begin if Length(ComboBox1.Text)>16 then Key := #0 //если длина больше 16 уходим else if(ComboBox1.SelStart=0)then //если первый симол if (Key in ['.','-','_'])then Key := #0;//запрешаем эти знаки end; end;
или
проверку полного введенного имени по событию OnExit procedure TForm1.ComboBox1Exit(Sender: TObject); var s:String; begin s := ComboBox1.Text; if(Length(s)>16) then // если длина больше 16 begin MessageBox(GetActiveWindow,'Введено длинное имя','Ошибка имени',MB_OK+MB_ICONWARNING); ComboBox1.SetFocus; end else if( s[1] in ['.','-','_']) then // тут не допустимые символы begin
ComboBox1.SelStart := 0; ComboBox1.SelLength := 1; MessageBox(GetActiveWindow,'Введено неверное имя','Ошибка имени',MB_OK+MB_ICONWARNING); ComboBox1.SetFocus; end; end;
--------- Если ничего не помогло - надо читать инструкцию
Ответ отправил: Виктор Пырлик (статус: Практикант)
Ответ отправлен: 18.10.2007, 18:19 Оценка за ответ: 5 Комментарий оценки: Я сделал с первым вариантом - там кода меньше, следовательно памяти меньше занимать будет программа.
Отвечает: Degtyarev Anton
Здравствуйте, Исаак Моисеевич!
Можете попробовать вот эту функцию, в её параметры нужно пуказать ваш КомбоБокс
Не забудте её объявить
Приложение:
--------- Сколько волка не корми, а слон всё равно толще
Ответ отправил: Degtyarev Anton (статус: 1-ый класс)
Ответ отправлен: 19.10.2007, 10:38 Оценка за ответ: 5
Отправить вопрос экспертам этой рассылки
Приложение (если необходимо):
* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.
Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!
Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.
Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.