|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
12.10.2011, 07:02 | #1 |
Пользователь
Регистрация: 01.06.2011
Сообщений: 12
|
Сложности с плавающей точкой
Нахожу точку пересечения прямых на оси координат
Код : Код:
пробывал округлять Round-ом пременные xt и yt, результат тот же ..примечателно что если прописать ta=0.2 и tb=0.2, тогда все считается На всякий случай прилагаю проект: Новая папка (7).zip Последний раз редактировалось Drozd-A; 12.10.2011 в 07:04. |
12.10.2011, 08:06 | #2 |
Форумчанин
Регистрация: 08.09.2010
Сообщений: 880
|
Щас расскажу.
Вот запускается программа. Вот в самом начале она пытается сформировать объекты на форме, в частности едиты. Но так как в эдитах есть начальные значения, то их присвоение провоцирует вызов обработчика события EditChange. Что получается. При каждом таком вызове происходит вся цепочка расчетов, но... Процедура обработки вызывается для Edt1 (например, это первый в очереди формирования компонент), а в других едитах еще нет значений. Что происходит? Правильно, в переменной d нулевое значение. А что будет если что-то делить на 0? Тоже правильно, "событие исключительной важности". Можно сделать так (один из вариантов): Присобачивать к едитам процедуру обработки OnChange в событии OnCreate формы, разумеется, после всех операторов, в конце процедуры: Код:
Тогда события эти при запуске программы мешать не будут, а будут работать так как и предназначено: при изменении значений в едитах во время работы проги. --- Но решение такое (формировать графики на каждый чих - изменения в аргументах) не самое разумное. Что будет, если при изменении значения какого-либо из едитов стереть в нем значения (для благородного желания, естественно, заменить цифры)? Догадаться не сложно. Будет тот же облом: "Invalid..." Все равно придется в начале кода проверять на пустое значение всех едитов, значения которых участвуют в расчете. Последний раз редактировалось Прик; 12.10.2011 в 08:19. |
12.10.2011, 18:27 | #3 |
Пользователь
Регистрация: 01.06.2011
Сообщений: 12
|
Уже сам дошел до тех же выводов,.. все равно спасибо, вы мой спаситель и бог ..c утра начну эксперименты..
|
13.10.2011, 09:10 | #4 |
Пользователь
Регистрация: 01.06.2011
Сообщений: 12
|
[empty...]
Последний раз редактировалось Drozd-A; 13.10.2011 в 09:42. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Числа с плавающей точкой | [MI_nor] | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 3 | 11.04.2011 11:53 |
числа с плавающей точкой | cleversleazoid | Общие вопросы C/C++ | 5 | 30.12.2010 00:43 |
помогите с плавающей точкой | Egory4 | Помощь студентам | 5 | 01.11.2009 14:48 |
Ошибка с плавающей точкой | Vistar | Паскаль, Turbo Pascal, PascalABC.NET | 5 | 06.05.2009 19:47 |
Числа с плавающей точкой | Blondinka | Общие вопросы Delphi | 8 | 21.09.2007 11:32 |