Home License Download Tutorial Reference Projects Feedback History |
var w = new Stream('http://www.jsdb.org/') writeln(w.readLine());var r = new Record; w.readMIME(r); writeln('Header\n',r.toString(),'\n'); var data = w.readFile(); writeln('Page\n',data); w.close(); |
Ouvre un nouveau flux HTTP, envoie la requête GET en utilisant un proxy si nécessaire. Affiche la réponse HTTP.Déclare un objet de stockage pour l’en-tête. Lit l’en-tête MIME et la stocke dans r. Montre l’intégralité de l’en-tête HTTP. Place toute la page Web dans une chaîne. Affiche la page Web. Ferme la connexion réseau. |
var m = new Mail('SMTP','username', 'password','pop-server', 'smtp-server','utf-8', 'me@email.com'); m.send('me@email.com','subject','Hi there!'); var inbox = m.get(); if (inbox.count) { writeln('mail from ',inbox.get(1,'Sender')); writeln(inbox.getMessage(1)); writeln(inbox.getHTML(1)); }m.close() |
Nouvelle interface Mail Effectue l’authentification MD5 ; le pilote POP3/SMTP analyse les messages de type multipart. Consultez la documentation de la classe pour plus de détails. Envoie un nouveau message. Lit le courrier arrivé. Mail.get() renvoie un objet Table. Si un message est disponible... Emetteur ? Contenu du message Contenu HTML pour les messages multipart. Ferme les connexions aux serveurs. |
Table.create("myfile.dbf","NAME 30, SEQUENCE 10") var myTable = new Table("myfile.dbf"); for each(var n in ["Alice","Bob","Cynthia"]) myTable.add(new Record("NAME=" + n)) for (var i = 1; i <= myTable.count; i++) { writeln(i, ": ", myTable.get(i, 'NAME') ); myTable.set(i,'SEQUENCE',i-1);} |
Crée un nouveau fichier xBase avec deux colonnes. Ouvre le fichier en lecture-écriture. Ajoute quelques enregistrements. La numérotation des enregistrements d’un objet Table commence à 1. Table.get(rang,colonne) renvoie le contenu de la colonne de l’enregistrement de rang spécifié. La colonne est désignée par son nom ou son indice (à partir de 1). Table.set(rang,colonne,valeur) modifie immédiatement le fichier de données en affectant le valeur indiquée à la colonne de l’enregistrement de rang spécifié. |
Lit une table SQL construit un index et recherche une valeur.
var db = new ODBC("DSN=driver;UID=login;PWD=password;"); var result = db.query("select * from mytable"); var searcher = new Index; for (var i=1; i <= result.count; i++) { searcher.add(result.get('NAME')); } var i = searcher.find('Mr. Smith');var r = result.getRow(i + 1); writeln('Data for Mr. Smith');writeln(r.toString()); db.close(). |
Voir ci-après pour une variante plus efficace result est un objet Table contenant le résultat (de la requête). Index est une classe générique dédiée aux recherches au sein de chaînes binaires. Ajoute les données à l’index. Cherche un enregistrement spécifique. Les valeurs d’indice commencent à 0 d’où l’ajout de 1 [ndlr : pour mémoire la numérotation des enregistrements d’un objet Table débute à 1]. Table.getRow(rang) retourne un objet Record [ndlr : contenant les données de l’enregistrement de rang spécifié]. Affiche le résultat à l’écran. Libère les ressources ODBC. La fermeture de db libère également result. |
Même chose en beaucoup plus rapide …
var result = new Table("odbc://login:password@driver/mytable"); var searcher = result.index('NAME'); var r = result.getRow(searcher.find('Mr. Smith')); writeln('Data for Mr. Smith'); writeln(r.toString());resut.close() |
Ouvre une connexion ODBC et récupère le contenu de la table. Les connexions ODBC sont mises en cache et réutilisée. Table.index(colonne) retourne un objet Index dont le premier indice est 1. Table.getRow(rang) retourne un objet Record. Affiche le résultat à l’écran. Ferme la connexion (et libère les ressources ODBC). |
Lit un fichier et compte le nombre d’occurrences des mots utilisés.
var source = new Stream("myfile.txt"); var count = new Object;while (!source.eof) { var line = source.readLine('\n'); words = line.split(/\W/g); for (var i in words) { if (words[i] == '') continue; if (count[words[i]]) count[words[i]]++; else count[words[i]] = 1; } } for (var i in count) writeln(i,': ',count[i]); |
Ouvre un fichier texte en lecture seule. count sauvegarde les résultats [ndlr : var count={}]. Répéte jusqu’à ce que la fin du fichier soit atteinte Lit une ligne de texte à partir du fichier (en utilisant le retour chariot comme séparateur). Découpe le ligne en un tableau de mots (g pour global). Pour chaque mot de la ligne... Ignore les mots vides [ndlr : sans caractère] Est-ce un mot déjà rencontré ? Oui. Incrémente le compteur. Non. Crée un nouveau compteur. Fin de la lecture du fichier de données Pour chaque mot stoké dans l’objet count Ecrit le mot et son nombre d’occurrences |