root / tmp / org.txm.setups / nsis / Examples / LogicLib.nsi @ 3101
Historique | Voir | Annoter | Télécharger (12,22 ko)
1 |
!verbose 2 |
---|---|
2 |
|
3 |
Name "NSIS LogicLib Example" |
4 |
OutFile "LogicLib.exe" |
5 |
ShowInstDetails show |
6 |
RequestExecutionLevel user |
7 |
|
8 |
!include "LogicLib.nsh" |
9 |
|
10 |
;!undef LOGICLIB_VERBOSITY |
11 |
;!define LOGICLIB_VERBOSITY 4 ; For debugging - watch what logiclib does with your code! |
12 |
|
13 |
Page components "" "" ComponentsLeave |
14 |
Page instfiles |
15 |
|
16 |
Section /o "Run tests" TESTS |
17 |
|
18 |
; kinds of if other than "value1 comparison value2" |
19 |
ClearErrors |
20 |
FindFirst $R1 $R2 "$PROGRAMFILES\*" |
21 |
${Unless} ${Errors} |
22 |
${Do} |
23 |
${Select} $R2 |
24 |
${Case2} "." ".." |
25 |
; Do nothing |
26 |
${CaseElse} |
27 |
DetailPrint "Found $PROGRAMFILES\$R2" |
28 |
${EndSelect} |
29 |
FindNext $R1 $R2 |
30 |
${LoopUntil} ${Errors} |
31 |
FindClose $R1 |
32 |
${EndUnless} |
33 |
|
34 |
${If} ${FileExists} "${__FILE__}" |
35 |
DetailPrint 'Source file "${__FILE__}" still exists' |
36 |
${Else} |
37 |
DetailPrint 'Source file "${__FILE__}" has gone' |
38 |
${EndIf} |
39 |
|
40 |
; if..endif |
41 |
StrCpy $R1 1 |
42 |
StrCpy $R2 "" |
43 |
${If} $R1 = 1 |
44 |
StrCpy $R2 $R2A |
45 |
${EndIf} |
46 |
${If} $R1 = 2 |
47 |
StrCpy $R2 $R2B |
48 |
${EndIf} |
49 |
${If} $R1 < 2 |
50 |
StrCpy $R2 $R2C |
51 |
${EndIf} |
52 |
${If} $R1 < -2 |
53 |
StrCpy $R2 $R2D |
54 |
${EndIf} |
55 |
${If} $R1 > 2 |
56 |
StrCpy $R2 $R2E |
57 |
${EndIf} |
58 |
${If} $R1 > -2 |
59 |
StrCpy $R2 $R2F |
60 |
${EndIf} |
61 |
${If} $R1 <> 1 |
62 |
StrCpy $R2 $R2G |
63 |
${EndIf} |
64 |
${If} $R1 <> 2 |
65 |
StrCpy $R2 $R2H |
66 |
${EndIf} |
67 |
${If} $R1 >= 2 |
68 |
StrCpy $R2 $R2I |
69 |
${EndIf} |
70 |
${If} $R1 >= -2 |
71 |
StrCpy $R2 $R2J |
72 |
${EndIf} |
73 |
${If} $R1 <= 2 |
74 |
StrCpy $R2 $R2K |
75 |
${EndIf} |
76 |
${If} $R1 <= -2 |
77 |
StrCpy $R2 $R2L |
78 |
${EndIf} |
79 |
${If} $R2 == "ACFHJK" |
80 |
DetailPrint "PASSED If..EndIf test" |
81 |
${Else} |
82 |
DetailPrint "FAILED If..EndIf test" |
83 |
${EndIf} |
84 |
|
85 |
; if..elseif..else..endif |
86 |
StrCpy $R1 A |
87 |
StrCpy $R2 "" |
88 |
${If} $R1 == A |
89 |
StrCpy $R2 $R2A |
90 |
${ElseIf} $R1 == B |
91 |
StrCpy $R2 $R2B |
92 |
${ElseUnless} $R1 != C |
93 |
StrCpy $R2 $R2C |
94 |
${Else} |
95 |
StrCpy $R2 $R2D |
96 |
${EndIf} |
97 |
${If} $R1 == D |
98 |
StrCpy $R2 $R2D |
99 |
${ElseIf} $R1 == A |
100 |
StrCpy $R2 $R2A |
101 |
${ElseUnless} $R1 != B |
102 |
StrCpy $R2 $R2B |
103 |
${Else} |
104 |
StrCpy $R2 $R2C |
105 |
${EndIf} |
106 |
${If} $R1 == C |
107 |
StrCpy $R2 $R2C |
108 |
${ElseIf} $R1 == D |
109 |
StrCpy $R2 $R2D |
110 |
${ElseUnless} $R1 != A |
111 |
StrCpy $R2 $R2A |
112 |
${Else} |
113 |
StrCpy $R2 $R2B |
114 |
${EndIf} |
115 |
${If} $R1 == B |
116 |
StrCpy $R2 $R2B |
117 |
${ElseIf} $R1 == C |
118 |
StrCpy $R2 $R2C |
119 |
${ElseUnless} $R1 != D |
120 |
StrCpy $R2 $R2D |
121 |
${Else} |
122 |
StrCpy $R2 $R2A |
123 |
${EndIf} |
124 |
${If} $R2 == "$R1$R1$R1$R1" |
125 |
DetailPrint "PASSED If..ElseIf..Else..EndIf test" |
126 |
${Else} |
127 |
DetailPrint "FAILED If..ElseIf..Else..EndIf test" |
128 |
${EndIf} |
129 |
|
130 |
; if..andif..orif..endif |
131 |
StrCpy $R2 "" |
132 |
${If} 1 = 1 |
133 |
${AndIf} 2 = 2 |
134 |
StrCpy $R2 $R2A |
135 |
${Else} |
136 |
StrCpy $R2 $R2B |
137 |
${EndIf} |
138 |
${If} 1 = 1 |
139 |
${AndIf} 2 = 3 |
140 |
StrCpy $R2 $R2B |
141 |
${Else} |
142 |
StrCpy $R2 $R2A |
143 |
${EndIf} |
144 |
${If} 1 = 2 |
145 |
${AndIf} 2 = 2 |
146 |
StrCpy $R2 $R2B |
147 |
${Else} |
148 |
StrCpy $R2 $R2A |
149 |
${EndIf} |
150 |
${If} 1 = 2 |
151 |
${AndIf} 2 = 3 |
152 |
StrCpy $R2 $R2B |
153 |
${Else} |
154 |
StrCpy $R2 $R2A |
155 |
${EndIf} |
156 |
|
157 |
${If} 1 = 1 |
158 |
${OrIf} 2 = 2 |
159 |
StrCpy $R2 $R2A |
160 |
${Else} |
161 |
StrCpy $R2 $R2B |
162 |
${EndIf} |
163 |
${If} 1 = 1 |
164 |
${OrIf} 2 = 3 |
165 |
StrCpy $R2 $R2A |
166 |
${Else} |
167 |
StrCpy $R2 $R2B |
168 |
${EndIf} |
169 |
${If} 1 = 2 |
170 |
${OrIf} 2 = 2 |
171 |
StrCpy $R2 $R2A |
172 |
${Else} |
173 |
StrCpy $R2 $R2B |
174 |
${EndIf} |
175 |
${If} 1 = 2 |
176 |
${OrIf} 2 = 3 |
177 |
StrCpy $R2 $R2B |
178 |
${Else} |
179 |
StrCpy $R2 $R2A |
180 |
${EndIf} |
181 |
|
182 |
${If} 1 = 1 |
183 |
${AndIf} 2 = 2 |
184 |
${OrIf} 3 = 3 |
185 |
StrCpy $R2 $R2A |
186 |
${Else} |
187 |
StrCpy $R2 $R2B |
188 |
${EndIf} |
189 |
${If} 1 = 1 |
190 |
${AndIf} 2 = 3 |
191 |
${OrIf} 3 = 3 |
192 |
StrCpy $R2 $R2A |
193 |
${Else} |
194 |
StrCpy $R2 $R2B |
195 |
${EndIf} |
196 |
${If} 1 = 2 |
197 |
${AndIf} 2 = 2 |
198 |
${OrIf} 3 = 3 |
199 |
StrCpy $R2 $R2A |
200 |
${Else} |
201 |
StrCpy $R2 $R2B |
202 |
${EndIf} |
203 |
${If} 1 = 2 |
204 |
${AndIf} 2 = 3 |
205 |
${OrIf} 3 = 3 |
206 |
StrCpy $R2 $R2A |
207 |
${Else} |
208 |
StrCpy $R2 $R2B |
209 |
${EndIf} |
210 |
${If} 1 = 1 |
211 |
${AndIf} 2 = 2 |
212 |
${OrIf} 3 = 4 |
213 |
StrCpy $R2 $R2A |
214 |
${Else} |
215 |
StrCpy $R2 $R2B |
216 |
${EndIf} |
217 |
${If} 1 = 1 |
218 |
${AndIf} 2 = 3 |
219 |
${OrIf} 3 = 4 |
220 |
StrCpy $R2 $R2B |
221 |
${Else} |
222 |
StrCpy $R2 $R2A |
223 |
${EndIf} |
224 |
${If} 1 = 2 |
225 |
${AndIf} 2 = 2 |
226 |
${OrIf} 3 = 4 |
227 |
StrCpy $R2 $R2B |
228 |
${Else} |
229 |
StrCpy $R2 $R2A |
230 |
${EndIf} |
231 |
${If} 1 = 2 |
232 |
${AndIf} 2 = 3 |
233 |
${OrIf} 3 = 4 |
234 |
StrCpy $R2 $R2B |
235 |
${Else} |
236 |
StrCpy $R2 $R2A |
237 |
${EndIf} |
238 |
|
239 |
${If} 1 = 1 |
240 |
${OrIf} 2 = 2 |
241 |
${AndIf} 3 = 3 |
242 |
StrCpy $R2 $R2A |
243 |
${Else} |
244 |
StrCpy $R2 $R2B |
245 |
${EndIf} |
246 |
${If} 1 = 1 |
247 |
${OrIf} 2 = 3 |
248 |
${AndIf} 3 = 3 |
249 |
StrCpy $R2 $R2A |
250 |
${Else} |
251 |
StrCpy $R2 $R2B |
252 |
${EndIf} |
253 |
${If} 1 = 2 |
254 |
${OrIf} 2 = 2 |
255 |
${AndIf} 3 = 3 |
256 |
StrCpy $R2 $R2A |
257 |
${Else} |
258 |
StrCpy $R2 $R2B |
259 |
${EndIf} |
260 |
${If} 1 = 2 |
261 |
${OrIf} 2 = 3 |
262 |
${AndIf} 3 = 3 |
263 |
StrCpy $R2 $R2B |
264 |
${Else} |
265 |
StrCpy $R2 $R2A |
266 |
${EndIf} |
267 |
${If} 1 = 1 |
268 |
${OrIf} 2 = 2 |
269 |
${AndIf} 3 = 4 |
270 |
StrCpy $R2 $R2B |
271 |
${Else} |
272 |
StrCpy $R2 $R2A |
273 |
${EndIf} |
274 |
${If} 1 = 1 |
275 |
${OrIf} 2 = 3 |
276 |
${AndIf} 3 = 4 |
277 |
StrCpy $R2 $R2B |
278 |
${Else} |
279 |
StrCpy $R2 $R2A |
280 |
${EndIf} |
281 |
${If} 1 = 2 |
282 |
${OrIf} 2 = 2 |
283 |
${AndIf} 3 = 4 |
284 |
StrCpy $R2 $R2B |
285 |
${Else} |
286 |
StrCpy $R2 $R2A |
287 |
${EndIf} |
288 |
${If} 1 = 2 |
289 |
${OrIf} 2 = 3 |
290 |
${AndIf} 3 = 4 |
291 |
StrCpy $R2 $R2B |
292 |
${Else} |
293 |
StrCpy $R2 $R2A |
294 |
${EndIf} |
295 |
|
296 |
${If} $R2 == "AAAAAAAAAAAAAAAAAAAAAAAA" |
297 |
DetailPrint "PASSED If..AndIf..OrIf..Else..EndIf test" |
298 |
${Else} |
299 |
DetailPrint "FAILED If..AndIf..OrIf..Else..EndIf test" |
300 |
${EndIf} |
301 |
|
302 |
; ifthen..|..| |
303 |
StrCpy $R1 1 |
304 |
StrCpy $R2 "" |
305 |
${IfThen} $R1 = 1 ${|} StrCpy $R2 $R2A ${|} |
306 |
${IfThen} $R1 = 2 ${|} StrCpy $R2 $R2B ${|} |
307 |
${IfNotThen} $R1 = 1 ${|} StrCpy $R2 $R2C ${|} |
308 |
${IfNotThen} $R1 = 2 ${|} StrCpy $R2 $R2D ${|} |
309 |
${If} $R2 == "AD" |
310 |
DetailPrint "PASSED IfThen test" |
311 |
${Else} |
312 |
DetailPrint "FAILED IfThen test" |
313 |
${EndIf} |
314 |
|
315 |
; ifcmd..||..| and if/unless cmd |
316 |
StrCpy $R2 "" |
317 |
${IfCmd} MessageBox MB_YESNO "Please click Yes" IDYES ${||} StrCpy $R2 $R2A ${|} |
318 |
${Unless} ${Cmd} `MessageBox MB_YESNO|MB_DEFBUTTON2 "Please click No" IDYES` |
319 |
StrCpy $R2 $R2B |
320 |
${EndUnless} |
321 |
${If} $R2 == "AB" |
322 |
DetailPrint "PASSED IfCmd/If Cmd test" |
323 |
${Else} |
324 |
DetailPrint "FAILED IfCmd/If Cmd test" |
325 |
${EndIf} |
326 |
|
327 |
; select..case..case2..case3..case4..case5..caseelse..endselect |
328 |
StrCpy $R1 1 |
329 |
StrCpy $R2 "" |
330 |
${Select} $R1 |
331 |
${Case} "1" |
332 |
StrCpy $R2 $R2A |
333 |
${Case} "2" |
334 |
StrCpy $R2 $R2B |
335 |
${Case2} "3" "4" |
336 |
StrCpy $R2 $R2C |
337 |
${CaseElse} |
338 |
StrCpy $R2 $R2D |
339 |
${EndSelect} |
340 |
${Select} $R1 |
341 |
${Case} "2" |
342 |
StrCpy $R2 $R2A |
343 |
${Case} "3" |
344 |
StrCpy $R2 $R2B |
345 |
${Case2} "4" "5" |
346 |
StrCpy $R2 $R2C |
347 |
${CaseElse} |
348 |
StrCpy $R2 $R2D |
349 |
${EndSelect} |
350 |
${Select} $R1 |
351 |
${Case} "3" |
352 |
StrCpy $R2 $R2A |
353 |
${Case} "4" |
354 |
StrCpy $R2 $R2B |
355 |
${Case2} "5" "1" |
356 |
StrCpy $R2 $R2C |
357 |
${CaseElse} |
358 |
StrCpy $R2 $R2D |
359 |
${EndSelect} |
360 |
${Select} $R1 |
361 |
${Case} "4" |
362 |
StrCpy $R2 $R2A |
363 |
${Case} "5" |
364 |
StrCpy $R2 $R2B |
365 |
${Case2} "1" "2" |
366 |
StrCpy $R2 $R2C |
367 |
${CaseElse} |
368 |
StrCpy $R2 $R2D |
369 |
${EndSelect} |
370 |
${If} $R2 == "ADCC" |
371 |
DetailPrint "PASSED Select..Case*..EndSelect test" |
372 |
${Else} |
373 |
DetailPrint "FAILED Select..Case*..EndSelect test" |
374 |
${EndIf} |
375 |
|
376 |
; switch..case..caseelse..endswitch |
377 |
StrCpy $R2 "" |
378 |
${For} $R1 1 10 |
379 |
${Switch} $R1 |
380 |
${Case} 3 |
381 |
StrCpy $R2 $R2A |
382 |
${Case} 4 |
383 |
StrCpy $R2 $R2B |
384 |
${Break} |
385 |
${Case} 5 |
386 |
StrCpy $R2 $R2C |
387 |
${EndSwitch} |
388 |
${Switch} $R1 |
389 |
${Case} 1 |
390 |
StrCpy $R2 $R2D |
391 |
${Default} |
392 |
StrCpy $R2 $R2E |
393 |
${Break} |
394 |
${Case} 2 |
395 |
StrCpy $R2 $R2F |
396 |
${EndSwitch} |
397 |
${Switch} $R1 |
398 |
${Case} 6 |
399 |
${Case} 7 |
400 |
StrCpy $R2 $R2G |
401 |
${If} $R1 = 6 |
402 |
${Case} 8 |
403 |
StrCpy $R2 $R2H |
404 |
${Switch} $R1 |
405 |
${Case} 6 |
406 |
StrCpy $R2 $R2I |
407 |
${Break} |
408 |
${Case} 8 |
409 |
StrCpy $R2 $R2J |
410 |
${EndSwitch} |
411 |
${EndIf} |
412 |
StrCpy $R2 $R2K |
413 |
${Break} |
414 |
${Default} |
415 |
StrCpy $R2 $R2L |
416 |
${Case} 9 |
417 |
StrCpy $R2 $R2M |
418 |
${EndSwitch} |
419 |
${Next} |
420 |
${If} $R2 == "DELMFLMABELMBELMCELMEGHIKEGKEHJKEMELM" |
421 |
DetailPrint "PASSED Switch..Case*..EndSwitch test" |
422 |
${Else} |
423 |
DetailPrint "FAILED Switch..Case*..EndSwitch test" |
424 |
${EndIf} |
425 |
|
426 |
; for[each]..exitfor..next |
427 |
StrCpy $R2 "" |
428 |
${For} $R1 1 5 |
429 |
StrCpy $R2 $R2$R1 |
430 |
${Next} |
431 |
${ForEach} $R1 10 1 - 1 |
432 |
StrCpy $R2 $R2$R1 |
433 |
${Next} |
434 |
${For} $R1 1 0 |
435 |
StrCpy $R2 $R2$R1 |
436 |
${Next} |
437 |
${If} $R2 == "1234510987654321" |
438 |
DetailPrint "PASSED For[Each]..Next test" |
439 |
${Else} |
440 |
DetailPrint "FAILED For[Each]..Next test" |
441 |
${EndIf} |
442 |
|
443 |
; do..loop |
444 |
StrCpy $R1 0 |
445 |
Call DoLoop |
446 |
${If} $R1 == 5 |
447 |
DetailPrint "PASSED Do..Loop test" |
448 |
${Else} |
449 |
DetailPrint "FAILED Do..Loop test" |
450 |
${EndIf} |
451 |
|
452 |
; do..exitdo..loop |
453 |
StrCpy $R1 0 |
454 |
StrCpy $R2 "" |
455 |
${Do} |
456 |
StrCpy $R2 $R2$R1 |
457 |
IntOp $R1 $R1 + 1 |
458 |
${If} $R1 > 10 |
459 |
${ExitDo} |
460 |
${EndIf} |
461 |
${Loop} |
462 |
${If} $R2 == "012345678910" |
463 |
DetailPrint "PASSED Do..ExitDo..Loop test" |
464 |
${Else} |
465 |
DetailPrint "FAILED Do..ExitDo..Loop test" |
466 |
${EndIf} |
467 |
|
468 |
; do..exitdo..loopuntil |
469 |
StrCpy $R1 0 |
470 |
StrCpy $R2 "" |
471 |
${Do} |
472 |
StrCpy $R2 $R2$R1 |
473 |
IntOp $R1 $R1 + 1 |
474 |
${LoopUntil} $R1 >= 5 |
475 |
${If} $R2 == "01234" |
476 |
DetailPrint "PASSED Do..ExitDo..LoopUntil test" |
477 |
${Else} |
478 |
DetailPrint "FAILED Do..ExitDo..LoopUntil test" |
479 |
${EndIf} |
480 |
|
481 |
; dountil..exitdo..loop |
482 |
StrCpy $R1 0 |
483 |
StrCpy $R2 "" |
484 |
${DoUntil} $R1 >= 5 |
485 |
StrCpy $R2 $R2$R1 |
486 |
IntOp $R1 $R1 + 1 |
487 |
${Loop} |
488 |
${If} $R2 == "01234" |
489 |
DetailPrint "PASSED DoUntil..ExitDo..Loop test" |
490 |
${Else} |
491 |
DetailPrint "FAILED DoUntil..ExitDo..Loop test" |
492 |
${EndIf} |
493 |
|
494 |
; nested do test |
495 |
StrCpy $R1 0 |
496 |
StrCpy $R2 0 |
497 |
StrCpy $R3 "" |
498 |
${Do} |
499 |
StrCpy $R3 $R3$R1$R2 |
500 |
IntOp $R1 $R1 + 1 |
501 |
${If} $R1 > 5 |
502 |
${ExitDo} |
503 |
${EndIf} |
504 |
StrCpy $R2 0 |
505 |
${Do} |
506 |
StrCpy $R3 $R3$R1$R2 |
507 |
IntOp $R2 $R2 + 1 |
508 |
${If} $R2 >= 5 |
509 |
${ExitDo} |
510 |
${EndIf} |
511 |
${Loop} |
512 |
${Loop} |
513 |
${If} $R3 == "00101112131415202122232425303132333435404142434445505152535455" |
514 |
DetailPrint "PASSED nested Do test" |
515 |
${Else} |
516 |
DetailPrint "FAILED nested Do test" |
517 |
${EndIf} |
518 |
|
519 |
; while..exitwhile..endwhile (exact replica of dowhile..enddo} |
520 |
StrCpy $R1 0 |
521 |
StrCpy $R2 "" |
522 |
${While} $R1 < 5 |
523 |
StrCpy $R2 $R2$R1 |
524 |
IntOp $R1 $R1 + 1 |
525 |
${EndWhile} |
526 |
${If} $R2 == "01234" |
527 |
DetailPrint "PASSED While..ExitWhile..EndWhile test" |
528 |
${Else} |
529 |
DetailPrint "FAILED While..ExitWhile..EndWhile test" |
530 |
${EndIf} |
531 |
|
532 |
; Unsigned integer tests |
533 |
StrCpy $R2 "" |
534 |
${If} -1 < 1 |
535 |
StrCpy $R2 $R2A |
536 |
${EndIf} |
537 |
${If} -1 U< 1 |
538 |
StrCpy $R2 $R2B |
539 |
${EndIf} |
540 |
${If} 0xFFFFFFFF > 1 |
541 |
StrCpy $R2 $R2C |
542 |
${EndIf} |
543 |
${If} 0xFFFFFFFF U> 1 |
544 |
StrCpy $R2 $R2D |
545 |
${EndIf} |
546 |
${If} $R2 == "AD" |
547 |
DetailPrint "PASSED unsigned integer test" |
548 |
${Else} |
549 |
DetailPrint "FAILED unsigned integer test" |
550 |
${EndIf} |
551 |
|
552 |
; 64-bit integer tests (uses System.dll) |
553 |
StrCpy $R2 "" |
554 |
${If} 0x100000000 L= 4294967296 |
555 |
StrCpy $R2 $R2A |
556 |
${EndIf} |
557 |
${If} 0x100000000 L< 0x200000000 |
558 |
StrCpy $R2 $R2B |
559 |
${EndIf} |
560 |
${If} 0x500000000 L>= 0x500000000 |
561 |
StrCpy $R2 $R2C |
562 |
${EndIf} |
563 |
${If} $R2 == "ABC" |
564 |
DetailPrint "PASSED 64-bit integer test" |
565 |
${Else} |
566 |
DetailPrint "FAILED 64-bit integer test" |
567 |
${EndIf} |
568 |
|
569 |
; Extra string tests (uses System.dll) |
570 |
StrCpy $R2 "" |
571 |
${If} "A" S< "B" |
572 |
StrCpy $R2 $R2A |
573 |
${EndIf} |
574 |
${If} "b" S> "A" |
575 |
StrCpy $R2 $R2B |
576 |
${EndIf} |
577 |
${If} "a" S<= "B" |
578 |
StrCpy $R2 $R2C |
579 |
${EndIf} |
580 |
${If} "B" S< "B" |
581 |
StrCpy $R2 $R2D |
582 |
${EndIf} |
583 |
${If} "A" S== "A" |
584 |
StrCpy $R2 $R2E |
585 |
${EndIf} |
586 |
${If} "A" S== "a" |
587 |
StrCpy $R2 $R2F |
588 |
${EndIf} |
589 |
${If} "A" S!= "a" |
590 |
StrCpy $R2 $R2G |
591 |
${EndIf} |
592 |
${If} $R2 == "ABCEG" |
593 |
DetailPrint "PASSED extra string test" |
594 |
${Else} |
595 |
DetailPrint "FAILED extra string test" |
596 |
${EndIf} |
597 |
|
598 |
SectionEnd |
599 |
|
600 |
Function ComponentsLeave |
601 |
; Section flags tests (requires sections.nsh be included) |
602 |
${Unless} ${SectionIsSelected} ${TESTS} |
603 |
MessageBox MB_OK "Please select the component" |
604 |
Abort |
605 |
${EndIf} |
606 |
FunctionEnd |
607 |
|
608 |
Function DoLoop |
609 |
|
610 |
${Do} |
611 |
IntOp $R1 $R1 + 1 |
612 |
${If} $R1 == 5 |
613 |
Return |
614 |
${EndIf} |
615 |
${Loop} |
616 |
|
617 |
FunctionEnd |
618 |
|
619 |
!verbose 3 |