Technical support and scripting issues
Moderators: Dorian (MJT support), JRL
-
mightycpa
- Automation Wizard
- Posts: 343
- Joined: Mon Jan 12, 2004 4:07 pm
- Location: Vienna, VA
Post
by mightycpa » Mon Mar 15, 2021 5:47 pm
Will this code:
Code: Select all
Press Shift
Repeat>v_tab_repeat
Press Tab
Let>v_tab_repeat=%v_tab_repeat%-1
Until>%v_tab_repeat%=0
Release Shift
press a successive number of Shift-Tabs? My script is acting like it is pressing Shift-Enter instead, and also, I think when Shift gets released, Macro Scheduler in the tray opens up. Is there some keyboard shortcut that opens MS from the tray?
Also, CWD seems to care more about where the log is, rather than where the script resides.
"A facility for quotation covers the absence of original thought." - Lord Peter Wimsey
-
mightycpa
- Automation Wizard
- Posts: 343
- Joined: Mon Jan 12, 2004 4:07 pm
- Location: Vienna, VA
Post
by mightycpa » Mon Mar 15, 2021 6:42 pm
Check it out:
"A facility for quotation covers the absence of original thought." - Lord Peter Wimsey
-
mightycpa
- Automation Wizard
- Posts: 343
- Joined: Mon Jan 12, 2004 4:07 pm
- Location: Vienna, VA
Post
by mightycpa » Mon Mar 15, 2021 9:34 pm
Also, I'm starting to get a Dangerous Assignment error for this line:
Code: Select all
Let>v_tab_repeat=%v_tab_repeat%-1
It says it is a self-referencing assignment and then it wants to reset the value to zero. I don't want it to be zero.
How is this any different than:
Code: Select all
Let>k=0
Repeat>k
Let>k=k+1 <------ THIS LINE
Message>file_names_%k%
Until>k,file_names_count
Is it the percent signs?
"A facility for quotation covers the absence of original thought." - Lord Peter Wimsey
-
obfusc88
- Pro Scripter
- Posts: 87
- Joined: Wed Mar 14, 2007 6:22 pm
Post
by obfusc88 » Tue Mar 16, 2021 1:36 am
Be sure to use
Let>VAREXPLICIT=1
for the %....% variables. It then
requires the %..% when referencing the variable.
If VAREXPLICIT=0, then it always uses the literal values that follow.
The default if you do not define it =0.
From the HELP file:
Code: Select all
Explicit Variable Resolution - VAREXPLICIT
You can tell Macro Scheduler only to resolve variables that are contained within % symbols and to leave
anything else as literals by setting the VAREXPLICIT variable to 1:
Let>VAREXPLICIT=1
The default is 0 and will cause default behaviour as described above - i.e. Macro Scheduler will look at
any parameter to see if it is a variable. If a variable with that name exists, the value assigned to
that variable is used, otherwise just that literal value is used. Setting VAREXPLICIT to 1 stops this
behaviour and tells Macro Scheduler only to resolve a variable if it is contained within % symbols.
Eg.
Let>VAREXPLICIT=1
Let>Name=Fred
Send>Name
Send>%Name%
In this case the first Send> command will send the literal 'Name' and the second would send the value 'Fred'. In the following example, which is the default behaviour, both Send> commands would send the value 'Fred':
Let>VAREXPLICIT=0
Let>Name=Fred
Send>Name
Send>%Name%
-
mightycpa
- Automation Wizard
- Posts: 343
- Joined: Mon Jan 12, 2004 4:07 pm
- Location: Vienna, VA
Post
by mightycpa » Tue Mar 16, 2021 2:08 pm
Thanks. I ended up reverting back to the way that Marcus does it, and that resolved my problems. I don't know for certain, but I think that this structure is what bothers it:
It seems to like this instead:
It's a subtle difference, but it is different.
"A facility for quotation covers the absence of original thought." - Lord Peter Wimsey
-
mightycpa
- Automation Wizard
- Posts: 343
- Joined: Mon Jan 12, 2004 4:07 pm
- Location: Vienna, VA
Post
by mightycpa » Tue Mar 16, 2021 2:11 pm
Because MS won't click the Tab buttons my particular case (it seems to work in other cases, although I haven't checked if the keys light up), I went in the other direction, and now I use the keyboard wherever an MS key click in ineffective. The keyboard is easy to summon and dismiss, and its keys are easy to identify with a picture and easy to click. So, works in a pinch.
"A facility for quotation covers the absence of original thought." - Lord Peter Wimsey