Περιεχόμενα

# Πρόταση GoSub...Return

Καλεί μια υπορουτίνα που δείχνεται από ετικέτα μέσα σε Sub ή Function. Οι επόμενες προτάσεις της ετικέτας εκτελούνται μέχρι την επόμενη πρόταση Return. Κατόπιν, το πρόγραμμα συνεχίζει με την πρόταση που ακολουθεί την πρόταση GoSub.

### Σύνταξη:

    Ετικέτα GoSub[:]

### Παράμετροι:

ετικέτα:Ταυτοποιητής γραμμής που δείχνει πού θα συνεχίσει η εκτέλεση. το εύρος μιας ετικέτας είναι αυτό της ρουτίνας στην οποία ανήκει.

Η δήλωση GoSub καλεί μια τοπική υπορουτίνα που δείχνεται από ετικέτα μέσα από υπορουτίνα ή συνάρτηση. Το όνομα της ετικέτας πρέπει να τελειώνει με άνω-κάτω τελεία (":").

      Sub/Function foo
          ' δηλώσεις
          GoSub label
          ' δηλώσεις
          Exit Sub/Function
      label:
          ' δηλώσεις
          Return
      End Sub/Function

Αν το πρόγραμμα συναντήσει μια πρόταση Return χωρίς να προηγείται μια GoSub, η LibreOffice Basic επιστρέφει ένα μήνυμα σφάλματος. Χρησιμοποιείστε Exit Sub ή την Exit Function για να βεβαιωθείτε ότι το πρόγραμμα θα αφήσει μια διαδικασία Sub ή Function πριν φθάσει στην επόμενη πρόταση Return.

Το ακόλουθο παράδειγμα παρουσιάζει τη χρήση των GoSub και Return. Εκτελώντας δύο φορές κάποια ενότητα του προγράμματος, το πρόγραμμα υπολογίζει την τετραγωνική ρίζα δύο αριθμών που έχει εισάγει ο χρήστης.

### Παράδειγμα:

    Sub ExampleGoSub
    Dim iInputa As Single
    Dim iInputb As Single
    Dim iInputc As Single
        iInputa = Int(InputBox("Εισάγετε τον πρώτο αριθμό: ","ΕίσοδοςΑριθμού"))
        iInputb = Int(InputBox(" Εισάγετε τον δεύτερο αριθμό: ","ΕίσοδοςΑριθμού"))
        iInputc=iInputa
        GoSub SquareRoot
        Print "Η τετραγωνική ρίζα του";iInputa;" είναι ";iInputc
        iInputc=iInputb
        GoSub SquareRoot
        Print "Η τετραγωνική ρίζα του ";iInputb;" είναι ";iInputc
        Exit Sub
    SquareRoot:
        iInputc=sqr(iInputc)
        Return
    End Sub

Σχετικά θέματα

Πρόταση GoTo

Πρόταση On...GoSub; Πρόταση On...GoTo