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

Delphi Sources



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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 12.12.2006, 15:32
vinni vinni вне форума
Начинающий
 
Регистрация: 26.01.2006
Сообщения: 135
Репутация: 10
По умолчанию MaskEdit

Народ, подскажите плиз. Такая проблема.
На форме есть несколько МаскЕдитов. Как сделать так, штобы при заполнении до конца 1 МаскЕдита курсор ставился во 2-й, при заполнении 2-го - в 3-й и т.д. (т.е. тоже самое, как нажать Таб или кликнуть мышой на следуйщий МаскЕдит). Заранее спасибо!
Ответить с цитированием
  #2  
Старый 13.12.2006, 10:09
Аватар для Aristarh Dark
Aristarh Dark Aristarh Dark вне форума
Модератор
 
Регистрация: 07.10.2005
Адрес: Москва
Сообщения: 2,906
Версия Delphi: Delphi XE
Репутация: выкл
По умолчанию

SetFocus спасет гиганта мысли
Ответить с цитированием
  #3  
Старый 13.12.2006, 11:39
vinni vinni вне форума
Начинающий
 
Регистрация: 26.01.2006
Сообщения: 135
Репутация: 10
По умолчанию

да я знаю чо такое SetFocus :-)
мне нужно узнать, есть ли какоенть свойство или метод у маскэдита, которое срабатывает при заполнении его до конца, штобы ПРИ ЕГО СРАБАТЫВАНИИ СДЕЛАТЬ УЖЕ СЭТФОКУС. Вот.
Ответить с цитированием
  #4  
Старый 13.12.2006, 12:45
Аватар для Aristarh Dark
Aristarh Dark Aristarh Dark вне форума
Модератор
 
Регистрация: 07.10.2005
Адрес: Москва
Сообщения: 2,906
Версия Delphi: Delphi XE
Репутация: выкл
По умолчанию

"заполнении до конца" это как понимать??? В эдите используется строка, до конца в таком случае будет порядка 2 гигабайт. Ты уверен, что кто-то будет столько заполнять???

А если ты фиксировал длину, дык тогд и проверяй в KeyUp, например, длину введенного текста, и если она равна требуемой вызывай SetFocus для следующего элемента управления.

ИХМО, до этого не так сложно догадаться, или думать не хотим?
Ответить с цитированием
  #5  
Старый 13.12.2006, 13:10
vinni vinni вне форума
Начинающий
 
Регистрация: 26.01.2006
Сообщения: 135
Репутация: 10
По умолчанию

ясн. просто думал што может есть какое-нть стандартное свойство у маскедита. придецца проверять длину строки. спасибо.
Ответить с цитированием
  #6  
Старый 13.12.2006, 15:32
vinni vinni вне форума
Начинающий
 
Регистрация: 26.01.2006
Сообщения: 135
Репутация: 10
По умолчанию

:-) оказалось не так то все просто...
Ввод в маскедит происходит по маске (у меня - 9999/90/90;1;_, 000\-000\-000\ 00;1;_ и д.р.). И длина строки (length(MaskEdit4.Text)) - постоянна (в 1 случае - 10, во втором - 14). Т.е. на событии KeyUp в независимости от количества введенных символов длина равно 10 и 14 соотвественно. Как быть в этом случае?
Ответить с цитированием
  #7  
Старый 13.12.2006, 18:10
ilang ilang вне форума
Новичок
 
Регистрация: 11.12.2006
Сообщения: 68
Репутация: 10
По умолчанию

В это случае поступи так:

Создать новое приложение
Поместить на форму TMaskEdit
Установить фокус на компоненте TMaskEdit
Нажать Ctrl+F1
В появившемся окне почитать методы класса TMaskEdit

Главное - не лениться. Иногда 90% времени написания программы занимает чтение справки.
Удачи )
Ответить с цитированием
  #8  
Старый 14.12.2006, 06:16
Аватар для Aristarh Dark
Aristarh Dark Aristarh Dark вне форума
Модератор
 
Регистрация: 07.10.2005
Адрес: Москва
Сообщения: 2,906
Версия Delphi: Delphi XE
Репутация: выкл
По умолчанию

Я сроду не пользовался TMaskEdit т.к. считаю что быстрее и проще навешать на обычный TEdit нужные ограничения, да и визуально незаполненное поле ввода (TEdit) смотрится красивее, чем заполненное (TMaskEdit) шаблоном, потому что шрифты в системе крайне редко настроены моноширинные. Глядя на приведенные маски могу сказать, что для того чтобы понять заполнена маска или нет, для обеих достаточно проверять наличие в свойстве TMaskEdit.EditText символа "_" (подчеркивание).
Ответить с цитированием
Ответ


Delphi Sources

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

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

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

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


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


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

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

ВКонтакте   Facebook   Twitter