powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / List operations
7 сообщений из 7, страница 1 из 1
List operations
    #32639220
Siquel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть поле в таблице 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
List operations
    #32639261
Sergey Ch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ATCC()
...
Рейтинг: 0 / 0
List operations
    #32639283
Фотография Анатолий Широков
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Чтобы решить проблему тебе надо явно выделить числа в последовательсти. Например так:

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

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

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

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


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