Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / List operations / 7 сообщений из 7, страница 1 из 1
06.08.2004, 18:10
    #32639220
Siquel
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
List operations
Есть поле в таблице if NOT InLst вида : 12,3,81

далее, пытаюсь найти вхождение m1 в InLst таким образом :

Код: plaintext
1.
2.
if NOT (alltrim(str(m1))$InLst)
   ...
endif

Но иногда получается абсолютно неадекватный результат. Такое впечатление что иногда вариант дает ТРУ :

м1=7
InLst вида : 47,4,24

то есть находит вхождение 7 в 47 например.

Как решить эту проблему (возможен альтернативный вариант , ес-но !) ?
...
Рейтинг: 0 / 0
06.08.2004, 18:47
    #32639261
Sergey Ch
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
List operations
ATCC()
...
Рейтинг: 0 / 0
06.08.2004, 19:21
    #32639283
Анатолий Широков
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
List operations
Чтобы решить проблему тебе надо явно выделить числа в последовательсти. Например так:

Код: plaintext
1.
2.
3.
* ставим перед и после запятой пробелы, а также в начале и в конце
lcTemp = ' '+strtran(strtran(InLst, ',', ', '), ',', ' ,') + ' '
* теперь проверяем вхождение числа, используя знание о том, что любое число в последовательности ограничено пробелами
? ' '+alltrim(str(m1))+' ' $ m.lcTemp
...
Рейтинг: 0 / 0
07.08.2004, 12:33
    #32639512
XAndy
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
List operations
Проще так:

if ! ','+ltrim(str(m1))+',' $ ','+InLst+','
...
endif
...
Рейтинг: 0 / 0
08.08.2004, 13:56
    #32639865
Hel!Riser
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
List operations
Код: plaintext
1.
InLst='47,4,24'
IF INLIST( 7 ,&InLst)
...
Рейтинг: 0 / 0
08.08.2004, 23:55
    #32640137
Sergey Ch
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
List operations
Вообще-то весь сыр-бор здесь из-за неправильного кодирования.
Если максимальный код будет 99 то приведненный спмсок кодов будет выглядеить так:

Код: plaintext
 47 , [b]04 [/b], 24 , [b]01 [/b], [b]02 [/b]

Good luck!
...
Рейтинг: 0 / 0
08.08.2004, 23:56
    #32640138
Sergey Ch
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
List operations
47, 04 ,24
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / List operations / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]