Aide - Recherche - Membres - Calendrier
Version complète : AIR autorisation pour ecriture sur fichier local
Centre de Formation Flash - Forums Adobe Flash > Rich media et intégration > AIR
alamata
bonjour a tous ,

je me permet de poster ici suite un message

qui porte sur
la possibilite d'ecriture transparante dans un fichier local
lors de la lecture d'une animation flash ...

la solution pour ce probleme passe par
la compilation d'une application AIR
qui elle durant sont installation
"donnera les autorisations necessaires pour ces taches"

j' dispose donc d'une anim en swf qui ecrit bien dans le fichier en local
mais qui demande une boite de dialogue de confirmation de la tache

j'ai copier coler les image de mon anim de mon swf

je l'ai ""compilee"" j'en ai fait un package .air
pour l'instal de l'application

l'anim se lance par l'application AIR

mais aucune ecriture dans le fichier

pourquoi cette non prise en charge??

un idee pour eclairer ma lanterne...

une piste de reflexion...

merci de votre comprehension...
tibibi
Salut,

Je ne comprend pas bien ce que tu fais? Tu cherches à faire une appli AIR ou une anime flash? Parce que ça a l'air un peu hybride pour le moment icon_confused.gif

Pourrais-tu préciser icon_biggrin.gif

++icon_wink.gif
kipy
Je ne comprends pas non plus, surtout qu'avec AIR, aucune autorisation n'est nécessaire. L'utilisateur utilise l'application à ses risques et péril... ^^
alamata
Citation (tibibi @ Oct 4 2008, 06:14 PM) *
...
Pourrais-tu préciser icon_biggrin.gif
...
++icon_wink.gif


desole pour l'expression utilisee pour enoncer mon probleme...
icon_redface.gif icon_wink.gif

pour resumer ( icon_eek.gif )

je voulais au depart faire une anim flash
qui devait envoyer des infos via un fichier .txt en local
a une application tierce toujours en local....

cependant suite a la limitation d'implementation des fonctions write/rewrite/save dans flash player 10
qui demande Toujours une boite de dialogue de confirmation de la tache

j'avais lors de la lecture de l'anim flash
une boite de dialogue de confirmation de la tache save,dans ce cas
ou l'utilisateur doit presser "le bouton enregistrer"
afin de pouvoir ecrire dans mon fichier texte...

j'avais donc la possibilite d'ecrire dans mon fichier texte
Mais avec une intervention de l'utilisateur
qui doit presser "le bouton enregistrer" de la boite de dialogue de confirmation

j'avais donc la possibilite d'ecrire dans mon fichier texte
mais pas de maniere transparente
(sans intervention de l'utilisateur...)

voila pour l'anim flash...

mon but etant ...

de pouvoir ecrire dans un fichier texte
de maniere transparente
lors de la lecture d'une anim flash...
afin de recuperer les infos pour/par une application tierce


cote AIR

lors de l'installation d'une l'application AIR en local
en installant le fichier AIR
l'utilisateur "donne sa permission" d'ecrire sur son disque...


donc

je suis alors capable d'ecrire dans le fichier .txt
de maniere transparente
dans les dossiers qu'utilisent l'application AIR directement


voila ce qui m'amene ici... icon_eek.gif icon_wink.gif








alamata
ce qui vient d'etre enonce serait la partie theorie...

mais du cote pratique...!!

je suis encore loin de mon objectif icon_sad.gif

en effet pour l'instant


je ne dispose que d'une petite anim flash
avec comme petit code

Action Script

var fileRef = new FileReference();
fileRef.save('Here is some text','some.txt');
gotoAndStop(1);


comme je l'ai dit precedement
a l'image a laquelle correspond
ce petit bout de code...
j'ai une boite de dialogue me demandant de sauver mon fichier

point de vue debogage de cet anim

""le lancement de debogueur a echoue, le session de debogage va se terminer""

ce qui laisserait supposer que le code ne soit pas entierement correct

concernant le fichier AIR
j'ai copier/coller les images de mon anim flash
pour le fichier AIR

quand je tente de debogue pour AIR voici ce que je j'obtiens

"
1046: Ce type est introuvable ou n'est pas une constante de compilation : Matrix3D.
1046: Ce type est introuvable ou n'est pas une constante de compilation : Vector.
"

apparement le code n'est pas correct icon_sad.gif

voici un lien donne par ''jeanphilippe'' ( gourou.gif )
http://dynamicflash.com/2008/07/flash-play...al-file-access/

pour l'élaboration du code SAVE the file

comme vous pouvez le constater mes connaissances en AS3 sont assez minces icon_redface.gif icon_wink.gif

j'aurais dans un premier temps besoin

d'un code correct pour write and save the file
d'abord en flash...
pius d'essayer de le deboguer pour air....

une ame charitable pour eclairer ma lanterne !!!!!!!!

merci de votre comprehension
kipy
Ha ben je comprends mieux ton problème maintenant.

Vois-tu, l'avantage de passer par AIR, c'est ceci:


http://livedocs.adobe.com/flash/9.0/Action...age-detail.html


et hop, plus de problème, et une gestion bien plus avancée.


smile.gif
alamata
Citation (kipy @ Oct 13 2008, 01:43 PM) *
Ha ben je comprends mieux ton problème maintenant.

Vois-tu, l'avantage de passer par AIR, c'est ceci:
http://livedocs.adobe.com/flash/9.0/Action...age-detail.html
et hop, plus de problème, et une gestion bien plus avancée.
smile.gif



merci a toi kipy ...
pour avoir eu la patience de lire les posts precedents icon_wink.gif
ainsi que pour ton precieux lien gourou.gif

qui ma permis de trouver ceci

Action Script


import flash.filesystem.*;

var file:File = File.documentsDirectory;
file = file.resolvePath("AIR Test/test.txt");
var fileStream:FileStream = new FileStream();
fileStream.open(file, FileMode.WRITE);
fileStream.writeUTF("Hello");
fileStream.close();


qui permet d'ecrire HELLO
dans un fichier ""texte"" au prealablement cree
dans le repertoire ""AIR test"" dans "mes documents"

encore une fois merci..... gourou.gif
alamata
...

rebonjour...icon_wink.gif

je reviens a la charge icon_rolleyes.gif icon_redface.gif icon_wink.gif

...la chose pour moi se complique un peu...

en effet je dois pouvoir aller

ecrire dans un ""fichier precis"" pour que l'infos soit recuperable par l'application tierce

c'est apres quelques recherches et essais infructueux
que je me represente a vous....

etant sur que cela est possible
par
la propriete public url de flash.filesystem.file
avec comme convention d'ecriture pour url "file:///C:/Documents%20and%20Settings/moi/"

mais etant incapable a l'heure actuelle de compiler ce nouveau bout de code

ma question est donc la suivante

comment utiliser flash.filesystem.file.url
pour ecrire dans un ""fichier precis"" se trouvant "dans les dossiers d'installation" de l'application tierce

s'est conscient de la redondance de ce sujet et de mes limitations en as3
que j'ose me representer a vous

dans l'espoir d'un nouveau coup de pouce
me permetttant de realiser ce dont j'ai grandement besoin...

merci a vous...
jeanphilippe
Citation (alamata @ Oct 16 2008, 08:20 AM) *
pour ecrire dans un ""fichier precis"" se trouvant "dans les dossiers d'installation" de l'application tierce

merci a vous...


salut
que veux tu dire par application tierce ???
alamata
Salut jeanphilippe, icon_smile.gif

Citation (jeanphilippe @ Oct 16 2008, 08:57 AM) *
salut
que veux tu dire par application tierce ???


dans le cas precis qui m'occupe l'application tierce
est un front end mediacenter cuztomizable...

celui ci peut recevoir des instructions par l'intermediare d'un fichier texte
constamment surveiller par un plugin
fichier ...frontend/plugin/nameplugin/fichierpourintstruction.txt

en fait toute ma demarche est centree sur le skinning de ce frontend
car par le fait qu'il m'est possible d'ecrire dans ce fichier texte
je suis capable de donner des instructions a ce frontend
et donc de lui appliquer une interface en flash !!!

ce que j'attend avec impatience depuis un temps certain ...!!!

dans l'espoir d'une reponse a mon interrogation
concernant "le pointage" vers ce fichierpourinstruction.txt
par url de flash.filesystem.file...

merci de votre comprehension
alamata
Citation (alamata @ Oct 16 2008, 10:30 AM) *
...
ce que j'attend avec impatience depuis un temps certain ...!!!



enfin,...!!! icon_arrow.gif icon_cool.gif

je crois que j'y suis arrive...

Action Script



import flash.filesystem.*;

var urlStr="file:///C:/xl/plugins/XE";
var file = new File ();

file.url=urlStr;

file=file.resolvePath("XA.txt");

var fileStream:FileStream = new FileStream();

fileStream.open(file, FileMode.WRITE);

fileStream.writeUTF("Hello");

fileStream.close();


code qui permet d'ecrire Hello
dans un fichier deja existant nomme XA.txt
situe dans le dossier
lui meme deja existant dont le chemin est C:/xl/plugins/XE

merci a tous ceux qui m'ont aider a resoudre ce probleme gourou.gif gourou.gif

merci a tous...
alamata
voici le code afin de pouvoir ecrire une instruction tu type ""NOW|goto:music""

Action Script


import flash.filesystem.*;

var urlStr="file:///C:/xl/plugins/XE";
var file = new File ();

file.url=urlStr;

file=file.resolvePath("XA.txt");

var fileStream:FileStream = new FileStream();

fileStream.open(file, FileMode.WRITE);

var str:String = "NOW|goto:music";

fileStream.writeUTFBytes(str);



fileStream.close();

stop();


ou "writeUTF" est remplacer par "writeUTFBytes"

voici un code pour une action avec presence d'un bouton

Action Script


stop ();

bt1.addEventListener(MouseEvent.CLICK, first);
function first(event:MouseEvent)
{

var urlStr="file:///C:/xl/plugins/XE";
var file = new File ();

file.url=urlStr;

file=file.resolvePath("XA.txt");

var fileStream:FileStream = new FileStream();

fileStream.open(file, FileMode.WRITE);

var str:String = "NOW|goto:music";

fileStream.writeUTFBytes(str);


fileStream.close();
}
stop();


en esperant que ca puisse aider...
jeanphilippe
il est sensé faire quoi ton bouton ?
alamata
Citation (jeanphilippe @ Oct 17 2008, 07:12 AM) *
il est sensé faire quoi ton bouton ?


ce bouton est cense ecrire "NOW|goto:music" qui est une commande customizable du frontend
dans le fichier XA.texte dont le chemin d'acces est donne par C:/xl/plugins/XE
le fichier XA se trouvant dans le dossier XE

point du vue du front end
ce fichier est constamment surveiller par un plugin
ce qui provoque l'execution d'un event (au sens du frontend)
des qu'une commande du frontend y est inscrite

dans ce cas ci par exemple le bouton permet d'aller a un screen appele "music"
goto:nom_screen
mais il est a remarquer que les event du frontend sont totalement customizable

donc ce bouton me permet d'aller a un autre screen du frontend...

mais il est a remarque que par la possibilite que m'offre air d'ecrire dans ce fichier
je suis en mesure d'executer n'importe quel event customizable du frontend...

et donc de creer une interface en flash pour le frontend... icon_wink.gif

...
alamata
desole... icon_redface.gif icon_wink.gif

petite rectification du code pour le boutton

Action Script


stop ();
bt1.addEventListener(MouseEvent.CLICK, onMouseClickEvent);
function onMouseClickEvent(event:MouseEvent) : void {
if (event.buttonDown) {

var urlStr="file:///C:/xl/plugins/XE";
var file = new File ();

file.url=urlStr;

file=file.resolvePath("XA.txt");

var fileStream:FileStream = new FileStream();

fileStream.open(file, FileMode.WRITE);

var str:String="NOW|goto:music";

fileStream.writeUTFBytes(str);

fileStream.close();}


stop();}


ce code semble plus fonctionnel que le precedent ... icon_wink.gif
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'informations, la mise en page et les images, veuillez cliquer ici.
Invision Power Board © 2001-2009 Invision Power Services, Inc.