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

Contribuez Discussion :

[FAQ]comment remplir une matrice par des chiffres stockés dans un fichier texte ? [Flash]


Sujet :

Contribuez

  1. #1
    Expert confirmé
    Avatar de slim_java
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2008
    Messages
    2 272
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2008
    Messages : 2 272
    Points : 4 539
    Points
    4 539
    Par défaut [FAQ]comment remplir une matrice par des chiffres stockés dans un fichier texte ?
    le fichier doit contenir les données sous cette forme (sur la même ligne pour ne pas gérer les retours de ligne):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    texte=1 ,2 ,3 ,4 ,5 ,0 ,1 |0, 0 ,0 ,0, 0 ,0 ,0|0, 0 ,0 ,0 ,0 ,0, 0|0 ,1 ,0, 1, 0, 2 ,0|0, 0, 0 ,0 ,0 ,0, 0|1, 0 ,0 ,0, 0 ,0 ,1|
    notre matrice va contenir 6 lignes et 7 colonnes.

    texte est la variable à utiliser dans le code ActionScript qui peut être fait de cette façon :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    temp     =  new Array();
    matrice  = new Array();
    temp et un premier tableau pour contenir la décomposition de texte suivant le caractére " | "

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    //pour faire le transfert de variables entre une animation flash et une source externe.
    variables = new LoadVars();
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    // fonction qui se déclenche à la fin du chargement 
    variables.onLoad=function()
    {
    temp = variables.texte.split("|");
    
    for(n=0;n<temp.length;n++)
    {
    // découpage de temp suivant le caractère virgule " , "
     matrice[n] = temp[n].split(",");
    }
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    //  chargement de variables à partir du fichier " fichier.txt " et place les variables obtenues dans un objet LoadVars
    variables.load("fichier.txt");

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 637
    Points : 66 661
    Points
    66 661
    Billets dans le blog
    1
    Par défaut
    Tu ne rencontres pas de problèmes avec les retours lignes ?
    un petit replace des \r\n par '' ne serait il pas le bienvenu ?
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  3. #3
    Expert confirmé
    Avatar de slim_java
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2008
    Messages
    2 272
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2008
    Messages : 2 272
    Points : 4 539
    Points
    4 539
    Par défaut
    Citation Envoyé par SpaceFrog Voir le message
    Tu ne rencontres pas de problèmes avec les retours lignes ?
    un petit replace des \r\n par '' ne serait il pas le bienvenu ?
    bonjour.
    merci d'avoir attiré mon attention au retour de ligne qui doit être pris on considération, sinon, rien ne nous empêche de mètre tout dans la même ligne.

  4. #4
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 637
    Points : 66 661
    Points
    66 661
    Billets dans le blog
    1
    Par défaut
    rien n'empèche non plus de faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    texte=texte.replace(/\r|\n/,'')
    avant de le splitter
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  5. #5
    Expert confirmé
    Avatar de slim_java
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2008
    Messages
    2 272
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2008
    Messages : 2 272
    Points : 4 539
    Points
    4 539
    Par défaut
    Citation Envoyé par SpaceFrog Voir le message
    rien n'empèche non plus de faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    texte=texte.replace(/\r|\n/,'')
    avant de le splitter
    effectivement

    sans oublier que texte devient une propriété de variables après le chargement par la fonction load

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    variables.texte=variables.texte.replace(/\r|\n/,'')

  6. #6
    Membre régulier Avatar de ia.jenny
    Profil pro
    Inscrit en
    Août 2007
    Messages
    152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 152
    Points : 78
    Points
    78
    Par défaut
    salut,
    il y a un problème avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    variables.texte=variables.texte.replace(/\r|\n/,'');
    j'ai le message : L’opérateur '=' doit être suivi d’un opérande

    fichier.txt :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    texte=1 ,2 ,3 ,4 ,5 ,0 ,1 |0, 0 ,0 ,0, 0 ,0 ,0|0, 0 ,0 ,0 ,0 ,0, 0|0 ,1 ,0, 1, 0, 2 ,0|0, 0, 0 ,0 ,0 ,0, 0|1, 0 ,0 ,0, 0 ,0 ,1|
    Il n'y a pas de retour a la ligne ici, bref

    Pour résumer :
    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
    temp      = new Array();
    matrice   = new Array();
    variables = new LoadVars();
    variables.load("fichier.txt");
    variables.onLoad=function()
    {	
    //	variables.texte=variables.texte.replace(/\r|\n/,''); bug
    	temp = variables.texte.split("|");
     
    	for(n=0;n<temp.length;n++)
    	{
    		 matrice[n] = temp[n].split(",");
    	}
    }
    // pour tester
    scroller.text = matrice[0];
    J'obtiens le message undefined pour matrice[0].

    Je voulais une matrice[x][y]
    c'est les coordonnées x,y d'une map
    http://jennybot.discutforum.com/la-p...dune-2-t20.htm

    Merci encore une fois

  7. #7
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 637
    Points : 66 661
    Points
    66 661
    Billets dans le blog
    1
    Par défaut
    ?


    et au passage

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    variables.load("fichier.txt");
    manquait un quote "
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  8. #8
    Membre régulier Avatar de ia.jenny
    Profil pro
    Inscrit en
    Août 2007
    Messages
    152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 152
    Points : 78
    Points
    78
    Par défaut
    Il ne faut pas de ", j'en suis sur a 100%
    le programme arrive bien à récupère le texte du fichier txt.
    le problème, c'est de dispatcher dans une matrice.
    http://www.developpez.net/forums/d93...e/#post5283145

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    variables.load("fichier.txt");
    exacte, il manquait un "

    voici le programme
    On va y arriver. ... On va y arriver... c'est sûr.

  9. #9
    Expert confirmé
    Avatar de slim_java
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2008
    Messages
    2 272
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2008
    Messages : 2 272
    Points : 4 539
    Points
    4 539
    Par défaut
    Citation Envoyé par ia.jenny Voir le message
    J'obtiens le message undefined pour matrice[0].
    bonsoir.
    j'ai testé mon code et il fonctionne parfaitement chez moi à part les " que j'ai du oublié pour le nom du fichier.

    tu obtiens undefined car les données sont pas encore stockées dans la matrice , donc il faut attendre un peu du temp :

    par exemple , si tu as mis le code que j'ai donné dans l'image clé 1, alors pour tester si ça marche ou pas, tu peux mettre l'instruction

    sur l'image clé 20 et comme çà, tu as laissé du temps pour le remplissage de ton tableaux


    ( parfois on trouve pas le temps pour tout détaillé )

  10. #10
    Membre régulier Avatar de ia.jenny
    Profil pro
    Inscrit en
    Août 2007
    Messages
    152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 152
    Points : 78
    Points
    78
    Par défaut
    effectivement, quand je rajoute sur l'image clé 20
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    scroller.text = _root.matrice[0];  
    stop();
    ça fonctionne
    il y a t-il un autre méthode au lieu des 20 images ?
    sinon, je réalise une barre de chargement.

  11. #11
    Expert confirmé
    Avatar de slim_java
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2008
    Messages
    2 272
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2008
    Messages : 2 272
    Points : 4 539
    Points
    4 539
    Par défaut
    Citation Envoyé par ia.jenny Voir le message
    effectivement, quand je rajoute sur l'image clé 20
    bonjour.
    c'est juste un choix par moi pour laisser assez de temps, mais tu peux choisir une image clé<<<<<20
    sinon ,tu peux boucler sur une image jusqu'à ce que le remplissage de ta matrice se termine.

  12. #12
    Expert confirmé
    Avatar de slim_java
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2008
    Messages
    2 272
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2008
    Messages : 2 272
    Points : 4 539
    Points
    4 539
    Par défaut
    Citation Envoyé par ia.jenny Voir le message
    salut,
    il y a un problème avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    variables.texte=variables.texte.replace(/\r|\n/,'');
    j'ai le message : L’opérateur '=' doit être suivi d’un opérande
    pour cette erreur, tu peux essayer ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    variables.texte = variables.texte.split("\n").join("") ;

  13. #13
    Membre régulier Avatar de ia.jenny
    Profil pro
    Inscrit en
    Août 2007
    Messages
    152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 152
    Points : 78
    Points
    78
    Par défaut
    Merci pour tout
    Une dernier question, Sais-tu définir matrice[x][y] ?
    Car, parement ce n'est pas avec : matrice = new Array();

  14. #14
    Expert confirmé
    Avatar de slim_java
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2008
    Messages
    2 272
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2008
    Messages : 2 272
    Points : 4 539
    Points
    4 539
    Par défaut
    Citation Envoyé par ia.jenny Voir le message
    Merci pour tout
    Une dernier question, Sais-tu définir matrice[x][y] ?
    Car, parement ce n'est pas avec : matrice = new Array();
    salut.
    j'ai une chose pour toi :
    écrit ce code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    for(l=0;l<6;l++)
    for(c=0;c<7;c++)
    trace(matrice[l][c]);
    sur l'image 20 ou l'image que tu as choisi et dis moi ce que tu obtiens comme résultat ?

  15. #15
    Membre régulier Avatar de ia.jenny
    Profil pro
    Inscrit en
    Août 2007
    Messages
    152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 152
    Points : 78
    Points
    78
    Par défaut
    sur image 1
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    matrice   = new Array();
    for(l=0;l<6;l++)
    for(c=0;c<7;c++)
    trace(matrice[l][c]);
    sur image 20
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    scroller.text = matrice[0][0];  
    stop();
    j'obtiens : undefined
    et que des undefined en sortie

  16. #16
    Expert confirmé
    Avatar de slim_java
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2008
    Messages
    2 272
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2008
    Messages : 2 272
    Points : 4 539
    Points
    4 539
    Par défaut
    Citation Envoyé par ia.jenny Voir le message
    sur image 1
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    for(l=0;l<6;l++)
    for(c=0;c<7;c++)
    trace(matrice[l][c]);
    sur image 20
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    scroller.text = matrice[0][0];  
    stop();
    j'obtiens : undefined
    et que des undefined en sortie
    le code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    for(l=0;l<6;l++)
    for(c=0;c<7;c++)
    trace(matrice[l][c]);
    dois être aussi à l'image 20 car à l'instant "1" la matrice n'est pas encore rempli(il faut du temps processeur poour charger les données du fichier puis découper la chaine obtenue 2 fois et a la fin remplir la matrice) , donc a l'image 1 il ya pas de valeur dans les cases de la matrice, c'est pourquoi tu obtenu undefined

  17. #17
    Membre régulier Avatar de ia.jenny
    Profil pro
    Inscrit en
    Août 2007
    Messages
    152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 152
    Points : 78
    Points
    78
    Par défaut
    je n'y arrive pas.
    j'ai essayé un truc plus simple qui fonctionne pas non plus

    image 1
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    	matrice   = new Array();
    	matrice[0][0]=1;
    image 20
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    scroller.text = matrice[0][0];  
    stop();
    j'obtiens : undefined
    comprend pas.
    A mon avis, c'est pas une question de temps là

  18. #18
    Expert confirmé
    Avatar de slim_java
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2008
    Messages
    2 272
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2008
    Messages : 2 272
    Points : 4 539
    Points
    4 539
    Par défaut
    Citation Envoyé par ia.jenny Voir le message
    je n'y arrive pas.
    comme disent les informaticiens : chez moi ça fonctionne.
    tu peux voir mon essaie que j'ai fais pour toi ici

  19. #19
    Membre régulier Avatar de ia.jenny
    Profil pro
    Inscrit en
    Août 2007
    Messages
    152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 152
    Points : 78
    Points
    78
    Par défaut
    ha ok, je comprend mieux
    tu remplis matrice[n] avec "fichier.txt"
    et tu lis avec matrice[l][c]

    Je pensais qu'il fallait remplier directement avec matrice[l][c] à partir du fichier

    je trouve que flash c'est plus subtile que le c++
    J'ai un exemple qui fonctionne je vais pouvoir faire ma map.
    merci 1000 fois

  20. #20
    Expert confirmé
    Avatar de slim_java
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2008
    Messages
    2 272
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2008
    Messages : 2 272
    Points : 4 539
    Points
    4 539
    Par défaut
    Citation Envoyé par ia.jenny Voir le message
    je trouve que flash c'est plus subtile que le c++
    j'étais certain que tu programmais avec un autre langage car on se trouve face à multiple problème de syntaxe même si on fait un petit code en action script

    voila une petite preuve :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    matrice   = new Array();
    donne aussi une matrice

    @+

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. remplir une matrice par des valeurs
    Par ursulinatm dans le forum R
    Réponses: 1
    Dernier message: 25/05/2012, 12h43
  2. Réponses: 17
    Dernier message: 04/02/2010, 08h45
  3. Comment remplir une matrice aléatoirement ?
    Par Hamza dans le forum Langage
    Réponses: 21
    Dernier message: 08/12/2007, 19h59
  4. Réponses: 3
    Dernier message: 29/11/2007, 15h50
  5. Réponses: 2
    Dernier message: 11/05/2006, 22h21

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