ΚΕΝΤΡΟ ΠΛΗ.ΝΕ.Τ. Ν. ΦΛΩΡΙΝΑΣ

Η Γλώσσα Προγραμματισμού VBScript

 

Όπως υπονοεί και το όνομά  της, η VBScript (Visual Basic Script) είναι μια γλώσσα συγγραφής σεναρίων (scripting language) που χρησιμοποιείται για να προσθέσει εφέ και διαλογικότητα (interactivity) στις ιστοσελίδες μας και που μοιάζει πολύ με την γνωστή γλώσσα προγραμματισμού Visual Basic. Η VBScript ενσωματώνεται μέσα στον κώδικα της HTML και ο κώδικάς της μπορεί να εκτελεσθεί αμέσως ή όταν λαμβάνει χώρα ένα συμβάν (event).

 

Παράδειγμα 1 - Το Πρώτο Πρόγραμμα σε VBScript

Ενα πρώτο απλό παράδειγμα σε VBScript είναι το εξής :

<html>

    <body>

        <script type="text/vbscript">

            document.write("Hello from Florina")

        </script>

     </body>

</html>

Γράφουμε τον κώδικα της VBScript ανάμεσα στις ετικέτες (tags) <script> και </script>, όπου στην πρώτη ετικέτα χρησιμοποιούμε την ιδιότητα (attribute) type="text/vbscript" ή language="VBScript" για να προσδιορίσουμε την γλώσσα scripting. Το παραπάνω σενάριο θα εμφανίσει ένα κείμενο μέσα στην ιστοσελίδα χρησιμοποιώντας τη συνάρτηση (μέθοδο) write() του αντικειμένου document.

 

Παράδειγμα 2 - Μορφοποίηση Κειμένου με VBScript

Μπορούμε να εισάγουμε tags μέσα στο κείμενο μιας εντολής document.write() για να μορφοποιήσουμε το κείμενο μιας ιστοσελίδας, ως εξής :

<html>

    <body>

        <script type="text/vbscript">

            document.write("<h1> Hello from Greece </h1>")

            document.write("<h2> Hello from Florina </h2>")

        </script>

     </body>

</html>

 

Παράδειγμα 3 - Συναρτήσεις στο Τμήμα head

Οι συναρτήσεις (functions) σ' ένα script γράφονται στο τμήμα head της ιστοσελίδας και αυτό για να είμαστε σίγουροι ότι το script θα φορτωθεί πριν κληθεί η συνάρτηση.

<html>

    <head>

        <script type="text/vbscript">

            alert("Hello")

        </script>

     </head>

</html>

 

Παράδειγμα 4 - Scripts στο Τμήμα body

Τα scripts που βρίσκονται στο τμήμα body εκτελούνται όταν φορτώνεται η ιστοσελίδα. Μπορούμε να τοποθετήσουμε όσα scripts θέλουμε σ' ένα έγγραφο και μπορούμε να έχουμε scripts και στο τμήμα head και στο τμήμα body. Τα scripts που υπάρχουν στο τμήμα body δημιουργούν (αλλάζουν) το περιεχόμενο της ιστοσελίδας.

Τα scripts που πρέπει να εκτελεσθούν όταν κληθούν ή όταν λάβει χώρα ένα συμβάν (event), γράφονται στο τμήμα head μιας ιστοσελίδας.

 

Παράδειγμα 5 - Οι Μεταβλητές στην VBScript

Για να δημιουργήσουμε μια μεταβλητή (variable) στην VBScript, να της δώσουμε μια τιμή και να την εμφανίσουμε σ' ένα κείμενο, μπορούμε να γράψουμε τα εξής :

     <script type="text/vbscript">

            dim name

            name = "John"

            document.write("Το όνομά μου είναι : " & name)

        </script>

Στην VBScript όλες οι μεταβλητές είναι τύπου variant, δηλ. μπορούν να αποθηκεύσουν διαφορετικά είδη δεδομένων. Τα ονόματα των μεταβλητών πρέπει να αρχίζουν με γράμμα, να μην περιέχουν τον χαρακτήρα (.) και να μην ξεπερνάνε τους 255 χαρακτήρες σε μήκος.

Μπορούμε να γράψουμε την επιλογή Option Explicit στην αρχή ενός script, για να αναγκαστούμε να χρησιμοποιήσουμε μια από τις εντολές dim, public ή private για να δηλώσουμε τις μεταβλητές ενός script, ως εξής :

       option explicit

        dim name

        name = "Antonio"

 

Παράδειγμα 6 - Οι Πίνακες στην VBScript

Η δήλωση ενός πίνακα (array) στην VBScript χρησιμοποιεί παρενθέσεις μετά από το όνομα της μεταβλητής και η αρίθμηση ξεκινάει από το 0. Οι παρακάτω εντολές δηλώνουν έναν πίνακα 3 θέσεων και του καταχωρούν τιμές :

        dim names(2)

        name(0) = "Anna"

        name(1) = "Jani"

        name(2) = "Stella"

Για έναν πίνακα πολλών διαστάσεων χωρίζουμε τους αριθμούς μέσα στις παρενθέσεις με κόμματα. Η επόμενη εντολή δημιουργεί έναν πίνακα δύο διαστάσεων με 5 γραμμές (rows) και 7 στήλες (columns) :

        dim table(4, 6)

Το παρακάτω σενάριο δημιουργεί έναν πίνακα 3 θέσεων, καταχωρεί διάφορα ονόματα σ' αυτόν και μετά τα εμφανίζει μέσα στην ιστοσελίδα.

<html>

    <body>

        <script type="text/vbscript">

            dim names(2)

            name(0) = "Anna"

            name(1) = "Georgia"

            name(2) = "Alexandra"

            for i=0 to 2

                     document.write(name(i) & "<br />")

            next

        </script>

     </body>

</html>

 

Παράδειγμα 7 - Οι Διαδικασίες (Procedures) στην VBScript

Μια διαδικασία (procedure) τύπου Sub :

Ακολουθεί ένα παράδειγμα :

<head>

    <script type="text/vbscript">

        sub mySub()

                msgbox("Μια διαδικασία τύπου sub")

        end sub

    </script>

</head>

<body>

    <script type="text/vbscript">

            call mySub()

    </script>

</body>

Οταν καλούμε μια διαδικασία τύπου Sub, μπορούμε να χρησιμοποιήσουμε την εντολή Call, ως εξής :

        Call MyProc(argument1, argument2)

ή μπορούμε να παραλείψουμε την εντολή Call, ως εξής :

        MyProc argument1, argument2

 

Παράδειγμα 8 - Οι Συναρτήσεις (Functions) στην VBScript

Μια διαδικασία (procedure) τύπου Function :

Ακολουθεί ένα παράδειγμα :

<head>

    <script type="text/vbscript">

        function myFunction()

                myFunction = "red"

        end function

    </script>

</head>

<body>

    <script type="text/vbscript">

            document.write("Το αγαπημένο μου χρώμα είναι : " & myFunction())

    </script>

</body>

Οταν καλούμε μια συνάρτηση (function), μπορούμε να γράψουμε το εξής :

        name = findname()

εδώ καλούμε μια συνάρτηση με όνομα findname και η τιμή που επιστρέφει η συνάρτηση καταχωρείται στη μεταβλητή name.

Ενας άλλος τρόπος για να καλέσουμε μια συνάρτηση είναι ο εξής :

        msgbox "Το όνομά σας είναι : " & findname()

εδώ καλούμε επίσης μια συνάρτηση με όνομα findname και η τιμή που επιστρέφει η συνάρτηση εμφανίζεται σ' ένα πλαίσιο μηνύματος (message box).

 

Παράδειγμα 9 - Η Εντολή If

Η εντολή If έχει τις εξής παραλλαγές :

Ακολουθούν παραδείγματα :

Αν θέλουμε να εκτελέσουμε μία μόνο εντολή όταν αληθεύει η συνθήκη :

If i = 10 Then msgbox "Hello"

 

Αν θέλουμε να εκτελέσουμε περισσότερες από μία εντολές όταν αληθεύει η συνθήκη :

If i = 10 Then

        msgbox "Hello"

        i  = 11

        ... εντολές ...

End If

 

Οταν θέλουμε να εκτελέσουμε κάποιες εντολές αν αληθεύει η συνθήκη και κάποιες άλλες αν δεν αληθεύει η συνθήκη :

If i = 10 Then

        msgbox "Hello"

        i  = 11

Else

        msgbox "Goodbye"

End If

 

Οταν θέλουμε να επιλέξουμε μία από πολλές ομάδες εντολών προς εκτέλεση :

i = hour(time)

If i = 10 Then

        document.write("Μόλις ξύπνησα!")

ElseIf i  = 11 Then

        document.write("Πεινάω!")

ElseIf i  = 12 Then

        document.write("Ωρα για φαγητό!")

ElseIf i  = 16 Then

        document.write("Ωρα για επιστροφή!")

Else

        document.write("Αγνωστο")

End If

 

Παράδειγμα 10 - Η Εντολή Select Case

Χρησιμοποιούμε την εντολή Select Case όταν θέλουμε να επιλέξουμε μία από πολλές ομάδες εντολών προς εκτέλεση.

Ακολουθεί ένα παράδειγμα :

Select Case payment

    Case "Cash"

        msgbox "Θα πληρώσετε με μετρητά"

    Case "Visa"

        msgbox "Θα πληρώσετε με visa"

    Case Else

        msgbox "Αγνωστη μέθοδος πληρωμής"

End Select

 

Παράδειγμα 11 - Η Εντολή For ... Next

Χρησιμοποιούμε την εντολή For ... Next για να εκτελέσουμε μια ομάδα εντολών όταν γνωρίζουμε πόσες επαναλήψεις χρειαζόμαστε. Η εντολή For καθορίζει τη μεταβλητή μετρητή (i) καθώς και την αρχική και την τελική της τιμή, ενώ η εντολή Next αυξάνει τον μετρητή i κατά 1. Με τη λέξη κλειδί Step, μπορούμε να αυξήσουμε ή να ελαττώσουμε τον μετρητή όσο θέλουμε.

Ακολουθούν παραδείγματα :

For i = 1 to 10

    ... εντολές ...

Next

 

For i = 2 to 10 Step 2

    ... εντολές ...

Next

 

For i = 10 to 2 Step -2

    ... εντολές ...

Next

Μπορούμε να εξέλθουμε από μια εντολή For ... Next με τη λέξη κλειδί Exit For.

Ακολουθούν παραδείγματα με την εντολή For ... Next :

<script type="text/vbscript">

    for i = 0 to 5

            document.write("Ο αριθμός είναι : " & i & "<br>")

    next

</script>

Το επόμενο παράδειγμα δείχνει πώς μπορούμε να διέλθουμε μέσα από τις 6 επικεφαλίδες (headers) της HTML :

<script type="text/vbscript">

    for i = 1 to 6

            document.write("<h" & i & ">  Επικεφαλίδα " & i & "</h" & i & ">")

    next

</script>

 

Παράδειγμα 12 - Η Εντολή For Each ... Next

Ενας βρόχος For Each ... Next επαναλαμβάνει μια ομάδα εντολών για κάθε στοιχείο (item) που υπάρχει σε μια συλλογή (collection) ή για κάθε στοιχείο (element) ενός πίνακα (array). Η διαφορά του από τον βρόχο For ... Next είναι ότι δεν είμαστε υποχρεωμένοι να καθορίσουμε τον αριθμό των στοιχείων για τα οποία θέλουμε να κάνουμε τον βρόχο.

Ακολουθεί ένα παράδειγμα :

dim names(2)

names(0) = "George"

names(1) = "John"

names(2) = "Antonio"

For Each x in names

        document.write(x & "<br />")

Next

 

Παράδειγμα 13 - Η Εντολή Do ... Loop

Με την εντολή (βρόχο) Do ... Loop μπορούμε να εκτελέσουμε μια ομάδα εντολών όταν δεν γνωρίζουμε πόσες επαναλήψεις πρέπει να γίνουν. Οι εντολές επαναλαμβάνονται για όσο διάστημα είναι αληθής μια συνθήκη (while) ή μέχρις ότου να γίνει αληθής μια συνθήκη (until). Μπορούμε να εξέλθουμε από μια εντολή Do ... Loop χρησιμοποιώντας τη λέξη κλειδί Exit Do.

Ακολουθούν παραδείγματα :

Do While i > 10

        ... εντολές ...

Loop

 

Do

        ... εντολές ...

Loop While i > 10

 

Do Until i = 10

        ... εντολές ...

Loop

 

Do

        ... εντολές ...

Loop Until i = 10

 

Do Until i = 10

        i = i - 1

        If i < 10 Then Exit Do

Loop

 

i = 0

Do While i < 10

        document.write(i & "<br />")

        i = i + 1

Loop

 

Παράδειγμα 14 - Οι Συναρτήσεις UCase() και LCase()

Οι συναρτήσεις UCase() και LCase() μετατρέπουν ένα string σε κεφαλαία ή πεζά γράμματα αντίστοιχα.

<script type="text/vbscript">

        txt = "Hallo from Florina!"

        document.write(UCase(txt))

        document.write("<br />")

        document.write(LCase(txt))

</script>

 

Παράδειγμα 15 - Οι Συναρτήσεις Trim(), LTrim() και RTrim()

Η συνάρτηση Trim() επιστρέφει ένα string χωρίς τα αρχικά και τα τελικά κενά, η συνάρτηση LTrim() επιστρέφει ένα string χωρίς τα αρχικά κενά και η συνάρτηση RTrim() επιστρέφει ένα string χωρίς τα τελικά κενά.

<script type="text/vbscript">

        txt = " Florina "

        document.write("Hello" & Trim(txt) & "Greece <br />")

        document.write("Hello" & LTrim(txt) & "Greece <br />")

        document.write("Hello" & RTrim(txt) & "Greece <br />")

</script>

 

Παράδειγμα 16 - Η Συνάρτηση StrReverse()

Η συνάρτηση StrReverse() αναστρέφει ένα string.

<script type="text/vbscript">

        txt = "Hello from Florina!"

        document.write(strReverse(txt))

</script>

 

Παράδειγμα 17 - Η Συνάρτηση Round()

Η συνάρτηση Round() στρογγυλοποιεί έναν αριθμό στον πλησιέστερο ακέραιο.

<script type="text/vbscript">

        i = 5.67

        j = 5.34

        document.write(Round(i))

        document.write("<br />")

        document.write(Round(j))

</script>

 

Παράδειγμα 18 - Οι Συναρτήσεις Rnd() και Randomize()

Οι συναρτήσεις Rnd() και Randomize() χρησιμοποιούνται για την παραγωγή τυχαίων αριθμών.

<script type="text/vbscript">

        Randomize()

        document.write(Rnd())

</script>

 

Παράδειγμα 19 - Η Συνάρτηση Int()

Η συνάρτηση Int() αποκόπτει το δεκαδικό μέρος ενός αριθμού.

<script type="text/vbscript">

        Randomize()

        i = Int(100 * Rnd())

        document.write("Ενας τυχαίος αριθμός : <b>" & i & "</b>")

</script>

 

Παράδειγμα 20 - Οι Συναρτήσεις Left() και Right()

Οι συνάρτήσεις Left() και Right() επιστρέφουν έναν καθορισμένο αριθμό χαρακτήρων από την αριστερή ή τη δεξιά πλευρά ενός string.

<script type="text/vbscript">

        text = "Hallo from Florina!"

        document.write(Left(txt, 5))

        document.write("<br />")

        document.write(Right(txt, 8))

</script>

 

Παράδειγμα 21 - Η Συνάρτηση Replace()

Η συνάρτηση Replace() αντικαθιστά μερικούς χαρακτήρες σ' ένα string.

<script type="text/vbscript">

        text = "Hallo from Florina!"

        document.write(Replace(txt, "Florina", "West Macedonia"))

</script>

 

Παράδειγμα 22 - Η Συνάρτηση Mid()

Η συνάρτηση Mid() επιστρέφει έναν καθορισμένο αριθμό χαρακτήρων από ένα string.

<script type="text/vbscript">

        text = "Hallo from Florina!"

        document.write(Mid(txt, 12, 7))

</script>

 

Παράδειγμα 23 - Συναρτήσεις Ημερομηνίας και Ωρας

Μπορούμε να εμφανίσουμε την ημερομηνία και την ώρα με τις συναρτήσεις Date() και Time().

<script type="text/vbscript">

        document.write("Η ημερομηνία είναι : " & date())

        document.write("<br />")

        document.write("Η ώρα είναι : " & time())

</script>

Μπορούμε να εμφανίσουμε τον τρέχοντα μήνα και την τρέχουσα ημέρα με τις συναρτήσεις MonthName() και WeekDayName().

<script type="text/vbscript">

        document.write("Η ημέρα είναι : " & WeekdayName(weekday(date()))

        document.write("<br />")

        document.write("Ο μήνας είναι : " & MonthName(month(date()))

</script>

Μπορούμε να χρησιμοποιήσουμε τη συνάρτηση IsDate() για να ελέγξουμε αν μια έκφραση αποτελεί ημερομηνία. Η συνάρτηση επιστρέφει την τιμή true αν η έκφραση αποτελεί ημερομηνία και false αν όχι.

<script type="text/vbscript">

        somedate = "09/08/2001"

        document.write(IsDate(somedate))

</script>

 

back.gif (9867 bytes)

Επιστροφή