Вверх ↑
Этот топик читают: Гость
Разработчик
Ответов: 26170
Рейтинг: 2127
#16: 2011-04-23 16:56:49 ЛС | профиль | цитата
Tad писал(а):
Где оно может измениться ?



procedure THIEdit._OnKeyDown;
var dt:TData;
begin
if Assigned(_event_onEnter.Event) and( Key = 13) then
begin
if _prop_DataType(dt) then begin
Fchange := true;
_hi_onEvent(_event_onEnter,dt); // вот здесь, в схеме, можно применить любое действие
// doPosition, doSelectText, doSelectAll, doSelectLength, которое может установить Fchange=false
// и следующее действие не наступит, пока не закончится вся цепь событий подключенных к _event_onEnter
if Fchange and _prop_ClearAfterEnter then begin
ChangeEvent := false; // Установка Control.Text вызывает _OnChange !!!
Control.Text := ';
end;
end;
Key := 0;
end
else inherited;
end;
end;

карма: 22

0
Ответов: 3349
Рейтинг: 233
#17: 2011-04-23 17:05:45 ЛС | профиль | цитата
LastLeader писал(а):
Нужно чтоб как в стенку упиралось.

Может Memo?
Add(Memo,6491968,301,119){
Left=95
Top=100
Width=125
Height=25
}



карма: 1

0
Разработчик
Ответов: 26170
Рейтинг: 2127
#18: 2011-04-23 17:07:44 ЛС | профиль | цитата
Ivann писал(а):
Может Memo?

А причем здесь Memo, когда вопрос был задан конкретно про Edit
карма: 22

0
Ответов: 3349
Рейтинг: 233
#19: 2011-04-23 17:11:51 ЛС | профиль | цитата
nesco писал(а):
конкретно про Edit

Хоть одно слово Edit в его посте мне покажи
карма: 1

0
Ответов: 16884
Рейтинг: 1239
#20: 2011-04-23 17:20:21 ЛС | профиль | цитата
Ладно nesco, оставляй, но оно там ни на... не нужно.
Да здравствует индусский код !
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Разработчик
Ответов: 26170
Рейтинг: 2127
#21: 2011-04-23 17:24:26 ЛС | профиль | цитата
Ivann писал(а):
Хоть одно слово Edit в его посте мне покажи

Заголовок темы
Можно ли ограничит количество водимых символов в текстовое поле?

У нас только одно текстовое поле ввода -- Edit
К твоему сведению, Ivann, Memo называется "Редактор текста"
------------ Дoбавленo в 17.24:
Tad писал(а):
Да здравствует индусский код !

Это не я делал, а если кто-то сделал, значит, была в этом необходимость
карма: 22

0
Ответов: 16884
Рейтинг: 1239
#22: 2011-04-23 17:31:49 ЛС | профиль | цитата
Иногда и без необходимости заскоки бывают. Сначала была одна мысля, а потом возникла другая... А следы первой остались. Никто не гарантирован.
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Разработчик
Ответов: 26170
Рейтинг: 2127
#23: 2011-04-23 17:39:56 ЛС | профиль | цитата
Tad писал(а):
Никто не гарантирован

Ну его нафиг, а вдруг, это не заскоки
------------ Дoбавленo в 17.39:
Добавил свойство MaxLenField
карма: 22

5
Голосовали:sаmakacd, Tad, ser_davkin, foksov, Konst
Ответов: 16884
Рейтинг: 1239
#24: 2011-04-23 19:25:03 ЛС | профиль | цитата
nesco,обновил и выбросил Fchange - результирующий код на 280 байт уменьшился. Работает нормально. Прогнал во всех режимах. (просто инфо)


карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Разработчик
Ответов: 26170
Рейтинг: 2127
#25: 2011-04-23 19:42:22 ЛС | профиль | цитата
Давай пока воздержимся. Возможно, где-то и проявиться.
Попробуй придумать, зачем можно вызвать, указанные мной, методы (doPosition, doSelectText, doSelectAll, doSelectLength), и проверить, как это скажется на работе в точке onChange при включенной очистке, и вызовет ли это саму очистку
------------ Дoбавленo в 19.42:
Мне кажется, что может возникнуть ситуация, когда по onEnter надо найти какой-то символ и переместиться курсором на него, очистки поля, в этом случае, быть не должно
карма: 22

0
Ответов: 316
Рейтинг: 21
#26: 2011-04-23 21:03:03 ЛС | профиль | цитата
Мне и первого примера с головой хватило))) А тут смотрю уже вторая страница пошла и в исходники полезли))) Аж страшно что из за меня такой движняк
карма: 1

0
Ответов: 16884
Рейтинг: 1239
#27: 2011-04-23 21:04:58 ЛС | профиль | цитата
nesco, Погонял. Проверял на своем варианте с выброшенными из Edit всех флагов Fchange
Он там нужен, как собаке пятая нога.
code_23485.txt
вроде все нормально
------------ Дoбавленo в 21.04:
LastLeader, не переживай - это из-за меня
В панели Элементы встань на Edit, нажми ПКМ и выбери Обновить SVN. Перезапусти HiAsm и в свойствах
Edit.MaxLenField поставь нужное количество знаков и всё - будет тебе стена. Дальше не пустит.
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
файлы: 1code_23485.txt [383B] [137]
Разработчик
Ответов: 26170
Рейтинг: 2127
#28: 2011-04-23 21:27:33 ЛС | профиль | цитата
LastLeader писал(а):
Аж страшно что из за меня такой движняк

Нормальный, положительный движняк
карма: 22

0
Ответов: 16884
Рейтинг: 1239
#29: 2011-04-23 21:34:06 ЛС | профиль | цитата
LastLeader, две страницы - это рекорд краткости. Обычно на 5-й чуть-чуть проясняется. Так что все ещё впереди.
Конец будет, когда nesco выбросит все лишние Fchange ! !

карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Разработчик
Ответов: 26170
Рейтинг: 2127
#30: 2011-04-23 21:43:11 ЛС | профиль | цитата
Tad, вот пример, показывающий наглядную работу FChange. При нажатии на Enter, текст должен замениться на "Привет!", у тебя работать не будет. Пример полностью подтверждает мой вывод. И вот только не говори мне, что такого случая может не возникнуть

code_23486.txt

карма: 22

0
файлы: 1code_23486.txt [515B] [128]
Сообщение
...
Прикрепленные файлы
(файлы не залиты)