* ВОПРОС: В макрос передаётся чётное число имён переменных. Как мне использовать их пара за парой?. * ОТВЕТ. Автор: rlevesque@videotron.ca. * Если вопрос не слишком понятен, всё станет яснее, когда вы запустите синтаксис и посмотрите на результат. * Данный синтаксис может быть полезен в том случае, когда число передаваемых переменных может меняться. SET MPRINT=yes. * Смоделируем данные. INPUT PROGRAM. LOOP #cnt=1 TO 100. DO REPEAT var=var001 var002 var002a var004 varc varz break1 ct. COMPUTE var=RND(UNIFORM(5)). END REPEAT. END CASE. END LOOP. END FILE. END INPUT PROGRAM. SET MPRINT=yes. *Определяем макрос. DEFINE !macro (!POS=!CMDEND) !LET !cnt="" !DO !var !IN (!1) !LET !cnt=!CONCAT(!cnt," ") !IF (!LEN(!cnt)=1) !THEN !LET !arg1=!var !ELSE !LET !arg2=!var TABLES FORMAT=ZERO /PTOTAL=T1'YTD 2000' /TABLE CT + !arg1 + !arg2 BY break1 /STATISTICS=COUNT ('') CPCT (''(PCT4.0):break1 ). !IFEND !IF (!LEN(!cnt)=2) !THEN !LET !cnt="" !IFEND !DOEND !ENDDEFINE. * Вызов макроса. !macro var001 var002 var002a var004 varc varz.