[wyróżniony]
[#3]
Re: Jak w ARexx podstawić pod zmienną wynik działania polecenia?
@radekcz,
post #1
/* Skrypt */
OPTIONS RESULTS
ADDRESS COMMAND
clipid = 'skrypt'PRAGMA('id')
rxset clipid '`RequestFile DRAWERSONLY DRAWER SYS: TITLE "Select directory"`'
w = GETCLIP(clipid)
SAY w
Jak to działa. Komenda "rxset" potrafi przejąć wynik polecenia shella i umieścić go w tak zwanym clipie. Lista tych clipów jest dostępna dla wszystkich skryptów ARexxa. Dlatego clip musi mieć unikalną nazwę. Nazwę robię ze słowa "skrypt" połączonego z identyfikatorem procesu, który pobiera PRAGMA('id'). Jak ktoś jest ciekawy, to to jest po prostu adres systemowej struktury Process zapisany szesnastkowo. Ale to detal, ważne, że dla każdego skryptu jest unikalny. Więc nasze "clipid" może wyglądąć np tak: "skrypt472A5088". To jest trochę dmuchanie na zimne, ale np. jest ważne gdyby nasz skrypt mógłby być jednocześnie odpalony więcej niż raz. Więc "rxset" zapisuje wynik RequestFile do clipa i potem za pomocą GETCLIP pobieramy go sobie do zmiennej. SAY na końcu jest tylko dla sprawdzenia, czy działa.