Μαθήματα Πληροφορικής & Προγραμματισμού VBscript

Μεταβλητές στη vbscript, σταθερές και πεδίο εφαρμογής τους

Μεταβλητές στη vbscript – Κανόνες Δήλωσης

Οι μεταβλητές στη VBScript δηλώνονται με τη δεσμευμένη λέξη Dim. Μπορούν επίσης να δηλωθούν με τις δεσμευμένες λέξεις Public και Private.

Σε αντίθεση με πολλές άλλες γλώσσες προγραμματισμού, αυτή η γλώσσα διαθέτει ΜΟΝΟ ΕΝΑ βασικό τύπο δεδομένων, τον τύπο Variant. Δηλαδή όλες οι μεταβλητές δηλώνονται ως Variant. Επειδή υπάρχει μόνο ένας τύπος δεν απαιτείται να αναφερθεί κατά την δήλωσή του. Άρα η σύνταξη είναι όπως παρακάτω:

Dim varName

Το varName είναι το όνομα της μεταβλητής (αναγνωριστικό).

Για τα ονόματα των μεταβλητών ισχύουν οι παρακάτω κανόνες:

  • Περιέχουν χαρακτήρες αλφαριθμητικούς και την κάτω παύλα (_)
  • Δεν μπορεί να ξεκινάνε με αριθμητικό χαρακτήρα
  • Μπορεί να είναι μέχρι 255 χαρακτήρες
  • Πρέπει να είναι μοναδικά στο πεδίο ορισμού τους

Οι τιμές καταχωρούνται με το σύμβολο “=”. Η μεταβλητή είναι στα αριστερά και η τιμή στα δεξιά. Ειδικά για τη VBScript μπορεί να χρησιμοποιηθούν οι παρακάτω συντάξεις για καταχωρήσεις αριθμών, αλφαριθμητικών και ημερομηνιών.

Value1 = 25
StrValue = “VBScript”
Date1 = #01/01/2020#
Time1 = #12:30:44 PM#

Οι αριθμοί δεν είναι ανάμεσα σε σύμβολα. Τα αλαφαριθμητικά και οι ημερομηνίες είναι ανάμεσα αντίστοιχα σε ” και #.

Μεταβλητές στη vbscript – Πεδίο ορισμού μεταβλητών

Το πεδίο ορισμού μιας μεταβλητής αναφέρεται στα τμήματα του κώδικα στα οποία μπορεί να αναφερθεί η μεταβλητή αυτή. Καθορίζεται ανάλογα με το που δηλώνεται η μεταβλητή και με ποια δεσμευμένη λέξη απο τις 3 δηλώνεται (Dim, Public, Private).

Οι μεταβλητές στη VBScript μπορούν να δηλωθούν μέσα σε μια μέθοδο (procedure level) ή έξω απο μεθόδους (script level). Όταν μια μεταβλητή δηλώνεται μέσα σε μια μέθοδο, μπορεί να δηλωθεί μόνο με τη δεσμευμένη λέξη Dim και το πεδίο ορισμού της είναι μόνο αυτή η μέθοδος. Όταν μια μεταβλητή δηλώνεται σε script level (δηλαδή έξω από κάποια μέθοδο), μπορεί να δηλωθεί με τη δεσμευμένη λέξη Private ή Public. Με τη πρώτη το πεδίο ορισμού της είναι όλες οι συναρτήσεις μόνο αυτού του script στο οποίο δηλώνεται. Με το Public, το πεδίο ορισμού είναι όλα τα συσχετισμένα scripts.

Παράδειγμα:

//code
Dim Var1
Dim Var2
Private Var3
Public Var4

Call add()

Function add()
   Var1 = 10
   Var2 = 15
   Var3 = Var1+Var2
   Var4 = Var1+Var2+Var3
   Dim Var5 = Var1+Var2+Var3+ Var4
   Msgbox Var3 'Δείχνει 25'
   Msgbox Var4 'Δείχνει 50'
   Msgbox Var5 'Δείχνει 75'
End Function
Msgbox Var1 'Δείχνει 10 επειδή η Var1 είναι δηλωμένη σε script level αλλα μόνο για αυτο το script'
Msgbox Var2 'Δείχνει 15 επειδή η Var2 είναι δηλωμένη σε script level αλλα μόνο για αυτο το script'
Msgbox Var3 'Δείχνει 25 μόνο για αυτο το script επειδή η Var3 είναι δηλωμένη σε script level ως Private'
Msgbox Var4 'Δείχνει 50 επειδή η Var4 είναι δηλωμένη σε script level ως Public σε όλα τα script'
Msgbox Var5 'Δε δείχνει κάτι επειδή η Var5 είναι δηλωμένη στη μέθοδο add και η κλήση αυτή γίνεται έξω απο αυτή τη μέθοδο'

Σταθερές στη VBScript

Οι σταθερές είναι τμήματα μνήμης που ΔΕΝ αλλάζουν κατα την εκτέλεση του προγράμματος. Όπως και οι μεταβλητές είναι τύπου Variant και έχουν πεδίο εφαρμογής ανάλογα με το που δηλώνονται. Μπορούν να δηλωθούν και σε script level και σε procedure level. Όταν δηλώνονται σε script level στη δηλωσή τους είναι προαιρετική η χρήση των δεσμευμένων λέξεων Public και Private καθορίζοντας αν θα είναι προσβάσιμες και από άλλα scripts ή μόνο από αυτό αντίστοιχα.

Παράδειγμα:

//code
Const myString = "VBScript"
Const myDate = #01/01/2050#
Msgbox myString
Msgbox myDate

Dim intRadius, area
Const pi=3.14
Area = pi*intRadius*intRadius
Msgbox Area
pi = pi*pi    'ΤΟ pi ΕΙΝΑΙ ΣΤΑΘΕΡΑ ΚΑΙ ΔΕΝ ΜΠΟΡΕΙ ΝΑ ΑΛΛΑΞΕΙ. ΓΙΝΕΤΑΙ ΛΑΘΟΣ ΚΑΙ ΣΤΑΜΑΤΑΕΙ Η ΕΚΤΕΛΕΣΗ.'
Area = pi*intRadius*intRadius
Msgbox Area   'Δειχνει το εμβαδόν του κύκλου'

Αφήστε ένα Σχόλιο

Η ηλ. διεύθυνση σας δεν δημοσιεύεται. Τα υποχρεωτικά πεδία σημειώνονται με *

Αυτός ο ιστότοπος χρησιμοποιεί το Akismet για να μειώσει τα ανεπιθύμητα σχόλια. Μάθετε πώς υφίστανται επεξεργασία τα δεδομένα των σχολίων σας.