Συναρτήσεις και διαδικασίες στην vbScript – εισαγωγή
Ο πιο συνηθισμένος τρόπος για να ορίσουμε μια συνάρτηση ή μια διαδικασία στην VBScript είναι χρησιμοποιώντας:
- τη λέξη-κλειδί Function (για τις συναρτήσεις) ή Sub (για τις διαδικασίες),
- που ακολουθείται από ένα μοναδικό όνομα της συνάρτησης ή της διαδικασίας
- και μπορεί να έχει καμία ή μια σειρά παραμέτρων,
- τις εντολές της συνάρτησης ή της διαδικασίας
- και τέλος μια δήλωση με μια λέξη-κλειδί End Function ή End Sub, γεγονός που δείχνει το τέλος της συνάρτησης ή της διαδικασίας αντίστοιχα.
Συναρτήσεις στην vbScript
Η βασική σύνταξη παρουσιάζεται παρακάτω με ένα παράδειγμα, το οποίο θα αναλύσουμε αμέσως πιο κάτω:
<!DOCTYPE html> <html> <body> <script language="vbscript" type="text/vbscript"> Function concatenate(first, last) <!-- δημιουργία συνάρτησης με 2 παραμέτρους --> Dim full <!-- δημιουργία μεταβλητής με όνομα full --> full = first & last <!-- σύνδεση των 2 τιμών των παραμέτρων σε μια --> concatenate = full <!-- επιστροφή της επιθυμητής τιμής με καταχώρηση ΣΤΟ ΟΝΟΜΑ της συνάρτησης --> End Function <!-- παράδειγμα κλήσης της συνάρτησης --> dim result <!-- δημιουργία μεταβλητής result --> result = concatenate("Zara", "Ali") <!-- κλήση και καταχώρηση της επιστρεφόμενης τιμής της συνάρτησης --> msgbox(result) <!-- παρουσίαση του αποτελέσματος --> <!-- ή εναλλακτικά η τελευταία πρόταση μπορεί να γίνει: --> msbox(Call concatenate("Zara", "Ali")) </script> </body> </html>
Τι μαθαίνουμε από τον κώδικα:
Από τον παραπάνω παράδειγμα με κώδικα παρατηρούμε τα εξής:
- Για να καλέσουμε μια συνάρτηση κάπου αργότερα στις εντολές μας, και εφόσο αυτή επιστρέφει μια τιμή, πρέπει να χρησιμοποιήσουμε μια μεταβλητή που θα κρατήσει το επιστρεφόμενο αποτέλεσμα. Εδώ με την εντολή:
result = concatenate("Zara", "Ali")
- Επίσης όπου θέλουμε να καλέσουμε μια συνάρτηση, μπορούμε να κάνουμε χρήση της δεσμευμένης λέξης Call και το όνομα της συνάρτησης. Εδώ με την εντολή:
msbox(Call concatenate("Zara", "Ali"))
- υπάρχει η δυνατότητα να παραλάβουμε / να στείλουμε από καμία έως όσες παραμέτρους θέλουμε, ταυτόχρονα με την κλήση μιας συνάρτησης. Εδώ με την εντολή:
concatenate(first, last)
ως δήλωση της συνάρτησης, περιμένουμε να παραλάβουμε 2 τιμές στις μεταβλητές και
concatenate("Zara", "Ali")
ως κλήση της συνάρτησης, στέλνουμε 2 τιμές στην συνάρτηση.
Η μεταβλητή first θα πάρει την τιμή Zara και η μεταβλητή last θα πάρει την τιμή Ali. - [ms_alert icon=”fa-info” box_shadow=”no” dismissable=”no” class=”” id=””]Μια συνάρτηση στην VBScript μπορεί να έχει μια προαιρετική εντολή επιστροφής κάποιας τιμής. Αυτό είναι απαραίτητο μόνο αν θέλουμε η συνάρτηση να επιστρέψει μια τιμή. Η επιστροφή της τιμής γίνεται σε μια δήλωση που έχει ΤΟ ΙΔΙΟ ΟΝΟΜΑ με το όνομα της συνάρτησης. [/ms_alert]
Εδώ με την εντολή:
concatenate = full
βλέπουμε ότι η συνάρτηση concatenate θα επιστρέψει την τιμή της μεταβλητής full. - [ms_alert icon=”fa-info” box_shadow=”no” dismissable=”no” class=”” id=””]Μια συνάρτηση μπορεί ακόμη να επιστρέψει πολλαπλές τιμές (δηλαδή περισσότερες από μια τιμές), αν οι τιμές αυτές διαχωρισμένες με κόμμα ως σειρά, ανατεθούν σε μια δήλωση που έχει ΤΟ ΙΔΙΟ ΟΝΟΜΑ με το όνομα της συνάρτησης. Η συνάρτηση θα επιστρέψει όλες τις τιμές που θα παρεληφθούν, σε έναν πίνακα (array).[/ms_alert]
Διαδικασίες στην vbScript
Οι διαδικασίες είναι παρόμοιες με τις συναρτήσεις, αλλά υπάρχουν μερικές διαφορές:
- Οι διαδικασίες ΔΕΝ επιστρέφουν κάποια τιμή, ενώ οι συναρτήσεις μπορεί ή δεν χρειάζεται να επιστρέψουν μια τιμή.
- Οι διαδικασίες μπορούν να κληθούν ΧΩΡΙΣ την δεσμευμένη λέξη Call, αλλά απλά με το όνομα τους.
- Οι διαδικασίες περικλείονται μέσα σε δηλώσεις Sub και End Sub.
Ας δούμε ένα παράδειγμα δημιουργίας και κλήσης μιας διαδικασίας:
<!DOCTYPE html> <html> <body> <script language="vbscript" type="text/vbscript"> Sub sayHello() msgbox("Καλημέρα σε όλους!!!") End Sub sayHello() </script> </body> </html>