![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| GrizliK |
|
||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 75 Регистрация: 7.5.2007 Репутация: нет Всего: нет |
есть код
он берет из файла color. Дело в том что color может быть очень большим числом поэтому стоят ограничения
но Delphi пошел хитрее и при сравнении огромных чисел выдает ошибку переполнения. Что делать? |
||||
|
|||||
| amsoft |
|
||||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 201 Регистрация: 17.10.2009 Где: KZ, Astana Репутация: 3 Всего: 4 |
проблема скорее всего здесь:
ты ограничения проверяешь, когда обрезаешь дробную часть, а цвет присваиваешь путем округления, вот он и округлился на одну единицу вверх, что уже выходит за допустимые пределы. Присваивай так:
--------------------
"Кто бы ты ни был - не думай о себе слишком"Дельфин |
||||
|
|||||
| sCreator |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 84 Регистрация: 20.8.2009 Где: Московская област ь Репутация: 2 Всего: 5 |
Может переполнение происходит при выполнении trunc(color) ?
High(Double) = 1.7 x 10^308 High(Int64) = 2^63-1 добавьте проверку color < High(Integer) перед первым выполнением trunc(color) Кстати какого типа переменная t ? t:=trunc(color); - преобразование числа с плавающей точкой в Int64 round(t); - округление числа с плавающей точкой в Int64 Это сообщение отредактировал(а) sCreator - 9.12.2009, 20:10 |
|||
|
||||
| Beltar |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 627 Регистрация: 11.1.2006 Репутация: 3 Всего: 7 |
Хранить цвет в 32-хбитном виде. Или, если так охота страдать с вещественными, то просто уменьшай все до High(Cardinal).
-------------------- Опытный программист на C++ легко решает любые не существующие в Паскале проблемы. Пищущий на C++ мужик. Даже если это мужик сидит в написанном на Delphi и жрущем паскалевскую библиотеку билдере. |
|||
|
||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |