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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 09.01.2014, 11:45   #1
Zurs
Пользователь
 
Регистрация: 15.12.2013
Сообщений: 28
По умолчанию Delphi 7, безразмерный массив

Процедура TForm1.BitBtn1Click, файл для загрузки out.txt. Возникает ошибка в строке 162, прошу помочь выяснить причину.
Вложения
Тип файла: rar Интерпретация vol 0.2.rar (259.6 Кб, 19 просмотров)
Тип файла: txt out.txt (629 байт, 127 просмотров)
Zurs вне форума Ответить с цитированием
Старый 09.01.2014, 12:34   #2
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Отследите по точкам останова чему равно i-1
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Старый 09.01.2014, 12:35   #3
Zurs
Пользователь
 
Регистрация: 15.12.2013
Сообщений: 28
По умолчанию

1 получается.
Zurs вне форума Ответить с цитированием
Старый 09.01.2014, 12:49   #4
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

А чему равно i в SetLength(TMq,i); перед ошибкой? Вы не забыли, что нумерация идет от нуля, то есть один элемент это TMq[0] и всё?
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Старый 09.01.2014, 12:58   #5
Zurs
Пользователь
 
Регистрация: 15.12.2013
Сообщений: 28
По умолчанию

I = 2, про отсчет с нуля помню, поэтому во всех присваиваниях стоит i-1. В момент прерывания until TMq[1]>=14400; Tmq=(0,600), то есть Tmq равно 600, но все равно возникает invalid floating point operation.
Zurs вне форума Ответить с цитированием
Старый 09.01.2014, 15:01   #6
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

TMq[1]>=14400.0 ?
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Старый 09.01.2014, 16:03   #7
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Заменил просто Extended на Double - заработало. Но зациклилось для i=7, Tmq[i-1]=3600. Почему с Extended ошибку давало для меня загадка. Входные данные с десятичной точкой, а у меня в настройках винды - запятая, как следствие - сразу ошибка. DecimalSeparator в программе не настроен или каким-то другим образом нужно учитывать настройки винды. Код написан очень не прозрачно
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию

Последний раз редактировалось Аватар; 09.01.2014 в 16:19.
Аватар вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Безразмерный массив Alexandr17-10 Паскаль, Turbo Pascal, PascalABC.NET 8 29.10.2013 22:05
Дан одномерный массив, сформировать новый массив по заданному правилу {Delphi} Nickolai47 Помощь студентам 5 16.12.2012 14:51
Постоянный массив указателей на постоянный массив Delphi Kreadlling Общие вопросы Delphi 2 16.04.2012 15:28
безразмерный одномерный массив SunKnight Общие вопросы C/C++ 1 20.02.2008 04:13