Как определить больше одно условие некоторое время
-
26-09-2019 - |
Вопрос
Я бы хотел что-то подобное:
While Not RdoRst.EOF And RdoRst(2) = "Foo"
cboComboBox.AddItem RdoRst(1)
cboComboBox.ItemData(cboComboBox.NewIndex) = RdoRst(0)
RdoRst.MoveNext
Wend
Я хочу, чтобы выражение 1 (не Rdorst.eOF) оценивается в первую очередь. Тогда, если он возвращает True, также оценивается выражение 2 (Rdorst (2) = "foo"). Если выражение 1 возвращает false, выражение 2 не оценивается.
С уважением,
Флориан
Решение
А также не доступен в VB6. Попробуй это
Do
If RdoRst.EOF Then Exit Do
If Not RdoRst(2) ="Foo" Then Exit Do
cboComboBox.AddItem RdoRst(1)
cboComboBox.ItemData(cboComboBox.NewIndex) = RdoRst(0)
RdoRst.MoveNext
Loop
Другие советы
Вопрос относится к оценке «короткого замыкания» выражения условий. Ну VB6 не поддерживает эту функцию. Я знаю, что это глупо.
While Not RdoRst.EOF
If RdoRst(2) = "Foo" Then
cboComboBox.AddItem RdoRst(1)
cboComboBox.ItemData(cboComboBox.NewIndex) = RdoRst(0)
Else
Exit Wend
End If
RdoRst.MoveNext
Wend
Не связан с StackOverflow