Microsoft®
Visual Basic® Scripting Edition
Διαδικασίες
|
Οι διαδικασίες 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.