Re: Проблема с массивами | |
---|---|
Crispy Сообщений: 18571 Дата регистрации: 16.05.2005 |
Ну не знаю, обычно, если в программе проявляются какие-то чудеса - это не сверхъестественное что-то, а вполне обычное, возможно даже очень простое окажется в итоге. Вот если взять например заполнение массива - он что реально у тебя после создания заполняется в цикле? Или таки нет? Если нет, то возможно например просто (где-то как-то по каким-то причинам) не заполняется полностью. И поскольку при создании все его элементы прописываются как .F. - какие-то проблемы именно с не заполненными элементами. Ну или что-то в таком роде. Если же ошибка повторима даже на приведенном куске кода в среде - глянуть для начала хотя бы все текущие переменные и установки среды. Меняя их в крайнем случае на пробу. Ну уж слишком уж какая-то очевидная элементарная вещь в данном случае, чтобы такой глюк имел какое-то "уважительное" обоснование, не связанное с чем-то вполне конкретным. ------------------ В действительности все иначе, чем на самом деле. (Антуан де Сент-Экзюпери) |
Re: Проблема с массивами | |
---|---|
dimuhametov Автор Сообщений: 1562 Откуда: Костанай Дата регистрации: 01.11.2008 |
Массив как хочешь создавай, хоть через цикл, хоть по элементам отдельным заполняй значение, или через APPEND FROM, результат один - с проблемой описанной выше. А "уважительное" обоснование для глюка - звучит ! ------------------ Незнание делает жизнь такой интересной. |
Re: Проблема с массивами | |
---|---|
dimuhametov Автор Сообщений: 1562 Откуда: Костанай Дата регистрации: 01.11.2008 |
Нашел пока некоторое работающее решение:
------------------ Незнание делает жизнь такой интересной. |
Re: Проблема с массивами | |
---|---|
Gump Сообщений: 904 Дата регистрации: 06.09.2019 |
Если больше ни у кого не воспроизводится, то стоит грешить на систему, других вариантов не очень видно.
Попробуй на виртуалке воспроизвести. |
Re: Проблема с массивами | |
---|---|
pasha_usue Сообщений: 3650 Откуда: Е-бург Дата регистрации: 06.10.2006 |
Удалил. Думаю дальше.
Исправлено 1 раз(а). Последнее : pasha_usue, 15.10.19 16:15 |
Re: Проблема с массивами | |
---|---|
_vit Сообщений: 5175 Дата регистрации: 29.07.2002 |
Ну а если все таки как Penner предлагает а потом пройти в отладчике и посмотреть как он меняется после каждого шага?
Исправлено 2 раз(а). Последнее : _vit, 15.10.19 17:39 |
Re: Проблема с массивами | |
---|---|
dimuhametov Автор Сообщений: 1562 Откуда: Костанай Дата регистрации: 01.11.2008 |
cArray = '' к сожалению не помог. Ошибки те же. ------------------ Незнание делает жизнь такой интересной. |
Re: Проблема с массивами | |
---|---|
_vit Сообщений: 5175 Дата регистрации: 29.07.2002 |
Ну а как выглядит массив в отладчике?
После LOCAL ARRAY cArray[300] ? После cArray = '' ? |
Re: Проблема с массивами | |
---|---|
dimuhametov Автор Сообщений: 1562 Откуда: Костанай Дата регистрации: 01.11.2008 |
выглядит обычно, каждому элементу присвоена пустая строка ------------------ Незнание делает жизнь такой интересной. |
Re: Проблема с массивами | |
---|---|
Starpom Сообщений: 71 Дата регистрации: 29.06.2006 |
Почему то у меня в памяти осталась мысль что еще со времен ДОСовского Foxpro конструкция использования переменных m. ограниченно по умолчанию 255, но как снимается это ограничение не помню.
Весь FOX изначально построен на магической цифре 256. До 255 - это использование пользователем, а вот 256 - это служебное. Если Вы уберет конструкцию переменной m., то скорее всего массив будет работать стабильно. |
Re: Проблема с массивами | |
---|---|
_vit Сообщений: 5175 Дата регистрации: 29.07.2002 |
Хорошо.
Если так: CLEAR LOCAL ARRAY cArray[300] cArray = '8' ... Останавливаешься в отладчике после cArray = '8' В окне Locals у тебя все элементы массива cArray имеют значение '8'. Так? В окне Watch cArray[256] = '8' ? Вводишь в окно Commands ? cArray[256] Каков результат? |
Re: Проблема с массивами | |
---|---|
dimuhametov Автор Сообщений: 1562 Откуда: Костанай Дата регистрации: 01.11.2008 |
ВСЕГДА 8 ------------------ Незнание делает жизнь такой интересной. |
Re: Проблема с массивами | |
---|---|
Crispy Сообщений: 18571 Дата регистрации: 16.05.2005 |
Кстати да. Припоминается, бывали когда-то случаи, когда подробное указание именно в параметрах и строк, и столбцов, пусть даже для однострочного массива, позволяло получать то, что нужно. Хотя по умолчанию вроде бы можно и не указывать, но именно указание иногда бывает помогает. Про "уважительный" же глюк же - я имел в виду, что Вообще говоря, предпочитаю всегда использовать DIMENSION для создания массива. Как-то она "более", на мой взгляд. ------------------ В действительности все иначе, чем на самом деле. (Антуан де Сент-Экзюпери) Исправлено 2 раз(а). Последнее : Crispy, 16.10.19 13:18 |
Re: Проблема с массивами | |
---|---|
dimuhametov Автор Сообщений: 1562 Откуда: Костанай Дата регистрации: 01.11.2008 |
DIMENSION никак не помог, хоть один хоть с local array. ------------------ Незнание делает жизнь такой интересной. |
Re: Проблема с массивами | |
---|---|
Crispy Сообщений: 18571 Дата регистрации: 16.05.2005 |
Ну по идее, раз уж помогло явное указание обоих параметров, видимо это один из тех исключительных случаев, когда именно так и стоит делать. У меня тоже когда-то пару раз бывало похожее, когда именно такое помогало, т.е. даже несмотря на способ объявления. Хотя и другая ситуация конечно была, подробно сейчас не вспомнить, но тем не менее. ------------------ В действительности все иначе, чем на самом деле. (Антуан де Сент-Экзюпери) |
Re: Проблема с массивами | |
---|---|
_vit Сообщений: 5175 Дата регистрации: 29.07.2002 |
Ну значит массив создается правильно а портится в цикле. Надо пройти цикл в отладчике по шагам и посмотреть как меняются значения cArray[m.jk] на каждой итерации.
|
Re: Проблема с массивами | |
---|---|
Igor Korolyov Сообщений: 34580 Дата регистрации: 28.05.2002 |
Нет такой необходимости. Всегда можно обойтись без макро - результат надёжнее, проще и предсказуемее. ------------------ WBR, Igor |
Re: Проблема с массивами | |
---|---|
of63 Сообщений: 25256 Откуда: Н.Новгород Дата регистрации: 13.02.2008 |
Пример, когда макрос помогает. "Так программировать нельзя", но эта хрень "макрос" часто выручает, когда нельзя код причесать хорошо
Про TYPE и VARTYPE не говорить, этот пример искусственный. Исправлено 2 раз(а). Последнее : of63, 16.10.19 23:17 |
Re: Проблема с массивами | |
---|---|
Igor Korolyov Сообщений: 34580 Дата регистрации: 28.05.2002 |
Это совершенно очевидный пример говнокода. Единственно в чём он помогает - это в том чтобы запутать логику и чтобы читающий код программист сломал себе мозг. Макро в этом случае не нужен вообще.
------------------ WBR, Igor |
Re: Проблема с массивами | |
---|---|
of63 Сообщений: 25256 Откуда: Н.Новгород Дата регистрации: 13.02.2008 |
Ястно, Игорь, с говнокодом и говнобизнеслогикой ты не сталкивался (ну нашел недочеты в тупости моего примера, пример тупости своих "жизненных" ситуаций не привел), причесал мой код в том виде (а он абстрактный!, там м.б. много условий по переменной U, сложных, и не выражаемых...) не буду оправдываться! Тебе надо приводить только пример задачи математически нерешаемой, как теорему Ферма (№?), или из задач Гильберта (№?). ) Без обид. Ты уел с этим вопросом, я надеялся тебя подколоть, не получилось. Молодец )
|
© 2000-2024 Fox Club  |