On oublie trés souvent les possibilités étendues de la classe LoadVars, notamment son évenement onData, qui permet d'accéder au contenu brut d'un fichier chargé avec les méthodes load ou sendAndLoad. En effet, le paramètre transmis à cet évenement contient les données brutes du fichier, avant d'être analysées pour générer des propriétés dans l'objet. :o

Dans un cas "classique" d'utilisation de LoadVars, l'évenement onData recevrait donc une chaine de la forme mavar1=mavaleur1&mavar2=mavaleur2 ... mais si le fichier n'est pas formaté de cette manière, il reste tout de même possible d'accéder à son contenu ! 8)

Ainsi, il est possible de créer un lecteur de fichiers textes, tel que celui présenté ci-contre. Il va lire le contenu du fichier textfile.txt. Bien entendu, pour un affichage correct dans Flash, il faut que le fichier soit encodé en Unicode, afin de préserver les accents et autres fioritures des caractères latins. ;)

Le code tout simple de ce lecteur : // Si aucun chemin de fichier
// n'est passé en paramètre, on en met
// un par défaut
if (_root.file == undefined) {
        _root.file = "textfile.txt";
}
// Objet LoadVars
var lv = new LoadVars();
// Evenement onData
// le paramètre 'src' contient
// le contenu du fichier "loadé"
lv.onData = function (src) {
        var nlPos;
        // Supprime les retours chariot (
)
        // pour ne laisser que les retours à la ligne
        while ((nlPos=src.indexOf("
"
)) >= 0) {
                src = src.slice(0, nlPos) + src.slice(nlPos+1);
        }
        // On met le contenu du fichier dans la
        // zone de texte
        _root.dspText.text = src;
}
// Chargement du fichier
lv.load(_root.file);

::Télécharger textreader.zip::