RU/2: Форум. Общение пользователей и разработчиков OS/2 (eCS). : Пример использования очереди в REXX


Список сообщений | Написать новое | Ответить на сообщение | Домой Поиск:
Предыдущее сообщение | Следующее сообщение
From : Improver
To : Aleksey Tarasow
Subj : Пример использования очереди в REXX

Собственно, давно пользуюсь таким способом, в качестве примера:
-----start------
/* Проверяем наличие ресурсов в файлах текущей директории */
if RxFuncQuery('SysLoadFuncs') then do
call RxFuncAdd 'SysLoadFuncs', 'RexxUtil', 'SysLoadFuncs'
call SysLoadFuncs
end

say 'Start...'

call SysFileTree '*.exe', 'file', 'FO'
do i=1 to file.0

say file.i
Do QUEUED(); Pull .; End /* очистка очереди */
'@rdc -l' file.i '|RXQUEUE'
Do 5; Pull .; End /* пропускаем первые пять строк */
parse Pull rdc_res /* читаем шестую строку */
if pos('Invalid', rdc_res) = 1 then say '-- none'
else say '-- ok'
Do QUEUED(); Pull .; End /* очистка очереди */

end
say 'Done'
-------end-----------

Очередь чистить приходится два раза, перед использованием и в конце, т.к. ингода вылезают "хвосты" от старых вызовов.

Sun 03 Aug 2014 22:03 Mozilla/5.0 (OS/2; Warp 4.5; rv:17.0) Gecko/20100101 Firefox




Programmed by Dmitri Maximovich, Dmitry I. Platonoff, Eugen Kuleshov.
25.09.99 (c) 1999, RU/2. All rights reserved.
Rewritten by Dmitry Ban. All rights ignored.