Posted by member 12025 on 2004-08-11 11:37:05
; EXAMPLE:
; !eval !varSet tmp "<<test>style>_<<test>thick>_border_<<test>_grip>_bottom"
*script bang !eval
*script exec !varSet tmpParamCount 0 ; could be off a bit
*script exec !varSet tmpFirstParams ""
*script exec !varSet tmpLeft ""
*script exec !varSet tmpRight ""
*script exec !setlistsep <
*script exec !varSet tmpNextParam "%{P}{\%{tmpParamCount}}"
*script LABEL upToVar
*script exec !varSet curParam "%{tmpNextParam}"
*script exec !varAdd tmpParamCount "1"
*script exec !varSet tmpNextParam "%{P}{\%{tmpParamCount}}"
*script exec !msgbox "%{curParam} %{tmpNextParam} %{tmpParamCount}"
*script GOTOIF ( "%{tmpNextParam}" = "" ) foundVar
*script exec !ifEq tmpParamCount "1" '|varSet tmpFirstParams "%{\1}"' else '|varSet tmpFirstParams "%{tmpFirstParams} %{curParam}"'
*script exec !msgbox %{tmpFirstParams}
*script GOTO upToVar
; !eval !varSet tmp "<<test>style>_<<test>thick>_border_<<test>_grip>_bottom"
*script bang !eval
*script exec !varSet tmpParamCount 0 ; could be off a bit
*script exec !varSet tmpFirstParams ""
*script exec !varSet tmpLeft ""
*script exec !varSet tmpRight ""
*script exec !setlistsep <
*script exec !varSet tmpNextParam "%{P}{\%{tmpParamCount}}"
*script LABEL upToVar
*script exec !varSet curParam "%{tmpNextParam}"
*script exec !varAdd tmpParamCount "1"
*script exec !varSet tmpNextParam "%{P}{\%{tmpParamCount}}"
*script exec !msgbox "%{curParam} %{tmpNextParam} %{tmpParamCount}"
*script GOTOIF ( "%{tmpNextParam}" = "" ) foundVar
*script exec !ifEq tmpParamCount "1" '|varSet tmpFirstParams "%{\1}"' else '|varSet tmpFirstParams "%{tmpFirstParams} %{curParam}"'
*script exec !msgbox %{tmpFirstParams}
*script GOTO upToVar
The rest of the script works fine. It is in sticking together the first few paramters that it gives a "parameter missing" error. Any clue at all? With the example here, the !msgboxes give:
" !varset 1"
...paramter missing error.
"!varset tmp 2"
...and then it goes on about its business, with tmpFirstParams being blank.
...if anybody else has a better way to get all but the last parameter passed, I'm all up for that, too.
edit: < > fixed.