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

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

 

Εισαγωγή στην WMLScript

Για ποιο λόγο χρησιμοποιείται η WMLScript;

 

Κλήση της WMLScript από μια WML Σελίδα

Πρέπει να έχουμε υπόψη μας ότι τα WMLScripts δεν ενσωματώνονται στις WML σελίδες, οι οποίες περιέχουν μόνο αναφορές στα script URLs. Στο παρακάτω παράδειγμα έχουμε δημιουργήσει ένα card όπου καταχωρούμε ένα URL, επιλέγουμε το go label και μετά πηγαίνουμε στο καθορισμένο URL.

<?xml version="1.0"?>

<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN"

"http://www.wapforum.org/DTD/wml_1.1.xml">

<wml>

<card id="no1" title="Go to URL">

<do type="options" label="Go">

<go href="check.wmls#go_url('my_url')"/>

</do>

<p> Καταχωρείστε ένα URL :

<input type="text" name="my_url"/>

</p>

</card>

</wml>

Το WMLScript περιέχεται σ’ ένα αρχείο με όνομα check.wmls και το όνομα της συνάρτησης είναι go_url. Η συνάρτηση go_url μάς στέλνει στο URL που καταχωρήσαμε. Η συνάρτηση ελέγχει επίσης αν έχουμε παραλεί-ψει το τμήμα "http://" του URL και αν όχι, τότε το προσθέτει.

Ακολουθεί η WML σελίδα με όνομα check.wmls :

extern function go_url(the_url)

{

if (String.find(the_url,"http://") < 0)

{

the_url="http://"+the_url;

}

WMLBrowser.go(the_url);

}

Η συνάρτηση αυτή έχει χρησιμοποιήσει τη λέξη κλειδί extern, έτσι ώστε να μπορεί να κληθεί από άλλες συναρτήσεις ή συμβάντα της WML εκτός του αρχείου .wmls. Για να μείνει μια συνάρτηση σαν ιδιωτική (private), πρέπει να αφαιρέσουμε τη λέξη κλειδί extern.

 

Η Βιβλιοθήκη Διαλόγου της WMLScript

Η βιβλιοθήκη διαλόγου (Dialog Library) περιέχει συναρτήσεις για την εμφάνιση alerts και μηνυμάτων (messages). Οι συναρτήσεις της βιβλιοθήκης διαλόγου είναι πολύ παρόμοιες με τα πλαίσια alert και τα πλαίσια μηνυμάτων (message boxes) της JavaScript.

Η συνάρτηση alert() χρησιμοποιείται για να εμφανισθεί ένα μήνυμα, η συνάρτηση confirm() χρησιμοποιείται όταν ο χρήστης πρέπει να επιλέξει ανάμεσα σε δύο απαντήσεις (όπως "yes" ή "no"), και η συνάρτηση prompt() χρησιμοποιείται όταν ο χρήστης πρέπει να καταχωρήσει μια απάντηση (input an answer).

Συνάρτηση

Περιγραφή

alert()

Εμφανίζει ένα μήνυμα, περιμένει για μια επιβεβαίωση και μετά επιστρέφει ένα κενό string.

confirm()

Εμφανίζει ένα μήνυμα, περιμένει για μια απάντηση και επιστρέφει μια λογική τιμή (boolean value) ανάλογα με την επιλεγμένη απάντηση.

prompt()

Εμφανίζει μια ερώτηση, περιμένει για μια καταχώρηση (input) και μετά επιστρέφει την απάντηση του χρήστη.

 

Η Float Library της WMLScript

Η Float Library περιέχει ένα σύνολο από μαθηματικές συναρτήσεις που αφορούν κυρίως στρογγυλοποίηση αριθμών. Οι συναρτήσεις αυτές αποτελούν τμήμα του αντικειμένου Math της JavaScript. Οι συναρτήσεις της Float library εμφανίζουν αποτελέσματα μόνο σε όσους χρήστες έχουν υποστήριξη για αριθμούς κινητής υποδιαστολής (floating-point numbers).

Συνάρτηση

Περιγραφή

ceil()

Επιστρέφει τον κοντινότερο ακέραιο που δεν είναι μικρότερος από έναν καθορισμένο αριθμό.

floor()

Επιστρέφει τον κοντινότερο ακέραιο που δεν είναι μεγαλύτερος από έναν καθορισμένο αριθμό.

int()

Επιστρέφει το ακέραιο μέρος ενός αριθμού.

maxFloat()

Επιστρέφει τον μεγαλύτερο δυνατό αριθμό κινητής υποδιαστολής (floating-point number).

minFloat()

Επιστρέφει τον μικρότερο δυνατό αριθμό κινητής υποδιαστολής (floating-point number).

pow()

Υψώνει έναν αριθμό σε μια δύναμη.

round()

Επιστρέφει τον κοντινότερο ακέραιο ενός αριθμού.

sqrt()

Επιστρέφει την τετραγωνική ρίζα ενός αριθμού.

 

Η Lang Library της WMLScript

Η Lang library περιέχει ένα σύνολο από συναρτήσεις που σχετίζονται στενά με τον πυρήνα της WMLScript, δηλ. υπολογισμό απόλυτων τιμών, χειρισμό τύπων δεδομένων (data type manipulation) και δημιουργία τυχαίων αριθμών (random number generation).

Συνάρτηση

Περιγραφή

abort()

Απορρίπτει ένα WMLScript και επιστρέφει ένα μήνυμα σ’ αυτόν που κάλεσε το script.

abs()

Επιστρέφει την απόλυτη τιμή ενός αριθμού.

characterSet()

Επιστρέφει το σύνολο χαρακτήρων που υποστηρίζεται από τον διερμηνευτή (interpreter) της WMLScript.

exit()

Εξέρχεται από ένα WMLScript και επιστρέφει ένα μήνυμα σ’ αυτόν που κάλεσε το script.

float()

Επιστρέφει true αν υποστηρίζονται αριθμοί κινητής υποδιαστολής και false αν όχι.

isFloat()

Επιστρέφει true αν μια καθορισμένη τιμή μπορεί να μετατραπεί σε τιμή κινητής υποδιαστολής από τη συνάρτηση parseFloat() και false αν όχι.

isInt()

Επιστρέφει true αν μια καθορισμένη τιμή μπορεί να μετατραπεί σε ακέραιο από τη συνάρτηση parseInt() και false αν όχι.

max()

Επιστρέφει την μεγαλύτερη τιμή από δύο αριθμούς.

maxInt()

Επιστρέφει την μεγαλύτερη δυνατή ακέραια τιμή.

min()

Επιστρέφει την μικρότερη τιμή από δύο αριθμούς.

minInt()

Επιστρέφει την μικρότερη δυνατή ακέραια τιμή.

parseFloat()

Επιστρέφει μια τιμή κινητής υποδιαστολής που ορίζεται από ένα string.

parseInt()

Επιστρέφει έναν ακέραιο που ορίζεται από ένα string.

random()

Επιστρέφει έναν τυχαίο αριθμό ανάμεσα στο 0 και έναν άλλον καθορισμένο αριθμό.

seed()

Αρχικοποιεί (initializes) την γεννήτρια τυχαίων αριθμών (random number generator) μ’ έναν αριθμό και επιστρέφει ένα κενό string.

Η Lang Library περιέχει μερικές συναρτήσεις που θα περιμέναμε να βρούμε σε μια Math Library, αλλά αποκαλείται Lang Library επειδή περιέχει συναρτήσεις που είναι στενά συσχετισμένες με τον πυρήνα (core) της μηχανής της WMLScript.

 

Η String Library της WMLScript

Η String library περιέχει συναρτήσεις που είναι πολύ παρόμοιες μ’ αυτές του αντικειμένου String της JavaScript.

Συνάρτηση

Περιγραφή

charAt()

Επιστρέφει έναν χαρακτήρα που βρίσκεται σε μια συγκεκριμένη θέση σ’ ένα string.

compare()

Συγκρίνει δύο strings και επιστρέφει έναν ακέραιο που λέει αν το ένα string είναι ίσο, μικρότερο ή μεγαλύτερο από το άλλο.

elementAt()

Διαχωρίζει ένα string σε στοιχεία (elements) και μετά επιστρέφει ένα καθορισμένο στοιχείο.

elements()

Επιστρέφει το πόσες φορές εμφανίζεται μια καθορισμένη τιμή σ’ ένα string.

find()

Επιστρέφει τη θέση ενός substring σ’ ένα string.

format()

Μορφοποιεί μια τιμή και επιστρέφει το αποτέλεσμα.

insertAt()

Διαχωρίζει ένα string σε στοιχεία (elements), εισάγει ένα substring και μετά επιστρέφει το αποτέλεσμα.

isEmpty()

Επιστρέφει μια λογική τιμή true αν το string είναι κενό και false αν όχι.

length()

Επιστρέφει το μήκος ενός string.

removeAt()

Διαχωρίζει ένα string σε στοιχεία (elements), αφαιρεί ένα στοιχείο και μετά επιστρέφει το αποτέλεσμα.

replace()

Αντικαθιστά ένα μέρος ενός string μ’ ένα νέο string και επιστρέφει το αποτέλεσμα.

replaceAt()

Διαχωρίζει ένα string σε στοιχεία (elements), αντικαθιστά ένα στοιχείο και μετά επιστρέφει το αποτέλεσμα.

squeeze()

Μειώνει όλα τα λευκά κενά (white spaces) σε single spaces και επιστρέφει το αποτέλεσμα.

subString()

Επιστρέφει ένα string που αποτελεί μέρος ενός άλλου string.

toString()

Δημιουργεί ένα string από έναν αριθμό και επιστρέφει το αποτέλεσμα.

trim()

Επιστρέφει ένα string χωρίς τα αρχικά και τελικά κενά.

 

Η URL Library της WMLScript

Η URL library περιέχει ένα σύνολο συναρτήσεων για τον χειρισμό σχετικών και απόλυτων URLs.

Συνάρτηση

Περιγραφή

escapeString()

Αντικαθιστά ειδικούς χαρακτήρες σ’ ένα URL με μια escape sequence και επιστρέφει το αποτέλεσμα.

getBase()

 

getFragment()

Επιστρέφει το fragment ενός URL.

getHost()

Επιστρέφει το host που καθορίζεται σ’ ένα URL.

getParameters()

Επιστρέφει τις παραμέτρους που υπάρχουν στο τελευταίο path segment ενός URL.

getPath()

Επιστρέφει τη διαδρομή (path) που έχει καθορισθεί σ’ ένα URL.

getPort()

Επιστρέφει τον αριθμό θύρας (port number) που έχει καθορισθεί σ’ ένα URL.

getQuery()

Επιστρέφει το τμήμα query ενός URL.

getReferer()

 

getScheme()

Επιστρέφει το scheme ενός URL.

isValid()

Επιστρέφει true αν ένα URL έχει τη σωστή σύνταξη και false αν όχι.

loadString()

Επιστρέφει το περιεχόμενο (content) και τον τύπο περιεχομένου (content type) ενός καθορισμένου URL.

resolve()

Επιστρέφει ένα απόλυτο URL από ένα βασικό (base) URL και ένα σχετικό URL.

unescapeString()

Αντικαθιστά τις escape sequences σ’ ένα URL με χαρακτήρες και επιστρέφει το αποτέλεσμα.

 

Η WMLBrowser Library της WMLScript

Η WMLBrowser library περιέχει συναρτήσεις που μπορούν να χρησιμοποιηθούν για να έχουμε πρόσβαση σε μεταβλητές του φυλλομετρητή (browser variables).

Οι πληροφορίες που αποθηκεύονται από τον φυλλομετρητή συχνά αποκαλούνται περιεχόμενο του φυλλομετρητή (browser context), το οποίο μπορεί να περιέχει μεταβλητές που έχουν ορισθεί από ένα πρόγραμμα και μεταβλητές που έχουν ορισθεί από τον ίδιο τον φυλλομετρητή, όπως το τρέχον (current URL) και η λίστα ιστορικού του card (card history stack).

Η WML Browser library περιέχει συναρτήσεις για να μπορούμε να ορίσουμε και να έχουμε πρόσβαση στο browser context :

Συνάρτηση

Περιγραφή

getCurrentCard()

Επιστρέφει το (σχετικό) URL του τρέχοντος card.

getVar()

Επιστρέφει την τιμή μιας μεταβλητής.

go()

Πηγαίνει σ’ ένα νέο card, που καθορίζεται από το νέο URL και επιστρέφει ένα κενό string.

newContext()

Καθαρίζει όλες τις μεταβλητές και επιστρέφει ένα κενό string.

prev()

Ο φυλλομετρητής πάει πίσω στο προηγούμενο card και επιστρέφει ένα κενό string.

refresh()

Ανανεώνει το τρέχον card και επιστρέφει ένα κενό string.

setvar()

Ορίζει την τιμή μιας μεταβλητής και επιστρέφει true αν η νέα τιμή καταχωρήθηκε με επιτυχία και false αν όχι.

 

back.gif (9867 bytes)

Επιστροφή