BEST logo логотип компании БЭСТ - программы для бизнеса ПРОДАЖИ
+7 (991) 312-04-37
trade@bestnet.ru
ПОДДЕРЖКА
+7 (495) 775-66-76
consult@bestnet.ru
СКАЧАТЬ
Обновления
Дистрибутивы
Авторизация

Логин:
Пароль:
Забыли свой пароль?
Регистрация
ВАШ ВОПРОС

Доступ к Личному кабинету закрыт!
Как получить доступ?


Главная  / Поддержка  / Форум  / Публичные форумы  / Программирование приложений  / Поиск в массиве ,если переменнаяимеет пустое значение

Форум

Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Страницы: 1
RSS
Поиск в массиве ,если переменнаяимеет пустое значение
 
Здравствуйте!
Случайно "споткнулся " на такую ситуацию.
В данном случае значение выражения ascan(aTm,nTermin) получается "Истинным",что не верно.
пример :
function main()
Private aTm:={"Один"}
Private nTermin:=''
IF ascan(aTm,nTermin)>0
sayandwait('1')
else
sayandwait('2')
endif
return



В данном случае значение выражения ascan(aTm,nTermin) получается "Ложным",что правильно
Пример :
function main()
Private aTm:={"Один"}
Private nTermin:=''
IF ascan(aTm,{|x| upper(x)==upper(nTermin)})>0
sayandwait('1')
else
sayandwait('2')
endif
return

Т.е для поиска в массивах необходимо ОБЯЗАТЕЛЬНО ( во избежание ошибок) использовать кодовый блок?
 
нет не обязательно.
Можно было по умолчанию переменную определять не как NIL ('' - это NIL)
как строковую ' ' - с пробелом внутри
 
Во втором случае Вы поставили точное сравнение ==, оно и сработало
В первом случае сравнение, которое выполняет ascan для символьных строк зависит от установки

SET EXACT, видимо в Вашем случае он имеет значение OFF.
Страницы: 1
Читают тему (гостей: 1)