Войти

Показать полную графическую версию : [решено] Помогите правильно записать For to....


Centrinar
07-09-2010, 14:43
$sOS1 = 'WIN_XP'
$sOS2 = 'WIN_2000'
$sOS3 = 'WIN_2003'
$sOS4 = 'WIN_NT4'
For $i = 1 to 4
If @OSVersion = $sOS[$i] Then
FileCopy......
Else....

Как правильно записать?

madmasles
07-09-2010, 14:48
Centrinar,
Так попробуйте:Dim $aOS[5] = [4, 'WIN_XP', 'WIN_2000', 'WIN_2003', 'WIN_NT4']
For $i = 1 To $aOS[0]
If @OSVersion = $aOS[$i] Then
FileCopy...
EndIf
Next

Creat0R
07-09-2010, 14:59
Если без массива:

$sOS1 = 'WIN_XP'
$sOS2 = 'WIN_2000'
$sOS3 = 'WIN_2003'
$sOS4 = 'WIN_NT4'

For (http://www.autoitscript.com/autoit3/docs/keywords.htm#For) $i = 1 to (http://www.autoitscript.com/autoit3/docs/keywords.htm#To) 4
If (http://www.autoitscript.com/autoit3/docs/keywords.htm#If) @OSVersion (http://www.autoitscript.com/autoit3/docs/macros.htm#@osversion) = Eval (http://www.autoitscript.com/autoit3/docs/functions/Eval.htm)("sOS" & $i) Then (http://www.autoitscript.com/autoit3/docs/keywords.htm#Then)
FileCopy (http://www.autoitscript.com/autoit3/docs/functions/FileCopy.htm).....
Else (http://www.autoitscript.com/autoit3/docs/keywords.htm#Else)
.....
EndIf (http://www.autoitscript.com/autoit3/docs/keywords.htm#EndIf)
Next (http://www.autoitscript.com/autoit3/docs/keywords.htm#Next)

но с массивом всё же легче.

FlatX007
07-09-2010, 17:12
можно ещё так:

Switch @OSVersion
Case 'WIN_XP'

Case 'WIN_2000'

Case 'WIN_2003'

Case 'WIN_NT4'

Case Else

EndSwitch

Creat0R
07-09-2010, 23:05
можно ещё так »
Или так:

Dim (http://www.autoitscript.com/autoit3/docs/keywords.htm#Dim) $aOSs = StringSplit (http://www.autoitscript.com/autoit3/docs/functions/StringSplit.htm)('XP|2000|2003|NT4', '|', 2)

For (http://www.autoitscript.com/autoit3/docs/keywords.htm#For) $sOS In (http://www.autoitscript.com/autoit3/docs/keywords.htm#In) $aOSs
If (http://www.autoitscript.com/autoit3/docs/keywords.htm#If) @OSVersion (http://www.autoitscript.com/autoit3/docs/macros.htm#@osversion) = 'WIN_' & $sOS Then (http://www.autoitscript.com/autoit3/docs/keywords.htm#Then)
;....
EndIf (http://www.autoitscript.com/autoit3/docs/keywords.htm#EndIf)
Next (http://www.autoitscript.com/autoit3/docs/keywords.htm#Next)




© OSzone.net 2001-2012