Подскажите, есть ли в Галактике функция, позволяющая получать отдельные слова из строки или функция поиска следующего вхождения какого-либо символа (типа Pos, но с возможность найти следующее вхождение).
Это необходимо, чтобы разобрать строку на отдельные составляющие, отделенные запятыми (если быть конкретными, то для разбора строки налогов платежки при отсылке в клиент-банк).
Что-то типа:
Исходная строка: 111,222,333,444444,5
GetWordNum(строка, разделитель, номер слова)
или
Pos(строка, что ищем, номер вхождения)
Если нет такой функции, то можно ли ее написать на Випе и подключить через ресурс?
P.S. Я правильно понимаю, что кроме как через строку налогов по другому налоги никак не задаются в платежке?
Разбор выражения
Модераторы: m0p3e, edward_K, Модераторы
Re: Разбор выражения
SubStr спасет отца русской демократии.
Простая задача. Нашел первое вхождение - возьми, отрежь его. Ищи еще...
Подулючить функцию можно как объектный фейс. Просто и удобно.
Простая задача. Нашел первое вхождение - возьми, отрежь его. Ищи еще...
Подулючить функцию можно как объектный фейс. Просто и удобно.
Re: Разбор выражения
Это конечно, хорошо, но у меня не переменная, а поле таблицы и править там я ничего не могу.
>Подулючить функцию можно как объектный фейс
Можно поподробней. Желательно с примером:)
>Подулючить функцию можно как объектный фейс
Можно поподробней. Желательно с примером:)
Re: Разбор выражения
Пример давал где-то здесь.
Ну а кто мешает считать поле таблицы в переменную и работать с ней?
Ну а кто мешает считать поле таблицы в переменную и работать с ней?
-
- Местный житель
- Сообщения: 783
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: Москва
- Контактная информация:
Re: Разбор выражения
Может быть поможет функция InStr?
InStr('что_ищем', где ищем) = номер_вхождения
IF ( Instr(',',PlPor.NamePl1) <> 0 )
then ...
InStr('что_ищем', где ищем) = номер_вхождения
IF ( Instr(',',PlPor.NamePl1) <> 0 )
then ...
Re: Разбор выражения
Кажется тебе нужно это:
ExtractDelimitedWord(<str>,1,';')
ExtractDelimitedWord(<str>,2,';')
и т.д.
для пятого элемента будет
ExtractDelimitedWord(<str>,5,';')
В данном случае разделитель ';'
Разбирали в свое время http://www.tyumbit.ru/galaktika/read.ph ... 159&t=4030
ExtractDelimitedWord(<str>,1,';')
ExtractDelimitedWord(<str>,2,';')
и т.д.
для пятого элемента будет
ExtractDelimitedWord(<str>,5,';')
В данном случае разделитель ';'
Разбирали в свое время http://www.tyumbit.ru/galaktika/read.ph ... 159&t=4030
Re: Разбор выражения
Спасибо:)
То что нужно.
То что нужно.