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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 07.10.2011, 18:53   #11
JUDAS
фонатик DELPHI
Форумчанин
 
Аватар для JUDAS
 
Регистрация: 14.01.2008
Сообщений: 714
По умолчанию

Цитата:
так уже пробовал, нет результата никакого
это для канвы никакого, она будет выдавать "-1" если значение вне диапозона. Вопрос в размерности Вашего двумерного массива field, который Вы зхаполняете в зависимости от цвета пикселя. (см. мой пост выше)
95% сбоев и ошибок приложений, находится в полу метрах от монитора
JUDAS вне форума Ответить с цитированием
Старый 07.10.2011, 18:54   #12
Vova777
Уважаемый
Форумчанин
 
Аватар для Vova777
 
Регистрация: 04.07.2010
Сообщений: 318
Радость

Парни, все !!! Я все понял !!!
У меня массив был инициализирован так:
Код:
  field: array[1..3100, 1..1300] of word;
А запись производилась так:
Код:
for ayq:= 0 to Image1.Height do
    begin
      for axq:= 0 to Image1.Width do
Теперь все нормально, точно с массивом проблема была. Всем плюсы поставлю. Спасибо !!
даешь высокое напряжение
Vova777 вне форума Ответить с цитированием
Старый 07.10.2011, 19:04   #13
Vova777
Уважаемый
Форумчанин
 
Аватар для Vova777
 
Регистрация: 04.07.2010
Сообщений: 318
По умолчанию

Цитата:
Сообщение от JUDAS Посмотреть сообщение
1.var axq, ayq: word; советую записать var axq, ayq: integer;
Тип word занимает меньше памяти чем integer, чтобы сократь объем моего приложения я использую минимальные типы, в пределах рабочего диапазона.
Зачем мне integer если переменная максимально = 3100 ? Не экономно с памятью получится.
даешь высокое напряжение
Vova777 вне форума Ответить с цитированием
Старый 07.10.2011, 19:53   #14
JUDAS
фонатик DELPHI
Форумчанин
 
Аватар для JUDAS
 
Регистрация: 14.01.2008
Сообщений: 714
По умолчанию

Цитата:
Я все понял
Вот и чудненько, теперь постараюсь пояснить Зачем мне integer если переменная максимально = 3100 ?
переменная word целочисленная без знака. Допустим, эту технологию Вы используете для перебора элементов динамического массива (от 0 до N).
Если массив будет не инициализирован или пуст цикл будет "маслать" следующий диапозон
for i:=0 to -1. Для типа integer - тело цикла не сработает ни разу, для беззнаковіх типов, Ваш цикл трансофрмируется в for i:=0 to $FFFF то есть весь диапозон двухбайтового значения и вылетит на первом же элементе, выдав сообщение об ошибке, аналогичное содержимому Вашего первого поста
------------
Если Вам так принципиально "..приложения я использую минимальные типы,..." мой Вам совет, используйте лучше вот этот тип:
Smallint -32768..32767 signed 16-bit
95% сбоев и ошибок приложений, находится в полу метрах от монитора

Последний раз редактировалось JUDAS; 07.10.2011 в 19:56. Причина: добавил Smallint
JUDAS вне форума Ответить с цитированием
Старый 08.10.2011, 10:19   #15
Vova777
Уважаемый
Форумчанин
 
Аватар для Vova777
 
Регистрация: 04.07.2010
Сообщений: 318
По умолчанию

Цитата:
Сообщение от JUDAS Посмотреть сообщение
Допустим, эту технологию Вы используете для перебора элементов динамического массива (от 0 до N).
Я в принципе согласен, но у меня сейчас массив не динамический.
Цитата:
Сообщение от JUDAS Посмотреть сообщение
Если Вам так принципиально "..я использую минимальные типы,..." мой Вам совет, используйте лучше вот этот тип:
Smallint -32768..32767 signed 16-bit
В некоторых моментах я его применяю, когда нужно иметь отрицательный и положительный диапазоны.

Благодарю за пояснение
даешь высокое напряжение
Vova777 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с ntdll.dll koolich Общие вопросы Delphi 2 06.03.2010 01:37
Имя модуля с ошибкой ntdll.dll valerij Windows 1 29.11.2009 23:42
сообщение об ошибке ntdll.dll trech85 Общие вопросы Delphi 4 12.12.2008 14:29
Ошибка в ntdll.dll mutabor Общие вопросы Delphi 1 24.06.2008 14:55