|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
03.02.2013, 14:20 | #11 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Sibedir , if Sender=edit1 then - лишний заморачивающий код, а if not Edit2.Focused then не заморачивающий код? Масло-маслянное, а суть та же
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
03.02.2013, 15:14 | #12 | |
Тот ещё
Старожил
Регистрация: 14.11.2007
Сообщений: 2,242
|
Масло-маслянное - это когда тоже самое много раз
Как раз не та же. ---------------------------------------------------------------------- "if Sender=edit1 then" нужно воизбежание применения лишних обработчиков (для 2-х эдитов это лишнее, ИМХО) ---------------------------------------------------------------------- "if not Edit2.Focused" нужно для Цитата:
Пояснение: Например, при изменении Edit1 произойдет OnChange для него. Будет выполнен код Edit2.Text := ..., что приведет к вызову OnChange для Edit2, что всвою очередь выполнит код Edit1.Text := .... Представьте теперь, что в Edit1 "123456". Пользователь хочет изменить его на "-1.234e056" и например ошибается при вводе: вместо "e" вводит "у". |
|
03.02.2013, 15:55 | #13 | |
Старожил
Регистрация: 29.09.2009
Сообщений: 9,713
|
Цитата:
Для особо умных вот само это примитивное приложение:
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation |
|
03.02.2013, 16:24 | #14 |
Тот ещё
Старожил
Регистрация: 14.11.2007
Сообщений: 2,242
|
raxp, попробуйте ввести в вашей программе в edit1 (или 2, не важно) значение "12e34".
|
03.02.2013, 16:38 | #15 |
Старожил
Регистрация: 29.09.2009
Сообщений: 9,713
|
...а нафига? Вы обработчик видели, прокрутите посты назад и увидите что ваше "e" вопроса ТС не касается.
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation |
03.02.2013, 16:50 | #16 |
Тот ещё
Старожил
Регистрация: 14.11.2007
Сообщений: 2,242
|
А вы это спросите у безимянного святого пользователя. И только не говорите, что ему этого делать нельзя.
1. Поясни, где именно это можно понять 2. Представьте, что пользователь хотел ввести "1234" и вместо "2" ввел "q" (нечаяно нажал). Ввод данных пользователем в едит не должен (ИМХО) влиять на самого себя. Получается что-то типа циклической ссылки. Нужно либо менять значение по OnExit или блокировать изменение элемента занятого пользователем по Focused. Host-2013 вёл реч именно о OnChange, поэтому я выбрал второй способ с Focused. Последний раз редактировалось Sibedir; 03.02.2013 в 16:53. |
03.02.2013, 17:12 | #17 |
Старожил
Регистрация: 29.09.2009
Сообщений: 9,713
|
Так, Sibedir, прокрутите посты назад до своего поста и почитайте внимательно про события, которые якобы вызовут друг друга. Ремарка касается именно этого, а не последующих изысков с вводом некоего "e" степени, которое в случае денежной величины излишня. Оки?
Таким образом, если еще никак, запустите приложенный пример и убедитесь, что ввод значения в любой Edit НЕ влияет на само себя.
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation |
03.02.2013, 17:36 | #18 | |
Тот ещё
Старожил
Регистрация: 14.11.2007
Сообщений: 2,242
|
Цитата:
Про спецификацию данных речи не идет А что, 1.23е03 доллоров не бывает. Последний раз редактировалось Sibedir; 03.02.2013 в 17:50. |
|
03.02.2013, 17:49 | #19 | ||
Старожил
Регистрация: 29.09.2009
Сообщений: 9,713
|
Цитата:
Цитата:
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation |
||
03.02.2013, 17:55 | #20 | |
Тот ещё
Старожил
Регистрация: 14.11.2007
Сообщений: 2,242
|
Это я тыкал. Привык на ты на форуме общаться.
А, нет, это я с ТС на ты. Цитата:
Введите "1001, а потом исправте на "2001". [1] [0] [0] [1] [<-] [<-] [<-] [Backspace] Кстати, в вашем же видео на 00:08 при стерании "9" внезапно появилаяь "1". А ведь вы её не вводили. Потом её пришлось удалять. Последний раз редактировалось Sibedir; 03.02.2013 в 18:01. |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Конвертер | sent161rus | Общие вопросы .NET | 1 | 26.08.2011 17:02 |
Конвертер БД | Vlaar | Фриланс | 3 | 22.12.2010 09:06 |
Конвертер | VanHelsing | Софт | 0 | 22.07.2010 11:46 |
Конвертер на С++ | VanHelsing | Общие вопросы C/C++ | 5 | 21.07.2010 15:01 |
конвертер | malevich | Общие вопросы Delphi | 10 | 14.02.2007 23:19 |