- ベストアンサー
Flashから記録データをローカル環境で書き出す
- Flashを利用した学習ソフトで使用履歴を記録する方法をご教示ください。
- Flash単体ではテキストファイルの書き出しは行えないため、他の言語との連携が必要です。
- ローカルでの使用を想定しているため、PHPやperlを利用した書き出しはできません。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
> 他の言語(VBAなど)との連携でも構わないので、 外部テキストファイルとなれば, 絶対に他の言語との連携となるのは避けられません。 しかし,VBA は遠いです。 Flash から Excel を起動させて CSV の保存??? それは無理すぎます。 というか,言語をもう1つはさまないとそこまで辿りつきません。 Flash から直接連携できるギリギリが VBS でしょうね。 WSH の VBS,もしくは,WSH の JavaScript か。 それも, すごいセキュリティの壁を突破しないとなりませんから, あまり現実的ではありません。 とりあえず, Flash を HTML に貼り付けて, その HTML に VBS や JS を入れておいて, Flash の getURL() か FScommand で VBS や JS のサブルーチンや function を呼ぶと同時に, 引数を渡して,VBS や JS に TXT ファイルを保存してもらう形になると思います。 Flash のプロジェクタファイル(EXE)では無理です。 SWF を HTML に貼り付けた形でないと,普通は他言語は呼びだせません。 しかし, HTML を IE で開いてそういう危険なことをするのは不可能に近いので, というか, IE のセキュリティ を無茶苦茶に弱めておく必要があるので, セキュリティ上よろしくないですから, HTML ではなく HTA にして,そこに Flash を貼り付ける形になると思います。 HTA にすると,かなり過激なことは可能になりますが, それでもやはり限界がありますから, 環境によっては何かにブロックされて動かない可能性はあります。 とりあえず御参考に↓。 「Flash Desktop Applications」 Flash(+HTA+WSH)によるアプリケーション開発 http://dawgsdk.cside.com/desktop/ 上記サイトの 開発サンプル Flash Desktop Clock は昔は私の環境ではちゃんと動作していました。 Windows 98 かその頃。 今(XP)では正常に動作しません。 何かにブロックされています。 Flash Player 9 がブロックしている可能性もあります。 実はずっと昔, こんなアプリケーションモドキを, 私も作って遊んでいたことがあるのですが, 今は作っても動かないことが多いですし, 環境によっても動作が変わりますので, 作っていません。 こっち方面の研究はやめました。 =================== Flash は Web 使用を目的として開発されているもので, とにかくそういう危険な行為はできない(超しにくい)ように設計されています。 SharedObject では駄目でしょうか? SharedObject クラス http://www.1art.jp/flash/le/lesson41/lesson41.htm SharedObject.getLocal http://www.fumiononaka.com/TechNotes/Flash/FN0204003.html ゲームの得点の保存などにもよく使われています。 ただし, 保存される物はテキストファイルではなく, SOL ファイル(拡張子 .sol)のバイナリデータです。 Flash からの読み書きはできるのですが, 他のアプリケーションからの読み書きはできません。 これは他言語との連携やセキュリティ突破も考えなくて良いので簡単です。 また,SOLファイルを読み書きする専用ソフトは出ていることは出ていますから, 手動が入ると CVS などにできると思います。 「SolVE」 http://solve.sourceforge.net/ ================= 上記2つとも, 単なる大雑把な方法だけで 具体的なスクリプトは提示していませんが、 私は SharedObject の方が絶対お薦めです。 Google で検索しても,このコミュニティで検索しても, SharedObject なら,色々な事例が見つかると思います。
お礼
sassakun様 大変に丁寧な回答、本当にありがとうございます。 感激いたしました。 分かりやすい説明をいただけたため、 問題点と解決策が非常によく分かりました。 「web上でVBSと連携」はセキュリティ上の問題で無理なのですね。 あれこれ試して半ば諦めておりました。。。 というか、そもそもFlashはこうした事を行うには やはり不向きであるという事もよく分かりました。 SharedObjectは利用した事がまだ無いのですが、 お教えいただいたページなどを参考にして 挑戦してみたいと思います。 本当にありがとうございました。