AIR autorisation pour ecriture sur fichier local permettant l'ecriture en local demaniere tranparente
#1
Posté 04 October 2008 - 09:27 AM
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...
#2
Posté 04 October 2008 - 05:14 PM
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
Pourrais-tu préciser
++
Albert Einstein
#4
Posté 05 October 2008 - 08:12 PM
Pourrais-tu préciser
...
++
desole pour l'expression utilisee pour enoncer mon probleme...
pour resumer (
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...
#5
Posté 08 October 2008 - 07:50 AM
mais du cote pratique...!!
je suis encore loin de mon objectif
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
voici un lien donne par ''jeanphilippe'' (
http://dynamicflash....al-file-access/
pour l'élaboration du code SAVE the file
comme vous pouvez le constater mes connaissances en AS3 sont assez minces
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
#6
Posté 13 October 2008 - 12:43 PM
Vois-tu, l'avantage de passer par AIR, c'est ceci:
http://livedocs.adob...age-detail.html
et hop, plus de problème, et une gestion bien plus avancée.
#7
Posté 13 October 2008 - 11:07 PM
Vois-tu, l'avantage de passer par AIR, c'est ceci:
http://livedocs.adob...age-detail.html
et hop, plus de problème, et une gestion bien plus avancée.
merci a toi kipy ...
pour avoir eu la patience de lire les posts precedents
ainsi que pour ton precieux lien
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.....
#8
Posté 16 October 2008 - 07:20 AM
rebonjour...
je reviens a la charge
...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...
#10
Posté 16 October 2008 - 09:30 AM
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
#11
Posté 16 October 2008 - 03:31 PM
ce que j'attend avec impatience depuis un temps certain ...!!!
enfin,...!!!
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
merci a tous...
#12
Posté 17 October 2008 - 03:49 AM
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...
#14
Posté 17 October 2008 - 09:13 AM
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...
...
#15
Posté 17 October 2008 - 01:47 PM
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 ...
#17
Posté 05 April 2010 - 01:54 PM
var urlStr:String="file:///C:/Documents and Settings/lovehina/Desktop/Editor_air";
var file:File = new File();
file.url=urlStr;
file=file.resolvePath("test--.txt");
var fileStream:FileStream = new FileStream();
fileStream.open(file, FileMode.WRITE);
fileStream.writeUTF("Hello");
fileStream.close();
Si quelqu'un s'y connait et qui peut donner la réponse ^^. C'est tout simplement pour écrire une string dans un fichier.
SpongeBob4Eva
#19
Posté 05 April 2010 - 02:13 PM
var file:File = new File("file:///C:/[PATH]/Desktop");
file = file.resolvePath("test.txt");
var fileStream:FileStream = new FileStream();
fileStream.open(file, FileMode.WRITE);
fileStream.writeUTF("Hello");
fileStream.close();
Ceci fonctionne ...
SpongeBob4Eva


Connexion
Inscription
Citer


