Hallo ihr Lieben!

Ich eigne mir gerade die Basics von LotusScript an und bin auf ein seltsames Beispiel in einem LotusScript-Buch gestoßen:
| Sub OneTwoThree |
| Dim num As Integer |
| On Error Goto OutOfRange |
| |
| EnterNum: |
| num = Cint(Inputbox("Bitte geben Sie 1, 2 oder 3 ein")) |
| On num Goto label1, label2, label3 |
| |
| |
| |
| |
| Messagebox "Sie haben keinen zulässigen Wert eingegeben! Bitte noch einmal!!" |
| |
| Goto EnterNum |
| |
| label1: |
| Messagebox "Sie haben 1 eingegeben" |
| Exit Sub |
| |
| label2: |
| Messagebox "Sie haben 2 eingegeben" |
| Exit Sub |
| |
| label3: |
| Messagebox "Sie haben 3 eingegeben" |
| Exit Sub |
| |
| |
| |
| OutOfRange: |
| Messagebox |Der eingegebene Wert ist entweder negativ, |
| größer als 255 oder keine Zahl. Versuchen Sie es wieder!| |
| Goto EnterNum |
| End Sub |
Zuerst wollte ich nicht glauben, dass der Code funktionieren soll und tippte es eifrig ab. Zu meiner Überraschung lief der Code einwandfrei.
Meine Frage ist, wie das kleine Progrämmchen denn erkennen kann, welche Zahl ich eingetippt habe und was es mit "On num Goto label1, label2, label3" genauer auf sich hat.
Außerdem frage ich mich, wie es erkennen kann, dass die Eingabe nicht in dem Bereich von 0 - 255 ist (Integer hat doch 'nen viel größeren Wertigkeitsbereich!)
Ich habe schon in der Designer-Hilfe nachgeschaut und musste feststellen, dass genau derselbe Code mit denselben Erklärungen enthalten ist. Scheinbar hat der Autor nur abgeschrieben...
Liebe Grüße
Giordano