如何在Visual Basic 6中使用if另一个 if?
例如,在C++中,我可以启动我的语句{并完成它们},我可以if在第一个语句中使用另一个语句.
例如:
if m>3
{ .....
if a>5
{
......
}
else {....}
} else ........
Run Code Online (Sandbox Code Playgroud)
...但在Visual Basic中没有{ }或类似的东西
我想编写一个程序,从用户那里获取时间并从中减少4:30!例如,当用户运行它时,它会问:德黑兰几点钟了?和用户输入时间(例如16:30),然后程序减少4小时30分钟!和打印:GMT时间是:12:00!我会更新我的帖子并输入我的代码!请仔细阅读!
Option Explicit
Private Sub Command1_Click()
Cls
Dim h As Integer, m As Integer, hm As Integer, mm As Integer, t As Integer
Dim fh As String, fm As String, fhm As String, fmm As String
t = InputBox("Enter time")
h = t \ 100
m = t Mod 100
Select Case h
Case 0 To 24
If m < 60 Then
If m >= 30 Then
hm = h - 4
mm = m - 30
If h < 10 Then fh = Format(h, String(2, "0")) Else fh = h
If m < 10 Then fm = Format(m, String(2, "0")) Else fm = m
If hm < 10 Then fhm = Format(hm, String(2, "0")) Else fhm = hm
If mm < 10 Then fmm = Format(mm, String(2, "0")) Else fmm = mm
Print
Print " Tehran Time is : "; fh; ":"; fm
Print
Print " GMT Time is : "; fhm; ":";
Else
hm = h - 5
mm = m + 30
If h < 10 Then fh = Format(h, String(2, "0")) Else fh = h
If m < 10 Then fm = Format(m, String(2, "0")) Else fm = m
If hm < 10 Then fhm = Format(hm, String(2, "0")) Else fhm = hm
If mm < 10 Then fmm = Format(mm, String(2, "0")) Else fmm = mm
Print
Print " Tehran Time is : "; fh; ":"; fm
Print
Print " GMT Time is : "; fhm; ":"; fmm
End If
End If
Case Else
Beep
Print
Print " Time is wrong !!! Try again "
End Select
End Sub
Private Sub Command2_Click()
End
End Sub
Private Sub Form_Load()
End Sub
Run Code Online (Sandbox Code Playgroud)
小智 13
如果VB中的子句以"End If"结束(不区分大小写).没有任何括号.
你可以根据需要嵌套if子句,只要你关闭它们:
If ... Then
*Do stuff*
If ... Then
*Do more stuff*
End If
End If
Run Code Online (Sandbox Code Playgroud)
单行If语句也可以嵌套:
If (a) Then [a_stuff] : If (b) Then [a_and_b_stuff] Else [a_and_notb_stuff] Else [nota_stuff]
Run Code Online (Sandbox Code Playgroud)
请注意,之后不会再[a_stuff]出现[a_and_notb_stuff],因为无法确定b的Else语句的结束位置,因此在嵌套的If语句之后,子句中不会出现任何内容.
任何*_stuff部件都可以是空的.但是你可能有一些空的困难[a_and_notb_stuff],因为这里的VB6 IDE似乎有点气质,并且会尝试在那里插入一个无效的第三个'Else'语句.要解决这个问题,你可以用' :'代替[a_and_notb_stuff].冒号将被IDE删除,但它不会插入另一个Else语句.
附录:我应该指出,整个职位应该被视为信息,而不是建议.嵌套单行If这样的语句会产生非常难以理解且容易出错的代码.