Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - Zum C-Control-I-Forum - Zum C-Control-II-Forum

Re: Exit in Select Case Kategorie: Programmierung Basic (von UlliS - 16.01.2009 17:36)
Als Antwort auf Re: Exit in Select Case von AndyR - 16.01.2009 15:00

> > > Hallo Peter,
> > >
> > > kann es sein, dass der Exit-Befehl zum Verlassen von Schleifen nicht funktioniert,
> > > wenn er aus einer Select-Case-Struktur aufgerufen wird? Ich habe ein Minimal-Beispiel
> > > angefügt, wenn i den Wert 10 erreicht wird das @-Zeichen ausgegeben, aber die Endlos-
> > > Schleife wird nicht verlassen.
> > >
> > > Viele Grü�e,
> > >
> > > AndyR
> > >
> > >
> > >
> > > Sub main()
> > >   Dim i As Integer
> > >
> > >   i = 0
> > >
> > >   Do
> > >
> > >     AbsDelay(500)
> > >
> > >     Msg_WriteInt(i)
> > >
> > >     i = i + 1
> > >
> > >     Select Case i
> > >     Case 10
> > >       Msg_WriteChar(64)  ' @-Zeichen ausgeben
> > >       Exit
> > >     End Case
> > >
> > >   Loop While 1
> > >
> > > End Sub
> > >
> > >

> >
> >
> > Hi,
> >
> > du verlässt ja nur die Case Anweisung nicht aber die Do Loop Schleife.
> >
> > Da müsstest du noch nach der End Case eine Abfrage einbauen:
> >
> > If i = 10 Then Exit : End if
> >
> > Grü�e Ulli
> >
>
> Hallo Ulli,
>
> vielen Dank für Deine Antwort. Aber wenn Exit auch zum Verlassen von Select-Case-Strukturen dient, warum
> wird der Befehl dann in der Dokumentation nur im Zusammenhang mit Schleifen erwähnt? Bei Select-Case
> steht davon überhaupt nichts.
>
> Und wäre es nicht viel sinnvoller, wenn Exit sich auch in Select-Case-Strukturen auf Schleifen auswirkt?
> Select-Case ist doch im Prinzip eine optimierte, mehrfache ElseIf-Abfrage und bei If-Abfragen dient Exit
> ja auch nicht zum Verlassen der If-Abfrage.
>
> Viele Grü�e,
>
> AndyR

Hallo AndyR,

dimit wir hier uns nicht falsch verstehen.

Do While True

    x = x + 1

    Select Case x

        Case 10
        'mach irgend was

     Else
        'mach was anderes

    End Select


    If x = 10 Then Exit : End If

End While

Die Exit Anweisung darf auf Do Loop, Do While und For Next angewannt werden.
Innerhalb einer Select Case funktioniert die Exit Anweisung nicht (hab ich selber gerade probiert).
Aber das wäre verbesserungsfähig... da müssen wir mal unseren Peter fragen *g*


Grü�e Ulli




    Antwort schreiben


Antworten:

Re: Exit in Select Case (von PeterS - 17.01.2009 13:19)