Переобразование данных для хранения



Posted by Анатолий Анимица on February 03, 2000 at 03:45:41:

In Reply to: Re: Благодарю! posted by Александр, Киев. on February 03, 2000 at 02:34:42:

Как я уже писал, строковая переменная - наиболее надожный формат хранения данных в полях фактов, extrd.dat, ну и в промежутке работы отчетных форм - скажем, в массивах перемнных. Тем более, что в одну строку их можно натолкать очень много. Ценой, естественно, будет некоторое усложнение выражений масок при поиске, скажем, в ленте фактов.
На функции [sn..], основное назначение которой - работать в встроенных формах серверов (___sysXX.rpt) - свет клином не сошелся. Как, например, изготовить качественную строку из числа N?
Элементарно, Ватсон. T=[tr N];C=[ro (N-T)*100];if C=100 T=T+1;C=0;endif; TS=[intsn T]+'.'+[cp [intsn 100+C],2,2]+'kukugrynya'
Получим строку в виде числа с хвостиком из букв. Тогда fact оставит ее в покое, и когда мы прочитаем поле факта по search, просто куснем хвост (его место мы легко найдем по [ps..]) и подвергнем результат [vl..]
И все! Если все это оформить в виде двух подпрограмм TUDA и SYDA - а для продвинутых пользователей можно предложить написать подпрограмму ITUDAISYUDA - которые будут все это преобразовывать простым call tuda call syuda или call itudaisyuda, в последнем случае на входе подпрограммы должно быть что-то вида if [type X]=0 call tuda;else call syuda;endif

Ваш ААА


Пpишедшие ответы: