Чтобы ответить на ваш вопрос, нам может потребоваться дополнительная информация. - Вы получаете сообщение об ошибке? - Где находится label1 и listbox6? - Что вызывает код? Какое событие вы пытаетесь использовать?
Dim intIndex As Integer
Dim intCount As Integer
intcount = 0
With **Form1.**ListBox6
For intIndex = 0 To .ListCount - 1
If .Selected(intIndex) Then
intCount = intCount + 1
End if
Next
**Me.**Label1.Caption = "Deelnemers: " & intCount & " op " & .ListCount
End With
Вы также можете попробовать для каждого цикла;
Dim Li as listitem
dim seleciontcount as integer
selectioncount = 0
For each li in listbox6.items
if li.selected then
selectioncount = selectioncount + 1
end if
next
PHP не может проанализировать нетривиальные выражения в инициализаторах.
Я предпочитаю работать вокруг этого путем добавления кода прямо после определения класса:
class Foo {
static $bar;
}
Foo::$bar = array(…);
или
class Foo {
private static $bar;
static function init()
{
self::$bar = array(…);
}
}
Foo::init();
PHP 5.6 может обработать некоторые выражения теперь.
/* For Abstract classes */
abstract class Foo{
private static function bar(){
static $bar = null;
if ($bar == null)
bar = array(...);
return $bar;
}
/* use where necessary */
self::bar();
}
Это слишком сложно для установки в определении. Можно установить определение в NULL, хотя, и затем в конструкторе, проверьте его, и если это не было изменено - устанавливает его:
private static $dates = null;
public function __construct()
{
if (is_null(self::$dates)) { // OR if (!is_array(self::$date))
self::$dates = array( /* .... */);
}
}
Вы не можете сделать вызовы функции в этой части кода. При создании init () методом типа, который выполняется, прежде чем любой другой код делает затем, Вы сможете заполнить переменную затем.