Microsoft® Visual Basic® Scripting Edition
Διαδικασίες

 

| VBScript Tutorial |
| Previous | Next


Οι διαδικασίες Sub

Η διαδικασία Sub, είναι μια σειρά από δηλώσεις που περικλείονται μέσα σε άλλες δηλώσεις τιςSub και EndSub και που πραγματοποιούν διάφορες ενέργειες αλλά δεν επιστρέφουν ποτέ μια τιμή. Μια διαδικασία Sub μπορεί να πάρει ορίσματα (σταθερές, μεταβλητές ή εκφράσεις που έχουν περάσει ήδη από μια εν δράσει διαδικασία). Αν η Sub διαδικασία δεν έχει ορίσματα, η δήλωση πρέπει Sub να περιέχει μια κενή ομάδα, ένα άδειο set παρενθέσεων.

Η διαδικασία Sub που ακολουθεί χρησιμοποιεί δυο εσωτερικές, κατασκευασμένες μέσα, VBScript λειτουργίες, την Msgbox και την InputBoxπροκειμένου να αποτρέψει τον χρήστη απο το να αναζητήσει διάφορες χρήσιμες πληροφορίες. Στη συνέχεια αναπτύσσει τα αποτελέσματα ενός υπολογισμού που βασίζεται πάνω σ’αυτές τις πληροφορίες. Ο υπολογισμός αυτός πραγματοποιείται μέσα σε μια διαδικασία Function η οποία έχει δημιουργηθεί χρησιμοποιώντας τη VBScript. Η διαδικασία Function φαίνεται στο παρακάτω παράδειγμα :
 
 
 
 

Sub ConvertTemp ()

    temp = InputBox (“Please enter the temperature in degrees F.”, 1)

    MsgBox “The temperature is “ & Celsius (temp) & “ degrees C.”

End Sub

Οι διαδικασίες Function
 
 

Η διαδικασία Function είναι μια σειρά απο δηλώσεις που περικλείονται μέσα σε άλλες δηλώσεις στη Function και στη EndFunction. Η διαδικασίαFunction είναι παρόμοια με τηSub αλλά μπορεί επίσης να επιστρέψει μια τιμή. Η Function μπορεί να δεχτεί ορίσματα σταθερές, μεταβλητές ή εκφράσεις που έχουν περάσει σ’ αυτή περνώντας πρώτα απ’ όλα από μια άλλη διαδικασία. Αν η Function δεν έχει ορίσματα τότε η δήλωση Function πρέπει να εμπεριέχει ένα άδειο set παρενθέσεων. Η Function επιστρέφει μια τιμή προσδίδοντας μια τιμή στο όνομα μιας ή και περισσότερων δηλώσεων της διαδικασίας. Ο τύπος που επιστρέφεται απο μια Function είναι πάντα Variant .

Στο παράδειγμα που ακολουθεί, η function Celsius υπολογίζει τους βαθμούς Celsius απο τους βαθμούς Fahrenheit. Όταν η function καλείται απο τη διαδικασία ConvertTemp Sub, μια μεταβλητή η οποία περιέχει τη τιμή του ορίσματος περνάει στη function. Το αποτέλεσμα του υπολογισμού επιστρέφεται στη διαδικασία και αναπτύσσεται μέσα σ’ένα message box.
 
 

Sub ConvertTemp ()

    temp = InputBox (“Please enter the temperature in degrees F.”, 1)

    MsgBox “The temperature is “& Celsius(temp) & “ degrees C. “

End Sub
 

Function Celsius (fDgrees)

    Celsius = (fDegrees - 32 * 5 / 9

End Function
 
 

Ορίσματα διαδικασιών
 
 

Κάθε τμήμα δεδομένων περνά μέσα στις διαδικασίες σας χρησιμοποιώντας ένα όρισμα. Τα ορίσματα χρησιμεύουν σαν παρακρατητές θέσεων για τα δεδομένα που θέλετε να περάσετε μέσα στη διαδικασία σας. Όταν δημιουργείτε μια διαδικασία χρησιμοποιώντας είτε τη Sub είτε τη Function δήλωση πρέπει να βάζετε παρενθέσεις αμέσως μετά το όνομα της διαδικασίας. Κάθε όρισμα που θα τοποθετήσετε μέσα στις παρενθέσεις πρέπει να διαχωρίζεται με κόμματα. Για παράδειγμα στο ακόλουθο παράδειγμα το fDegrees είναι ένας παρακρατητής θέσεων για την τιμή η οποία έχει περάσει στη function Celsius για μετατροπή :
 
 

Function Celsius(fDegrees)

    Celsius = (fDegrees - 32) * 5 / 9

End Function
 
 

Μπορείτε να ονομάσετε τα ορίσματα χρησιμοποιώντας οποιοδήποτε έγκυρο όνομα όπως το όνομα μιας μεταβλητής.

Προκειμένου να βγάλετε δεδομένα εξω απο μια διαδικασία, πρέπει να χρησιμοποιήσετε μια Function. Θυμηθείτε οτι μια διαδικασία Function μπορεί να επιστρέψει μια τιμή, όχι ομως και μια Sub.
 
 

Κλήση διαδικασιών
 
 

Για να χρησιμοποιήσετε μια Function μέσα στον κώδικα σας, πρέπει πάντα να τη χρησιμοποιείτε στα δεξιά μιας μεταβλητής ή μέσα σε μια έκφραση. Για παράδειγμα :
 
 

Temp = Celsius(fDegrees)

ή

MsgBox “The Celsius temperature is “ & Celsius( fDegrees) & “ degrees.
 
 

Για να καλέσετε μια διαδικασία Sub μια άλλη διαδικασία, μπορείτε απλά να γράψετε το όνομα αυτής της διαδικασίας μαζί με τιμές για κάθε απαιτούμενο όρισμα χωρισμένες μεταξύ τους με κόμμα. Τη δήλωση Call δε χρειάζεται να τη χρησιμοποιήσετε, αλλά αν τελικά τη χρησιμοποιήσετε θα πρέπει να κλείσετε το κάθε όρισμα σε παρενθέσεις.
 
 

Το ακόλουθο παράδειγμα δείχνει πως η διαδικασία My Proc καλείται δυο φορές. Τη μια φορά χρησιμοποιείται η δήλωση Call μέσα στον κώδικα, την άλλη όχι. Και τις δυο φορές γίνεται ακριβώς το ίδιο πράγμα.
 
 

Call MyProc(firstarg, secondarg)

MyProc firstarg, secondarg
 
 

Παρατηρείστε ότι οι παρενθέσεις παραλείπονται στο κάλεσμα όταν η δήλωση Call δε χρησιμοποιείται.
 
 


© 1997 Microsoft Corporation. All rights reserved.