好了,所以我一直在編寫一個程序,並且由於某種原因,當我將一些代碼放入else語句時,它不會運行statemant,甚至不會運行原始如果語句,但是當我把它放在一個普通的If和else語句中時,它完美地工作。ElseIf語句不會運行整個代碼VB
這段代碼的工作原理:
If TextBox5.Text > TextBox1.Text & TextBox6.Text > TextBox2.Text Then 'NE
Bearing = Atan(X2/Y2) * 57.3
Else
Bearing = Atan(Y2/X2) * 57.3
Bearing = Bearing + -Bearing + -Bearing + 90
If BOFF > 0 Then
Bearing = Bearing - Math.Round(BOFF)
Else
Bearing = Bearing + Math.Round(BOFF)
End If
End If
而這段代碼不工作:
If TextBox5.Text > TextBox1.Text & TextBox6.Text > TextBox2.Text Then 'NE
Bearing = Atan(X2/Y2) * 57.3
ElseIf TextBox5.Text > TextBox1.Text & TextBox6.Text < TextBox2.Text Then
Bearing = Atan(Y2/X2) * 57.3
Bearing = Bearing + -Bearing + -Bearing + 90
If BOFF > 0 Then
Bearing = Bearing - Math.Round(BOFF)
Else
Bearing = Bearing + Math.Round(BOFF)
End If
End If
可能是一個語法錯誤的東西,但它不拿出一個錯誤可言,完美運行代碼以及所有這些。我不知道我在這裏做錯了什麼。
在工作代碼中,if條件未滿足,因此它將輸入else語句。在非工作代碼中,既不滿足if條件,也不滿足else條件,因此不執行代碼。我確信在你身邊增加一些調試工作將會解決這個問題。通常我會在條件中添加一些括號/括號來分隔條件。 – Karlta05
你想要實現什麼?只是解釋你的要求.... –
@wingedpanther好吧,所以基本上,它有不同的方向計算,這些只是其中2,其中2需要添加,所以我需要總共3 elseif語句,但不只是1,但這是代碼不起作用的展示。因此,總結一下,程序掃描的方向不同,然後設置計算優先級並計算它們,但看起來如果分解代碼並且沒有任何效果。 – MattJ