Войти

Показать полную графическую версию : [решено] Проверка выполнения нескольких условий


Smokie_id11243755
04-09-2010, 21:52
Ниже - фрагмент, где происходит проверка нескольких условий, и я подозреваю, что можно реализовать это как-то поумнее и понормальнее)) Так вот вопрос: Как?


If $dw=$dw0 then
_dh()
Else
_msgbox()
EndIf
Func _dh()
If $dh=@dh0 then
_dd()
Else
_msgbox()
EndIf
EndFunc
Func _dd()
If $dd=@dd0 then
_dr()
Else
_msgbox()
EndIf
EndFunc
Func _dr()
If $dr=@dr0 then
Exit
Else
_msgbox()
EndIf
EndFunc

Func _msgbox()
msgbox(1,"title","text",5)
EndFunc

Creat0R
04-09-2010, 22:23
я подозреваю, что можно реализовать это как-то поумнее и понормальнее »
Можно, но одного лишь этого фрагмента не достаточно. Тем более что он нерабочий.

Smokie_id11243755
04-09-2010, 22:59
Вот так допустим


$dw="dw0"
$dh="dh0"
$dd="dd0"
$dr="dr0__"

If $dw="dw0" then
_dh()
Else
_msgbox()
EndIf
Func _dh()
If $dh="dh0" then
_dd()
Else
_msgbox()
EndIf
EndFunc
Func _dd()
If $dd="dd0" then
_dr()
Else
_msgbox()
EndIf
EndFunc
Func _dr()
If $dr="dr0" then
Exit
Else
_msgbox()
EndIf
EndFunc

Func _msgbox()
msgbox(0,"Проверка нескольких условий","Хотя бы одно из условий не выполняется")
EndFunc

gregaz
04-09-2010, 23:29
Так ?
$dw="dw0"
$dh="dh0"
$dd="dd0"
$dr="dr0__"

If $dw="dw0" Then
If $dh="dh0"Then
If $dd="dd0"Then
If $dr="dr0" then
Exit
Else
_msgbox()
EndIf
Else
_msgbox()
EndIf
Else
_msgbox()
EndIf
Else
_msgbox()
EndIf

Func _msgbox()
msgbox(0,"Проверка нескольких условий","Хотя бы одно из условий не выполняется")
EndFunc

FlatX007
04-09-2010, 23:44
gregaz »

Ему скорее всего нужно использование функций ...

Smokie_id11243755
05-09-2010, 00:59
да не... мне без разницы. я просто только функциями смог это сделать - не сумел "if" оформить)

madmasles
05-09-2010, 07:19
Так, вроде, покороче будет, если не важно, какое из условий не выполняется:$dw = "dw0"
$dh = "dh0"
$dd = "dd0"
$dr = "dr0__"

If $dw <> "dw0" Or $dh <> "dh0" Or $dd <> "dd0" Or $dr <> "dr0__" Then
MsgBox(0, "Проверка нескольких условий", "Хотя бы одно из условий не выполняется.")
Else
MsgBox(0, "Проверка нескольких условий", "Все условия выполняются.")
EndIf




© OSzone.net 2001-2012