Как определить больше одно условие некоторое время

StackOverflow https://stackoverflow.com/questions/3832957

Вопрос

Я бы хотел что-то подобное:

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
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top