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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 13.08.2010, 13:40   #1
Shouldercannon
Участник клуба Подтвердите свой е-майл
 
Аватар для Shouldercannon
 
Регистрация: 26.01.2008
Сообщений: 1,897
По умолчанию Ограничение текста до 5 символов

Есть Edit1 с MaxLength := 5. Когда вводишь текст в Edit1 с клавиатуры, то ограничение работает, а если его вставить откуда-либо, то не работает. Как исправить данное положение?
Shouldercannon вне форума Ответить с цитированием
Старый 13.08.2010, 13:45   #2
Квэнди
Старожил
 
Аватар для Квэнди
 
Регистрация: 13.12.2006
Сообщений: 3,859
По умолчанию

обработать onchange
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи
Квэнди вне форума Ответить с цитированием
Старый 13.08.2010, 13:46   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Ну например смешным вариантом:
Код:
procedure TForm1.Edit1Change(Sender: TObject);
begin
 TEdit(sender).Text:=copy(TEdit(sender).Text,1,5);
end;
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 13.08.2010, 13:57   #4
r9m
₪₪₪₪₪₪₪₪
Форумчанин
 
Аватар для r9m
 
Регистрация: 16.04.2007
Сообщений: 471
По умолчанию

Цитата:
Есть Edit1 с MaxLength := 5. Когда вводишь текст в Edit1 с клавиатуры, то ограничение работает, а если его вставить откуда-либо, то не работает. Как исправить данное положение?
Проверил на d7,d2k10 - всё нормально работает Другое дело, если вставлять программно.

Последний раз редактировалось r9m; 13.08.2010 в 14:03.
r9m вне форума Ответить с цитированием
Старый 13.08.2010, 14:52   #5
Shouldercannon
Участник клуба Подтвердите свой е-майл
 
Аватар для Shouldercannon
 
Регистрация: 26.01.2008
Сообщений: 1,897
По умолчанию

Цитата:
Сообщение от r9m Посмотреть сообщение
Проверил на d7,d2k10 - всё нормально работает Другое дело, если вставлять программно.
Это и имеется ввиду, что програмное вставление не поддаётся ограничению.
Лучшее решение данной проблемы предложено Stilet

Последний раз редактировалось Shouldercannon; 13.08.2010 в 15:04.
Shouldercannon вне форума Ответить с цитированием
Старый 13.08.2010, 15:04   #6
r9m
₪₪₪₪₪₪₪₪
Форумчанин
 
Аватар для r9m
 
Регистрация: 16.04.2007
Сообщений: 471
По умолчанию

Я просто подумал про копировать\вставить

Цитата:
програмное вставление
Прикольно сказанул )

Последний раз редактировалось r9m; 13.08.2010 в 15:09.
r9m вне форума Ответить с цитированием
Старый 13.08.2010, 15:13   #7
Alekcey
Пользователь
 
Регистрация: 12.07.2010
Сообщений: 44
По умолчанию

Код:
SetLength(myString, 5);
Alekcey вне форума Ответить с цитированием
Старый 13.08.2010, 16:04   #8
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Лучшее решение данной проблемы предложено Stilet
Ви ест ошибатся. В етот код есть маленкий глупость. Das ist смена первого символа, когда идет набор шестого, тогда курсор перескакивает в начало (строка то меняется) и начинает при последующем наборе фаршировать введенным в первую позицию - выглядит глупо.
Потому нужно после copy перемещать курсор в конец строки
Код:
 TEdit(sender).SelStart:=5;
Я не сразу допер до этого.
Цитата:
Alekcey
Это не то.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 13.08.2010, 16:07   #9
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,526
По умолчанию

Цитата:
Код:
SetLength(myString, 5);
правильнее будет i
Код:
if Edit1.maxlength>0 then
  edt1.text:=copy(s, 1,edit1.maxlength)
else
 edit1.text:=s;
будет правильно работать даже если ограничения (maxlength) изменяться или вообще оменяться
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ограничение количества символов в Richviewedit Shouldercannon Общие вопросы Delphi 3 26.05.2010 13:43
Ограничение числа выводимых символов Kioen Помощь студентам 2 10.04.2010 23:29
Ограничение по количеству символов Shouldercannon Общие вопросы Delphi 3 27.04.2009 16:33
Ограничение на ввод символов ANTI1 Общие вопросы Delphi 4 17.12.2008 16:30
Ограничение на вводимое кол-во символов??? serjii Microsoft Office Excel 3 05.10.2007 10:55