2011-08-13 17 views
0

私はルビーために新たなんだ...と靴...とプログラミングが、私のPROBです:包装:ここではRubyと靴のtxtファイルの書き込みと読み込み

私はに時限式量を入れ、タイマーを作りましたtxtファイルをログとして保存します。また、すべての時間を別々のtxtファイルに保存しています。それは私が望むように動作します...

私はそれをパッケージ化しようとしました: 私はtxtファイルを含むフォルダ全体をパッケージ化する場合、それは動作しませんrbファイルをパッケージ化する場合、動作します。

この作業コピーは、txtファイルなしで動作するようです(何らかの形で組み込まれています)。これをパッケージ化する方法はありますか、まだ関連するtxtファイルにアクセスしています(多分、 。。。)

おかげ

+0

どうしたらうまくいかないのですか?エラーをトレースできますか? – Bijan

答えて

0

靴パッケージャの動作では、私はWindowsを使用していると思う時々醜いですので、私は起こるようですかを説明しようとするでしょう:

あなたがバンドルされた靴アプリを持っています(スタンドアロンの.exeファイル)をダブルクリックして起動するたびに、新しいtemp dir(c:\ tmp \ tempFileDirecto ry)。それで、毎回新しい一時ディレクトリです!

現在のパスもこのtmpディレクトリに設定されています。このディレクトリには、アプリケーションにバンドルされているtxtファイルも含まれています。元の状態です。アプリケーションの実行中にファイルの内容を変更してアプリケーションを再起動すると、変更が消えてしまいます。作成された新しいtmpディレクトリには元のtxtファイルの新しいコピーがあるためです。これまでは、あなたのデータファイル(あなたの場合はtxt、SQLiteデータベースファイル、設定ファイルなど)をバンドルアプリケーションに入れるのは悪い考えです。

良い方法: ユーザーのホームフォルダに "隠し"フォルダ(フォルダの名前は "。"で始まる)を作成します。ウィンドウでは、 "c:\ Users \ YourName"のようなものでなければなりません。必要なものをすべて作成してください。このディレクトリは一時的ではありませんので、問題なく毎回アクセスできます。これは一般的に、シューズを使用するだけでなく、デスクトップのものをプログラミングするときのより良い解決策になるはずです。

関連する問題