(→Example) |
(→Example) |
||
(9 intermediate revisions by the same user not shown) | |||
Line 4: | Line 4: | ||
== Synopsis == | == Synopsis == | ||
while (condition) { | while (condition) { | ||
− | + | looping repeating operations and commands are located here | |
− | |||
− | |||
} | } | ||
Line 34: | Line 32: | ||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | '''Note:''' | + | '''Note:''' Use this or a similar construct/snippet of code inside any of your aliases or scripts as shown in the examples to create a loop. |
− | + | Example of a simple counter to count the number of iterations of a loop | |
<syntaxhighlight lang="mIRC"> | <syntaxhighlight lang="mIRC"> | ||
− | ;Count | + | ;Count the number of iterations from 1 to 5 |
alias whilecounter { | alias whilecounter { | ||
var %i 1, %stop 5 | var %i 1, %stop 5 | ||
Line 48: | Line 46: | ||
} | } | ||
− | ;To call the alias | + | ;To call the alias enter the command: /whilecounter |
</syntaxhighlight> | </syntaxhighlight> | ||
Line 69: | Line 67: | ||
} | } | ||
− | ;To call the alias | + | ;To call the alias enter the command: /whilereadfile |
Line 81: | Line 79: | ||
} | } | ||
− | ;To call the alias | + | ;To call the alias enter the command: /whilereadfile2 |
</syntaxhighlight> | </syntaxhighlight> | ||
Line 87: | Line 85: | ||
Example of how to print a list all variable names with their values | Example of how to print a list all variable names with their values | ||
<syntaxhighlight lang="mIRC"> | <syntaxhighlight lang="mIRC"> | ||
− | alias | + | alias whilelistvars { |
;Check if there are any variables set | ;Check if there are any variables set | ||
if (!$var(*,0)) { | if (!$var(*,0)) { | ||
− | echo -a There | + | echo -a There are no variables. |
;Return command to terminate alias function | ;Return command to terminate alias function | ||
return | return | ||
Line 109: | Line 107: | ||
} | } | ||
− | ; | + | ;To call the alias enter the command: /whilelistvars |
</syntaxhighlight> | </syntaxhighlight> | ||
Line 117: | Line 115: | ||
2) %Foo = FooBar | 2) %Foo = FooBar | ||
3) %Bar = BarFoo</pre> | 3) %Bar = BarFoo</pre> | ||
+ | |||
+ | |||
+ | Example of how to print a list all open windows with their names | ||
+ | <syntaxhighlight lang="mIRC"> | ||
+ | ;Count the number of all open windows | ||
+ | alias whilewindows { | ||
+ | echo -a Channel windows: $+([,$chan(0),]) | ||
+ | var %c 1 | while (%c <= $chan(0)) { echo -a %c : $chan(%c) | inc %c } | ||
+ | echo -a $str(-,30) | ||
+ | |||
+ | echo -a Private windows: $+([,$query(0),]) | ||
+ | var %q 1 | while (%q <= $query(0)) { echo -a %q : $query(%q) | inc %q } | ||
+ | echo -a $str(-,30) | ||
+ | |||
+ | echo -a Custom windows: $+([,$window(0),]) | ||
+ | var %w 1 | while (%w <= $window(0)) { echo -a %w : $window(%w) | inc %w } | ||
+ | echo -a $str(-,30) | ||
+ | |||
+ | echo -a Dialog windows: $+([,$dialog(0),]) | ||
+ | var %d 1 | while (%d <= $dialog(0)) { echo -a %d : $dialog(%d) | inc %d } | ||
+ | echo -a $str(-,30) | ||
+ | } | ||
+ | |||
+ | ;To call the alias enter the command: /whilewindows | ||
+ | </syntaxhighlight> | ||
== Compatibility == | == Compatibility == |
Latest revision as of 06:41, 1 September 2025
The /while command is a construct in the mIRC scripting language that can perform repetitive operations. The block of statements and commands inside the body of the while loop will be executed as long as the condition is true. You can manually break out of a loop by using the Cltr+Break key combinations.
Synopsis[edit]
while (condition) { looping repeating operations and commands are located here }
Switches[edit]
None
Parameters[edit]
None
Example[edit]
Basic construct
;Create a counter variable, set its value to 1 var %i 1 ;Create a stop variable with a value equal to the number at which you want to stop the loop. var %stop 5 ;Start of loop with a condition in round brackets () - work while the number in the variable %i is less than or equal to the number in the variable %stop while (%i <= %stop) { ;Print echo message to active window with value of counter variable echo -a Number in counter: %i ;Increase the counter variable by +1 inc %i }
Note: Use this or a similar construct/snippet of code inside any of your aliases or scripts as shown in the examples to create a loop.
Example of a simple counter to count the number of iterations of a loop
;Count the number of iterations from 1 to 5 alias whilecounter { var %i 1, %stop 5 while (%i <= %stop) { echo -a Number in counter: %i inc %i } } ;To call the alias enter the command: /whilecounter
The above example will output:
Number in counter: 1 Number in counter: 2 Number in counter: 3 Number in counter: 4 Number in counter: 5
Example of reading a file by iterating over each line
;Read all lines of a file alias whilereadfile { var %i 1 | while (%i <= $lines(file.txt)) { echo -a line %i - $read(file.txt,nt,%i) inc %i } } ;To call the alias enter the command: /whilereadfile ;Read from line 5 and stop at line 10 alias whilereadfile2 { var %i 5 | while (%i <= $lines(file.txt)) { echo -a line %i - $read(file.txt,nt,%i) if (%i == 10) break inc %i } } ;To call the alias enter the command: /whilereadfile2
Example of how to print a list all variable names with their values
alias whilelistvars { ;Check if there are any variables set if (!$var(*,0)) { echo -a There are no variables. ;Return command to terminate alias function return } ;Set a counter variable var %x 1 ;Loop while the counter variable is less than or equal to the total number of variables while (%x <= $var(*,0)) { ;Print out the variable and its value echo -a %x $+ ) $var(*,%x) = $var(*,%x).value ;Increase the variable by one inc %x } } ;To call the alias enter the command: /whilelistvars
The above example will output something like this:
1) %Var = Value 2) %Foo = FooBar 3) %Bar = BarFoo
Example of how to print a list all open windows with their names
;Count the number of all open windows alias whilewindows { echo -a Channel windows: $+([,$chan(0),]) var %c 1 | while (%c <= $chan(0)) { echo -a %c : $chan(%c) | inc %c } echo -a $str(-,30) echo -a Private windows: $+([,$query(0),]) var %q 1 | while (%q <= $query(0)) { echo -a %q : $query(%q) | inc %q } echo -a $str(-,30) echo -a Custom windows: $+([,$window(0),]) var %w 1 | while (%w <= $window(0)) { echo -a %w : $window(%w) | inc %w } echo -a $str(-,30) echo -a Dialog windows: $+([,$dialog(0),]) var %d 1 | while (%d <= $dialog(0)) { echo -a %d : $dialog(%d) | inc %d } echo -a $str(-,30) } ;To call the alias enter the command: /whilewindows
Compatibility[edit]
Added: mIRC v5.7
Added on: 02 Feb 2000
Note: Unless otherwise stated, this was the date of original functionality.
Further enhancements may have been made in later versions.