Re: конвертация в множественное поле
Пользователь:
Панев Максим (IP-адрес скрыт)
Дата: 25, April, 2004 15:40
Терпение, Андрей, терпение. Все мы бываем когда-то заняты. Старого задания так и не нашел. Занова вспомнить пришлось. Благо самому понадобиться скоро :). Вот так у меня работает:
//===== начало ============
0
CHA #заменяем 2 пробела на 1 (на всякий случай)
910^b
*
' '
' '
CHA #лишник пробелы нам тоже не нужны
910^b
*
' ;'
';'
CHA #аналогично
910^b
*
'; '
';'
IF #если корректировка требуется
if v910^b:';' then '1' else '0' fi
XXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXX
REPEAT #повторять обреботку пока...
XXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXX
ADD #копируем из 910 все в перевалочное поле
9999
XXXXXXXXXXXXXXXXXXX
v910
XXXXXXXXXXXXXXXXXXX
CHA #удаляем в последнем повторении все лишнее
9999^b
L
&unifor("G1;"v9999^b)
''
CHA #удаляем из исходника все лишнее
910^b
1
&unifor("G0;"v910^b),';'
''
UNTIL #... пока не закончатся точки с запятой
if v910^b:';' then '1' else '0' fi
XXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXX
ADD #перенос из перелочного в исходное всех повторений
910
XXXXXXXXXXXXXXXXXXX
(v9999/)
XXXXXXXXXXXXXXXXXXX
DEL #перевалочное нам больше не нужно (совсем)
9999
*
XXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXX
FI #конец условия
XXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXX
//============= конец ==================
Что с этим делать дальше, надеюсь знаете. Только то, что после # надо удалить вместе с #. Если кто оптимизирует, буду очень рад :).
Удачи.
Отправка отредактированного (25-04-04 16:16)
г. Ярославль