running-frag
why me?
- Сообщения
- 441
- Репутация
- 60
Задача така. Есть массив, ну допустим (полностью не буду описывать)
и есть функция
Теперь задача.
Задача функции пробежать все элементы массива (ну в данный момент у нас получается только 4). На накоторых выполняется функция _window_checkLocation (), которая отдаёт True\False. Теперь чего хочется от этой функции. Нужно что бы мы вышли из цикла (While Not $_return) только тогда, когда все вызовы функции _window_checkLocation () отдали нам True. Если хотя бы один элемент отдал False - катаемся дальше по циклу.
Чего то кручу верчу нефига не получается.
Добавлено:
Вот ещё вариант родил.
Но это не подойдёт т.к. нам нужна будет ещё функция для определение количество $_chr (количество значений True из массива $stClient[$i][3]). А хочется без неё.
Добавлено:
Код:
...
$stClient[1][3] = True
...
$stClient[2][3] = False
...
и есть функция
Код:
Func _window_checkAllClients ()
Local $_return = False
While Not ($_return)
For $i = 1 To 4
If $stClient[$i][3] Then
If _window_checkLocation ($stClient[$i][2], True, True) Then ; вот тут нужно изменять чекер $_return
EndIf
Next
WEnd
Return True
EndFunc
Теперь задача.
Задача функции пробежать все элементы массива (ну в данный момент у нас получается только 4). На накоторых выполняется функция _window_checkLocation (), которая отдаёт True\False. Теперь чего хочется от этой функции. Нужно что бы мы вышли из цикла (While Not $_return) только тогда, когда все вызовы функции _window_checkLocation () отдали нам True. Если хотя бы один элемент отдал False - катаемся дальше по циклу.
Чего то кручу верчу нефига не получается.
Добавлено:
Сообщение автоматически объединено:
Вот ещё вариант родил.
Код:
Func _window_checkAllClients ()
Local $_result = True
Local $_chr = 4 ; предпологается что в массиве будет всего четыре значения True
Local $_sum = 0
While True
For $i = 1 To $_chr
If $stClient[$i][3] Then
_client_makeActive ($stClient[$i][1])
If _window_checkLocation ($stClient[$i][2], True, True) Then $_sum += 1
; вот тут нужно изменять чекер
EndIf
Next
If $_sum = 4 Then ExitLoop
$_sum = 0
WEnd
Return True
EndFunc
Но это не подойдёт т.к. нам нужна будет ещё функция для определение количество $_chr (количество значений True из массива $stClient[$i][3]). А хочется без неё.
Добавлено:
Сообщение автоматически объединено:
OffTopic:
Назвал тему не так, сейчас переименую.
Назвал тему не так, сейчас переименую.