* Автор: Rolf Kjoeller. * Этот макрос конвертирует указанный ему файл синтаксиса в формат VB-скрипта * так, чтобы его можно было скопировать и вставить в процедуру в скрипт. * В итоге все команды синтаксиса будут содержаться в строке strCommands, которую можно будет запустить * на выполнение средствами скрипта. Set MPRINT=yes. DEFINE publish (!POSITIONAL !CMDEND) /* Файл синтаксиса читается как данные из текстового файла. Пустые строки опускаются */ DATA LIST FILE=!1 /#Text(A250) . Select If Not RTrim(#Text) EQ "" . /* Двойные кавычки заменяются одинарными */ Loop If RINDEX(#Text,'"') GT 0 . COMPUTE #pos=RINDEX(#Text,'"') . COMPUTE #Text=CONCAT(SUBSTR(#Text,1,#pos-1),"'",SUBSTR(#Text,#pos+1)) . End Loop . /* Добавляем формирование строки strCommands, объединяющей все команды */ String Text (A250) . If RTrim(#Text) NE "" Text=CONCAT('strCommand = strCommand &','"',RTRIM(LTRIM(#text)),'" & vbCrLf') . /* Теперь показываем получившиеся строки скрипта. Их можно вставлять в процедуру: */ Preserve . Set WIDTH=250 . LIST CASES /VARIABLES Text . RESTORE . !ENDDEFINE . * Вызываем макрос с указанием пути к файлу синтаксиса, который нужно конверитровать. publish "d:\\data\\syntax\\distributions\\Tests for significant differences in proportion.SPS" .