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

Flex Discussion :

Ecrire dans un fichier [AIR]


Sujet :

Flex

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 26
    Par défaut Ecrire dans un fichier
    Bonjour

    j'essaye d'écrire dans un fichier txt depuis une application air.

    Mais mon code ne marche pas.

    Je veux que lorsque je clique sur un bouton , il écrive dans un fichier texte.

    j'ai mis des trace, mais ceux du fichier .as ne sont pas appelés... Que dois je mettre dans le "click" du button pour que ca marche ?

    est ce que ma fonction Fonction est bonne pour écrire dans un fichier ?

    quelle est la différence entre File.applicationStorageDirectory et File.applicationDirectory (au niveau de la localisation)



    d’après ce que j'ai compris le mode WRITE permet de créer le fichier s'il n'existe pas. est ce bien exact ?



    src/ecritureFichier.mxml :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <?xml version="1.0" encoding="utf-8"?>
    <mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
    	<mx:Script>
    		<![CDATA[
    			import test.Fonction;
    			trace ("test");
    		]]>
    	</mx:Script>
    	<mx:Button click="Fonction" label="click"/>
     
    </mx:WindowedApplication>
    src/test/Fonction.as :
    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
    package test
    {
    	public class Fonction
    	{
    		import flash.filesystem.*;
    		trace ("ok");
    		public function Fonction():void
    		{
    			var file:File = File.applicationStorageDirectory;
    			trace ("1");
    			file = file.resolvePath("/fichierTest.txt");
    			trace ("2");
    			var fileStream:FileStream = new FileStream();
    			trace ("3");
    			fileStream.open(file, FileMode.WRITE);
    			trace ("4");
    			fileStream.writeUTFBytes("fichier test");
    			trace ("5");
    			fileStream.close();
    			trace ("6");
    		}
     
    	}
    }
    Pouvez vous m'aider ?

    merci par avance

  2. #2
    Membre averti
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2010
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2010
    Messages : 22
    Par défaut
    Salut à toi Flexeur,

    Alors par où commencer ....

    1 - Souvent le nom d'une classe commence par une majuscule et le nom d'une fonction par une minuscule. Avoir une classe qui s'appelle "Fonction" et avoir une méthode "Fonction", c'est pas le top.

    2 - tu définis une classe mais à aucun moment tu crées une instance de ta classe Fonction donc je vois mal comment tu peux faire appel à ta méthode Fonction de Fonction.

    Pour commencer, je te conseillerai de tout faire dans le MXML. Un truc dans le genre.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    <?xml version="1.0" encoding="utf-8"?>
    <mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
    	<mx:Script>
    		<![CDATA[
    			protected function clickHandler(event:MouseEvent):void
    			{
    				trace("je dois écrire dans un fichier");
    			}
    		]]>
    	</mx:Script>
    	<mx:Button click="clickHandler(event)" label="click"/>
     
    </mx:WindowedApplication>
    3 - Pour ce qui est de File.applicationStorageDirectory et File.applicationDirectory, il y en a un qui est dans "...document & setting/user/Mes document/..." et l'autre qui est dans un répertoire caché. Tu peux chercher dans la doc de Flex, tu trouveras une réponse.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 26
    Par défaut
    merci

    mais j'ai trouvé mon probleme :

    c'est le applicationDirectory dans lequel on a pas les droits d'écriture (souvent l'OS bloque ca, et flash par conséquent bloque aussi pour pas qu'il y ait des cas ou ca marche et d'autres non), du coup en mettant sur le desktop ou dans le répertoire utilisateur, ca marche

    a plus

  4. #4
    Membre averti
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2010
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2010
    Messages : 22
    Par défaut
    Si c'est un problème de droit, il y a normalement un IOException qui est soulevé. Donc un try/catch peut être utile pour gérer l'erreur.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Ecrire \" dans un fichier
    Par photorelief dans le forum Langage
    Réponses: 2
    Dernier message: 14/09/2005, 15h56
  2. [JAR] Lire et Ecrire dans un fichier contenu dans un jar
    Par lipao17 dans le forum Général Java
    Réponses: 5
    Dernier message: 02/05/2005, 12h01
  3. Ecrire dans un fichier
    Par gibet_b dans le forum Linux
    Réponses: 5
    Dernier message: 25/04/2005, 20h11
  4. Ecrire dans un fichier grace à un trigger ?
    Par zigoo dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 29/10/2004, 20h03
  5. Ecrire dans un fichier sans supprimer le reste
    Par koan_sabian dans le forum Linux
    Réponses: 4
    Dernier message: 20/02/2003, 15h44

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