プロが教えるわが家の防犯対策術!

VB6にてゲームを作っています。
以前、こちらで質問させていただいてゲームのログの出力のやり方を理解することが出来ました。
実は、今度はその出力ログのファイル名を「2005/10/09 20:15.txt」のように、ゲームを終えた時の時間にしたいのです。いろいろやってみたのですが、できませんでした。。。
どうぞよろしくお願いします。

A 回答 (3件)

うーん、根本的に理解不足な気がしますが...



手元にVB6が無いので、細かい文法間違えてたらスミマセン。

------------------
Date = Logdata ←これ、何をしようとしてます?
Open Logdata.txt For Append As #1
Print #1,Log
Close #1
------------------

Openの後ろに来るのがファイル名ですよね。だったら、ファイル名を日付情報から作り出してそこに入れてやればいいんですよ。

Dim FileName as String 'ファイル名用の文字列変数

FileName=Format(Now, "yyyymmdd") '現在時刻の年月日部分を文字列としてFileNameに入れる
FileName = FileName & ".txt" 'ログファイル名として拡張子を付ける
Open FileName For Append As #1
Print #1, Log '文字列「Log」を書き出す
Close #1

かな。
    • good
    • 0
この回答へのお礼

返事遅くなってしまってごめんなさい!
わかりやすい説明をありがとうございました。無事できました!

お礼日時:2005/10/24 12:42

こんにちは。



Dim Logdata As String
Dim Log As String  'これに何を入れるのかな?
Logdata = Format$(Now, "yymmddhhnnss")
Open Logdata & ".txt" For Append As #1
Print #1, Log
Close #1

これはいいにしても、中身は?それに、Append なんですよね。日時の記録の出し入れなら、iniファイルを取ればよいと思うのです。いくら Append しても、ファイル名が一意になっているので、一回きりになってしまいます。
    • good
    • 1
この回答へのお礼

なるほど。INIファイルを使うのがいいんですね!
参考にさせていただきます!

お礼日時:2005/10/24 12:44

プログラムがどうのこうのではなく、ファイル名が不正です。


http://www.sharp.co.jp/support/mebius/tips/tips- …
200510092015.txt
としたほうがよいと思いますよー

それと今のままでは、ゲームが1分以内に2回終了してしまったら、ログが上書きされてしまいませんか?
ファイル名に秒まで加えた方が安心かと思います。

msgbox format(now,"yyyymmddhhnn")

msgbox format(now,"yyyymmddhhnnss")


さらに、ログ出力時に同名ファイルのチェックを加え、同名ファイルが存在したとき用に、シーケンス番号も加えるとよいかも知れません。

普通なら起こりえないかも知れませんが、OSの時間なんてユーザによって勝手に変更できますので。。。
    • good
    • 0
この回答へのお礼

早速のお返事ありがとうございます!
実は、ファイル名に日時を当てはめるやり方自体がわからないんです。
Date = Logdata
Open Logdata.txt For Append As #1
Print #1,Log
Close #1
のようにまずは日付をファイル名にするやり方を考えてみたのですが、エラーが出ます。凄く初歩的な間違いなのかもしれませんが、もしよろしかったら教えていただけますか?

お礼日時:2005/10/09 03:08

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!