Wie nest mehrere IF-Anweisungen in Visual Basic 6?
Wie kann ich ein if
in anderen if
in Visual Basic 6?
Beispielsweise in C++ ich kann meine Aussagen mit {
, und beenden Sie mit }
, und ich kann mit einem anderen if
in der ersten Anweisung.
Beispiel:
if m>3
{ .....
if a>5
{
......
}
else {....}
} else ........
... aber in Visual Basic gibt es keine {
}
oder etwas ähnliches, es
ich möchte Klageschrift ein Programm, das erhalten vom Benutzer und Reduzieren die 4:30 aus ! zum Beispiel, wenn der Benutzer es läuft , es fragt : wie spät ist es in Teheran ? und Benutzer-geben Sie die Uhrzeit (z.B. 16:30) und dann das Programm Reduziert 4-Stunden-und 30 Minuten vom es ! und Druck : GMT-Zeit : 12:00 Uhr ! ich werde updat mein post und mein code ! bitte Lesen!!!
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
- Gerade beginnen die zweite wenn-Anweisung in der ersten if-Anweisung. legen Sie dann eine else-Bedingung für die zweite if-Anweisung am Ende der ersten if-Anweisung. Da Sie nicht die Mühe Entsendung gültigen VB 6 habe ich nicht die exakte Lösung.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Einzeilige If-Anweisungen können auch geschachtelt werden:
Beachten Sie, dass nicht mehr
[a_stuff]
können erscheinen, nachdem[a_and_notb_stuff]
, da es keine Möglichkeit zu sagen, wo b die Else-Anweisungen Ende, so kann nichts erscheinen, in der eine Klausel, nach der eine geschachtelte If-Anweisung.Jeder der
*_stuff
Teile können auch leer sein. Aber Sie haben vielleicht einige Schwierigkeiten mit einer leeren[a_and_notb_stuff]
, seit die VB6-IDE scheint ein bisschen temperamentvoll hier, und versuchen Sie, einen ungültigen Dritten 'Else' - Anweisung gibt. Um dies zu umgehen kann man ':
' statt[a_and_notb_stuff]
. Der Doppelpunkt wird entfernt werden, die von der IDE, aber es wird nicht fügen Sie dann eine weitere Else-Anweisung.Nachtrag: ich sollte darauf hinweisen, dass dieser ganze Beitrag sollte so behandelt werden, als information und nicht als Empfehlung. Verschachtelung einzeilige If-Aussagen wie diese macht für sehr unleserlich und bug-anfällig code.
If n > 10 Then MsgBox "n >= 10" Else MsgBox "n <= 10"
. Eine weitere Wenn-Sonst könnte aufgegeben werden, nach oder statt einer MsgBox-Anweisung. Aber um ehrlich zu sein, es ist eine schlechte Idee, nest einzeilige If-Anweisungen. Ich habe meinen Beitrag aktualisiert, darauf hinzuweisen.If Person Is Not Nothing Then If Person.Age >= 17 Then Call Person.Drive(Car)
Wenn die Klauseln in VB, enden mit "End If" (groß-und Kleinschreibung). Keine Klammern zu löschen.
Möglicherweise nest viele, wenn die Klauseln, wie Sie wollen, solange Sie Sie schließen: