IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Flash Discussion :

charger un tableau


Sujet :

Flash

  1. #1
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1
    Par défaut charger un tableau
    Bonjour,

    Je suis débutant en Actionscript et je bute sur un problème.
    Je voudrais remplir un tableau avec des fichiers texte chargés à partir
    du disk dur puis faire une recherche de mot sur ce tableau.

    Pour expliquer un peut mieux mon problème :
    - chaque fichier .txt est en fait le texte d'une fiche déjà compilé en Flash
    avec du texte et des image.
    - chaque fiche est numérotée.
    - la recherche doit se faire sur environ 200 fichiers texte dont le nom contient
    Le numéro de la fiche
    exemple : fr1.txt pour le texte de la fiche 1.

    L'application finale sera sur DVD, faut t'il faire un base de données
    avec les fichiers texte et comment indexer cette base pour me permettre
    de lancer la lecture d'une fiche suivant le résulta de la recherche?


    J'ai fait une boucle avec un loadvars pour charger les fichiers :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    // Chargement du tableau avec les Fiches
    var TabFich:Array = new Array();
    var NbrF = 200;
    var Nf = 0;
     
    for(var i=0; i<=NbrF; i++){
     
     
      // Charger le texte
      var infosTexte:LoadVars = new LoadVars();
      Nf = i;
      Trace ("Numéro de Fiche " + Nf);
      infosTexte.load("fr" + i + ".txt");
     
      // Vérifier que le fichier a été chargé
      infosTexte.onData = function(texteLu:String):Void {
       if (texteLu != undefined) {
       TabFich[Nf] = texteLu;
       //Trace (TabFich[Nf]);
       //trace (TabFich.length);
       unTexte.text = TabFich[Nf];
       test=TabFich[Nf];
       trace(test)
       //trace (TabFich.length);
       } else {
        trace("Impossible de charger le Fichier");
       }
       trace (" Nombre de fiches dans le tableau " + TabFich.length);
    }
     
    }
     
    trace ("fin de chargement tableau")
    //trace (TabFich.length);
    Mais dés que je sors de la fonction le tableau est vide.

    Comment conserver ce tableau en mémoire pour lancer une recherche dessus?
    Si quelqu'un peut m'aide, merci.

  2. #2
    Membre expérimenté Avatar de aorgerit
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    257
    Détails du profil
    Informations personnelles :
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 257
    Par défaut structure de données
    Bonjour,

    comment sont structurées les données dans ton fichier texte ?

    bien à toi.

  3. #3
    Membre expérimenté Avatar de aorgerit
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    257
    Détails du profil
    Informations personnelles :
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 257
    Par défaut stockage de tes données
    pour les données à mémoriser :

    initialement du créé un array vide, mais de longueur 200
    puisque tu as 200 fiches.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    _root.tableau=new Array(200);
    trace(_root.tableau.length)
    tu dispose de i com variable, donc tu t'en sertcomme index pour parcourir ce nouvel array.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    if(_root.tableau[i-1].length==0) {
    // tu appelle tes données et les stocke dans cet array
    } else {
    // tu affiche tes données tout simplement car elles sont déjà chargées et mémorisées.
    }
    si l'emplacement est vide, tu demande donc l'appel des données du fichier texte,( sinon tu demande leur affichage tout simplement ).
    ensuite tu les place dans ton array, qui se remplit au fur et à mesure de l'utilisation de l'application.
    dans les deux cas, tu stockes tes infos, et la partie affichage ne gère pas les infos reçues, mais celle stockées dans ton array.

    Ton array contient des "cellules" qui peuvent à leur tour contenir.. un array.
    on rentre dans les tableaux multidimensionnels.

    Bon courage à toi.

  4. #4
    Membre expérimenté Avatar de aorgerit
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    257
    Détails du profil
    Informations personnelles :
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 257
    Par défaut structure de données ( réponse )
    Voiic le contenu de ton fichier texte :

    texte= 002 - Le Code Da Vinci
    Vendu a plus de 25 millions d’exemplaires à travers le monde, le Da Vinci
    code entraîne Robert Langdon et Sophie Neveu à travers quelques lieux
    célèbres de Paris, afin de découvrir le Saint Graal. Ils vont ainsi au
    Louvre (site n°83), citadelle de Paris, résidence des Rois de France,
    notamment Philippe Auguste, François 1er et Henri IV, et abri des plus grandes
    collections d’art au monde. C'est au Ritz, place Vendôme (site n° 59)
    que Robert Langdon sera dérangé en pleine nuit pour élucider un crime mystérieux.
    Leur enquête les conduit ensuite Place de l'Etoile, où l’Arc de Triomphe (site n°43),
    commandé par Napoléon 1er , fut inauguré en 1836. Ils partiront également vers
    la Normandie depuis la Gare Saint Lazare (site n°27).

    002 - Le Da Vinci Code



    pour identifier le contenu de ce fichier texte, tu as deux solutions :
    - soit tu repaluche tous les fihciers textes pour leur donner la forme suivante :
    &texte=...........
    mais là je te sens pas sur ce coup là.

    par contre ce que tu peux faire c'est utiliser non pas loadvars, mais :
    le xml.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    var monxml:XML = new XML();
    monxml.ignoreWhite = true;
    monxml.onLoad = function(success) {
         monxml=monxml.toString()
    // et là bien sur :
    _root.tableau[i-1]=monxml;
    };
    monxml.load("fichier.txt");
    bon courage à toi.

Discussions similaires

  1. Charger un tableau avec un chaine
    Par zooffy dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 14/11/2007, 09h48
  2. Réponses: 2
    Dernier message: 29/06/2007, 11h20
  3. Charger un tableau excel ou open office
    Par jmbonnaz dans le forum MATLAB
    Réponses: 7
    Dernier message: 14/06/2007, 10h26
  4. [debutant]charger un tableau *.xls dans VB6
    Par styliebeuf dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 08/11/2006, 11h48
  5. Charger un tableau avec un recordset
    Par zooffy dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 12/09/2006, 17h35

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo