2

私はこれに数日間苦労しています(しかし、それは私がスクリプトに不慣れであるという理由だけです)ので、誰かが私を案内してくれるか、これに関する大まかなテンプレートを送ってくれれば幸いです:

6行で構成される小さなアプリ。各行には、2つのTextInputボックスと複数の値(value1、value2、value3 ...)を持つ1つのDropBoxが必要です。また、すべての行からデータを収集し、次の形式で.txtファイルとしてローカルドライブに保存するボタンがあります。 :

Line1 = [1,"abc123","abc123"]
line2 = [7,"abc123","abc123"]
...

何も入力されていない場合は、次のように保存されます

line1 = [,"",""]
...

最初の数値(私の例では1と7)は、各行のDropBoxで選択された値の結果です。また、引用符の内容は、各行の入力ボックスのテキストに記述されているものであれば何でもかまいません。

この問題は私を数日間夢中にさせてきました。私は誰かが私を助けてくれることを願っています。ところで、私はおそらく私の問題の一部に答えるトピックを見つけましたhttp://www.flash.cz/portal/clanek.aspx?id=1191、しかしそれを機能させることができませんでした。スクリプティングの世界に手を差し伸べる:(

ここに画像の説明を入力してください

4

2 に答える 2

0

私が質問を理解していると仮定すると...AIRまたはZincを使用せず、コードをインストールせずにブラウザから実行する場合、ファイルをユーザーのハードドライブに保存する唯一の方法は、ユーザーに保存する場所を尋ねることです。ファイル。セキュリティ上の理由から、ユーザーはそれを保存することに同意する必要があります。これを実現するには、次のようなFileReferenceの使用を検討できます。

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");

しかし待ってください...共有オブジェクトはあなたが望むものかもしれません

達成しようとしていることの全体像を見て、後で参照するためにデータをユーザーのローカルコンピューターに自動的に保存したい場合は、SharedObjectsを調べてください。私はそれらをクッキーのように思いますが、Flash用です。これは、エンドユーザーにテキストファイルを変更可能なランダムな場所とファイル名に保存するように求めるよりもはるかに優れています。

于 2012-12-17T04:04:10.507 に答える
0

問題が解決しました。

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);
} 
于 2013-01-15T11:26:25.437 に答える