在驱动器上创建txt文件的flash应用程序(无需安装线路服务器)

在驱动器上创建txt文件的flash应用程序(无需安装线路服务器),flash,text,input,save,local,Flash,Text,Input,Save,Local,我已经为此挣扎了几天(但那只是因为我对脚本编写不太熟悉),所以如果有人能给我提供指导,或者更好地向我发送一个关于这方面的粗略模板,我将不胜感激: 一个由6行组成的小应用程序。每行应有两个文本输入框和一个具有多个值(值1、值2、值3…)的下拉框 还有一个按钮,可以收集所有行的数据,并将它们以.txt文件的形式保存在本地驱动器上,格式如下: Line1 = [1,"abc123","abc123"] line2 = [7,"abc123","abc123"] ... 如果未填充任何内容,则会将其另

我已经为此挣扎了几天(但那只是因为我对脚本编写不太熟悉),所以如果有人能给我提供指导,或者更好地向我发送一个关于这方面的粗略模板,我将不胜感激:

一个由6行组成的小应用程序。每行应有两个文本输入框和一个具有多个值(值1、值2、值3…)的下拉框 还有一个按钮,可以收集所有行的数据,并将它们以.txt文件的形式保存在本地驱动器上,格式如下:

Line1 = [1,"abc123","abc123"]
line2 = [7,"abc123","abc123"]
...
如果未填充任何内容,则会将其另存为

line1 = [,"",""]
...
第一个数字(在我的示例1和7中)是每行DropBox中选择的值的结果。引号的内容可以是每行文本输入框中的任何内容

这个问题已经让我发疯好几天了。我希望有人能帮助我。 顺便说一句,我找到了一个可能解决我部分问题的话题,但没能让它起作用。。在脚本世界中,我需要有人牵着我的手:(


< p>假设我不使用空气或锌,而是在没有安装代码的情况下从浏览器运行,我知道将文件保存到用户硬盘上的唯一方法是提示用户希望保存文件。出于安全原因,用户必须接受保存文件。,例如:

import flash.net.FileReference;

function promptUserToSaveTextFile(fileContent:String)
{
    var ref:FileReference = new FileReference();
    ref.save(fileContent, 'someDefaultFileName.txt');
}

promptUserToSaveTextFile("contents of the file all in one string");
但请稍候……共享对象可能是您想要的

如果你想将一些数据自动保存到用户的本地计算机以供日后参考,请仔细查看。我认为这些数据就像cookies,而不是Flash。这远比提示最终用户将文本文件保存在用户可能选择的某个随机位置和文件名要好得多y可以更改。

问题已解决

import flash.events.MouseEvent;
import flash.net.FileReference;
import flash.events.Event;

ulozit.addEventListener(MouseEvent.CLICK,SaveFile);
function getData():Array
{
    var zoznam:Array = [];
    var seznam:Array = [pocasi1,pocasi2,pocasi3];
    var seznamnoc:Array = [pocasinoc1,pocasinoc2,pocasinoc3];
    var s:String = "";
    for(var i = 1;i < 13;i++)
    {
        s = "";
        s = "radek"+i +" = [" + seznam[i - 1].selectedItem.data + "," + seznamnoc[i - 1].selectedItem.data + ",";
        if(this["den" + i].length > 0)s += '"' + this["den" + i].text + '"' + ",";
        else s+= '"",';
        if(this["noc" + i].length > 0)s += '"' + this["noc" + i].text +'"';
        else s+= '""';
        s += "]";
        zoznam.push(s);
    }
    return zoznam;
}
function SaveFile(e:MouseEvent):void
{
    var s:String = "";
    var arrs:Array = getData();
    for(var i = 0;i < arrs.length;i++)s += arrs[i] + " " +"\n" + "\n";
    var f:FileReference = new FileReference();
    f.addEventListener(Event.COMPLETE,onSaveFileComplete);
    f.save(s,"pocasi.txt");
}
function onSaveFileComplete(e:Event):void
{
    e.currentTarget.removeEventListener(Event.COMPLETE,onSaveFileComplete);
} 
导入flash.events.MouseEvent;
导入flash.net.FileReference;
导入flash.events.Event;
ulozit.addEventListener(MouseEvent.CLICK,SaveFile);
函数getData():数组
{
var zoznam:Array=[];
var seznam:Array=[pocasi1,pocasi2,pocasi3];
var seznamnoc:Array=[pocasinoc1,pocasinoc2,pocasinoc3];
var s:String=“”;
对于(变量i=1;i<13;i++)
{
s=“”;
s=“radek”+i+”=[“+seznam[i-1]。选择editem.data+”,“+seznamnoc[i-1]。选择editem.data+”,”;
如果(this[“den”+i].length>0)s+=''''''''''''+this[“den”+i].text+'''+',“;
else s+=''',';
如果(this[“noc”+i].length>0)s+=''''''''+this[“noc”+i].text+''';
else s+=“”“”;
s+=“]”;
佐兹南(s);;
}
返回佐兹南;
}
函数SaveFile(e:MouseEvent):void
{
var s:String=“”;
var arrs:Array=getData();
对于(变量i=0;i
谢谢您的回复,但我希望这一切都能在脱机状态下进行。因此,AIR将最终成为解决问题的方法。如果我懂脚本编写,我会被as2.0绊倒,甚至连动画控制都会用到。您能告诉我如何通过Flash AIR项目来实现吗?请和我一起浏览整个应用程序,包括将启动它并激活“保存”按钮的事件。否则,我很可能会在找到我发布的链接后继续挣扎。我认为这是输入文本部分的解决方案,只是不知道如何使用它。再次感谢。