Actionscript 3 Export to text file -
Actionscript 3 Export to text file -
just playing around actionscript 3/air , not find decent tutorial on allowing export simple txt file in same folder. i've kind of fudged code , hoping take , offer pointer on going wrong.
currently getting error message 5006:an actionscript file can not have more 1 externally visible definition:file, dosave
package { import flash.events.event; public var file:filereference = new filereference(); public function dosave( event:event ):void { var data:bytearray = new bytearray(); data.writemultibyte ( txtfield.text, "test" ); file.save( data, "mytextfile.txt" ); } }
your error has nil saving file. because lack class defintion in bundle (all code, vars need encased in class). seek this: (where myfile placeholder name of .as file)
package { import flash.events.event; import flash.net.filereference; import flash.utils.bytearray; public class myfile { public var file:filereference; public function dosave(text:string):void { file = new filereference(); file.addeventlistener(event.complete, onsavecomplete, false, 0, true); var data:bytearray = new bytearray(); data.writemultibyte(text, "utf-8" ); //use proper charset work right file.save( data, "mytextfile.txt" ); } private function onsavecomplete(e:event):void { file = null; //free file reference garbage collected save finish } } } then, other code should this:
savebutton.addeventlistener(mouseevent.click,savebuttonclick,false,0,true); function savebuttonclick(e:event):void { var save:myfile = new myfile(); save.dosave(txtfield.text); } if wanted forgo save box lets user pick set it, , save file somewhere straight without user interaction, way that:
var file:file = new file("app:/mytextfile.txt"); //the application directory, may or may not allowed write access var file:file = file.applicationstoragedirectory.resolvepath("mytextfile.txt"); //use alternatively default profile save location application var filestream:filestream = new filestream(); filestream.open(file, filemode.write); filestream.writemultibyte(data); filestream.close(); actionscript-3 text air export
Comments
Post a Comment