Список форумов AmiSite.ru AmiSite.ru
Форум по Ами
 FAQ  •  Поиск  •  Пользователи  •  Группы   •  Регистрация  •  Профиль  •  Войти и проверить личные сообщения  •  Вход
 Работа If и IIF с массивами.. Следующая тема
Предыдущая тема
Начать новую тему  Ответить на тему
Автор Сообщение
Liker777



Зарегистрирован: 28.06.2012
Сообщения: 120

СообщениеДобавлено: Пн Сен 03, 2012 4:50 pm Ответить с цитатой Вернуться к началу

Привет всем )

В общем код такой:
flag = IIf(Foreign(StrExtract(nameArray, i), "V") == 0, False, True);
if (flag == False) //...
На последней строке error:
Error 6. Condition in IF, WHILE, FOR statements has to be Numeric or Boolean type. You can not use array here, please use [] (array subscript operator) to access array elements

Тогда по образцу из helpa ошибки меняю следующим образом:
flag[i] = IIf(Foreign(StrExtract(nameArray, i), "V") == 0, False, True);
if (flag[i] == False) //...
Теперь на первой строке error:
Error 8. Type mismatch, the value assigned to the array element has to be a number. You can not use array on the right-side of this assignment.

В общем логично вроде ошибка написана - массиву надо присваивать массив, а числу число..
Но как быть-то ?)))

_________________
www.oleg-churyumov.blogspot.com
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
000
Site Admin


Зарегистрирован: 10.12.2007
Сообщения: 9106

СообщениеДобавлено: Пн Сен 03, 2012 7:46 pm Ответить с цитатой Вернуться к началу

А это зависит от того, что собственно надо получить. По коду я этого понять не смог.

_________________
ceterum censeo carthaginem esse delendam
Удачи. Олег.
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Liker777



Зарегистрирован: 28.06.2012
Сообщения: 120

СообщениеДобавлено: Чт Сен 06, 2012 11:03 am Ответить с цитатой Вернуться к началу

000 писал(а):
А это зависит от того, что собственно надо получить. По коду я этого понять не смог.

в общем пока сделал заплатку проблема решена )
суть была в том, что if работает с простыми переменными, а iif создает массив обязательно на левой стороне.
Странно, что в амиброкере нельзя явно объявить тип переменной, было бы удобно.
А то он сам решает, что массив а что нет..

_________________
www.oleg-churyumov.blogspot.com
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Показать сообщения:      
Начать новую тему  Ответить на тему


 Перейти:   



Следующая тема
Предыдущая тема
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете вкладывать файлы
Вы не можете скачивать файлы


Powered by phpBB © 2001, 2002 phpBB Group :: FI Theme :: Часовой пояс: GMT + 3

File Attachment © by Meik Sievertsen