You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
MsgBox, Hello, world! ; old
MsgBox "Hello", "world!" ; new (incorrect)
MsgBox "Hello, world!" ; correct
For most commands, commas in the last parameter do not need to be escaped; i.e. they are automatically literal. The second number in each g_act entry indicates the maximum number of parameters.
However, MsgBox has special handling for comma, so:
If the first apparent parameter (Options) does not have the % force-expression prefix and is not a positive integer such as 48 or empty, the command is treated as having maximum 1 parameter (all commas are literal).
If the third apparent parameter (Text) has the % force-expression prefix, the command is treated as normal (maximum 4 parameters).
If the fourth apparent parameter (Timeout) does not have the % force-expression prefix and is not a positive number such as 1.0 or empty, the command is treated as having maximum 3 parameters (so all commas in the third parameter are literal).
When there is an expression parameter, splitting the parameters correctly requires matching up (), [] and {} (i.e. any comma enclosed within them does not delimit command parameters).
MsgBox 48, Title, Text, 1.0 ; all commas are delimiters
MsgBox, , Title, Text, ; as above
MsgBox % Options, Title, Text, % Timeout ; as above
MsgBox 16,, Hello, world! ; only the first two commas delimit parameters
MsgBox % Options,, Hello, world! ; as above
MsgBox Options, Title, Text, Timeout ; ignore the words, this is all just one Text parameter
The text was updated successfully, but these errors were encountered:
For most commands, commas in the last parameter do not need to be escaped; i.e. they are automatically literal. The second number in each g_act entry indicates the maximum number of parameters.
However, MsgBox has special handling for comma, so:
%
force-expression prefix and is not a positive integer such as48
or empty, the command is treated as having maximum 1 parameter (all commas are literal).%
force-expression prefix, the command is treated as normal (maximum 4 parameters).%
force-expression prefix and is not a positive number such as1.0
or empty, the command is treated as having maximum 3 parameters (so all commas in the third parameter are literal).When there is an expression parameter, splitting the parameters correctly requires matching up
()
,[]
and{}
(i.e. any comma enclosed within them does not delimit command parameters).The text was updated successfully, but these errors were encountered: