German Abbruch nach eine bestimmte Schleife

Discussion in 'German Forum' started by Sinan Tuzcu, Feb 14, 2019.

  1. Sinan Tuzcu

    Sinan Tuzcu Active Member Licensed User

    Hallo,

    ich habe in einer Methode mehrere Schleifen und muss aber je nach dem nach eine bestimmten Schleife, die Methode verlassen.

    folgendes habe ich gemacht:
    Code:
    For i = 0 To 7
            
    Dim p As Panel = ScrollView1.Panel.GetView(i)
            
    Dim btnTog As ToggleButton = p.GetView(1)
            
    If OUTPUT11.CharAt(7-i) = 1 Then
                btnTog.Checked =
    True
            
    Else
                btnTog.Checked =
    False
            
    End If
        
    Next
        
    If Nummer = "28" Or "29" Or "30" Or "45" Or "46" Then Return    'Verlasse die Methode
       
        
    For i = 0 To 7
            
    Dim p As Panel = ScrollView1.Panel.GetView(i+8)
            
    Dim btnTog As ToggleButton = p.GetView(1)
            
    If OUTPUT22.CharAt(7-i) = 1 Then
                btnTog.Checked =
    True
            
    Else
                btnTog.Checked =
    False
            
    End If
    Next
    If Nummer = "31" Or "32" Or "33" Or "47" Or "48" Then Return    'Verlasse die Methode

        
    For i = 0 To 7
            
    Dim p As Panel = ScrollView1.Panel.GetView(i+16)
            
    Dim btnTog As ToggleButton = p.GetView(1)
            
    If OUTPUT33.CharAt(7-i) = 1 Then
                btnTog.Checked =
    True
            
    Else
                btnTog.Checked =
    False
            
    End If
        
    Next
       
        
    For i = 0 To 7
            
    Dim p As Panel = ScrollView1.Panel.GetView(i+24)
            
    Dim btnTog As ToggleButton = p.GetView(1)
            
    If OUTPUT44.CharAt(7-i) = 1 Then
                btnTog.Checked =
    True
            
    Else
                btnTog.Checked =
    False
            
    End If
        
    Next

    If Nummer = "34" Or "35" Or "36" Or "49" Or "50" Then Return    'nach den 32. Kanal
       
        
    For i = 0 To 7
            
    Dim p As Panel = ScrollView1.Panel.GetView(i+32)
            
    Dim btnTog As ToggleButton = p.GetView(1)
            
    If OUTPUT55.CharAt(7-i) = 1 Then
                btnTog.Checked =
    True
            
    Else
                btnTog.Checked =
    False
            
    End If
        
    Next
       
        
    For i = 0 To 7
            
    Dim p As Panel = ScrollView1.Panel.GetView(i+40)
            
    Dim btnTog As ToggleButton = p.GetView(1)
            
    If OUTPUT66.CharAt(7-i) = 1 Then
                btnTog.Checked =
    True
            
    Else
                btnTog.Checked =
    False
            
    End If
        
    Next

        
    For i = 0 To 7
            
    Dim p As Panel = ScrollView1.Panel.GetView(i+48)
            
    Dim btnTog As ToggleButton = p.GetView(1)
            
    If OUTPUT77.CharAt(7-i) = 1 Then
                btnTog.Checked =
    True
            
    Else
                btnTog.Checked =
    False
            
    End If
        
    Next
       
        
    For i = 0 To 7
            
    Dim p As Panel = ScrollView1.Panel.GetView(i+56)
            
    Dim btnTog As ToggleButton = p.GetView(1)
            
    If OUTPUT88.CharAt(7-i) = 1 Then
                btnTog.Checked =
    True
            
    Else
                btnTog.Checked =
    False
            
    End If
        
    Next
    Nun bekomme ich hier die Fehlermeldung:
    Aber wenn ich die Zeilen IF Nummer .... wegnehme, dann bekomme ich die Fehlermeldung nicht mehr.
    Aber ich muss ja irgendwie zwischen durch absteigen.

    Mit einer Select Case wird zu viel Code, das wollte ich vermeiden.

    Wer kennt eine bessere Idee?

    VG
    Sinan
     
  2. DonManfred

    DonManfred Expert Licensed User

    deine Abfrage ist falsch.
    Probiers mit
    Code:
    If Nummer = "30" Or Nummer="45" Or Nummer="46" Then Return    'Verlasse die Methode
    oder frage sie einzlen ab
    Code:
    If Nummer = "28" Then Return    'Verlasse die Methode
    If Nummer = "29" Then Return    'Verlasse die Methode
    If Nummer = "30" Then Return    'Verlasse die Methode
    If Nummer = "45" Then Return    'Verlasse die Methode
    If Nummer = "46" Then Return    'Verlasse die Methode
     
    Sinan Tuzcu and Alexander Stolte like this.
  3. Sinan Tuzcu

    Sinan Tuzcu Active Member Licensed User

    Super danke
     
  4. pucki

    pucki Active Member Licensed User

    logische Doppelvergleiche gehen ohne Variablenangabe in VB aber auch nicht ;)

    Ich kenne keine Programmiersprache wo das gilt.

    Ach und noch was. Vielleicht fehlt es ja nur in deinen Post. B4x reagiert SEHR zickig wenn die Variablen nicht dimensioniert sind. Das ist hier härter als in VB. :(

    Gruß

    Pucki
     
    Sinan Tuzcu likes this.
Loading...
  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice