• ベストアンサー

Delphiでの画像の表示について(初心者です)

Delphi 6 でストップウォッチを作成しているのですが、もしストップボタンを5秒間ピッタリで押せたら「おめでとう!」という画像が表示されるような、ちょっとしたゲームを作りたいのです。 このようなことは可能でしょうか?ちなみに、表示させるための画像はもう用意してあります。ペイントで作成しまた。 どなたか詳しい方がいらっしゃればぜひ教えてください!よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.3

>五秒ピッタリになったときの表示のさせ方(プログラムの書き方)について 今はDelphi7以降を使っているので、 ちょっと違うのかもしれないのですが、 GetTime(またはTime)関数で現在の日付と時刻を取り出すことができます。 DecodeTimeで、時分秒ミリ秒を分解して取り出すことができますので 開始ボタンを押した時間 ストップボタンを押した時間 からそれぞれ、秒を取り出して、(1分以内なら) 引き算して5秒になれるかどうかを調べればいいと思います。 日付時刻ルーチンで色々使える関数などが見つかると思います。 がんばって下さい (^^)ノ

noname#9114
質問者

お礼

再びの回答ありがとうございます。 さらにさらに質問でなんだか申し訳ないのですが(本当に初心者なもので・・・)5秒きっかりにできたら画像を表示、という指示は CASE 文で描けばよろしいのでしょうか?もしよろしければまたご教示いただきたいです。 もう数時間くらい入門書を読んでいるのですが、まだまだわからないことが多くて・・・でも皆さんのおかげでだいぶ理解できて来ました。

その他の回答 (4)

  • crosis
  • ベストアンサー率66% (14/21)
回答No.5

5秒ピッタリというのも何なんで、、、 private  time : Cardinal; とでもしておいて、 //計測開始; time := GetTickCount; //StopボタンClick; if ((GetTickCount - time) > 4900) and ((GetTickCount - time) < 5100) then begin  //処理~ end; 下の方はGetTimeか、、、まぁ、私はGetTickCountを、、、因みに、これはwindowsが起動してからの時間をミリ秒で返す関数です。 上記のようにすれば、5[s]±100[ms]の間の場合だけ処理ができます。 ソースコード載せましたがコピペするんじゃなく、何をどう処理されているのかを考えながら書き写して下さい。 それと、参考URLにも書かれてますが、マルチポストはやっぱり控えるべきかと、、、自分の都合だけで彼方此方(アチコチ)に同じようなものをばら撒くのはちと倫理的に、、、

参考URL:
http://hpcgi1.nifty.com/MADIA/DelphiBBS/wwwlng.cgi?print+200501/05010074.txt
noname#9114
質問者

お礼

回答ありがとうございます。 皆さん、Delphiに関するいろいろなサイトを見ていらっしゃるのですね。私はネット界のルールというものをまだよくわかっていないようです。今後は気をつけます。 正直、驚いたと同時に自分の行動がこんな風にして人にわかってしまうのに少々ネットの世界の空恐ろしさを感じました。 回答してくださった皆さん、ありがとうございました。 こちらも締め切らせていただきます。

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.4

>CASE 文で 5秒ピッタリ(成功)と失敗しかないので、 if文でいいと思います。

  • DrSumire
  • ベストアンサー率39% (264/666)
回答No.2

Imageコンポーネントを使えば簡単です。 設計時にImageを配置してPictureプロパティにファイルを指定して、実行時にVisibleプロパティを操作して表示、非表示を切替えてもいいし。 実行時に Image.Picture.LoadFromFile(’無題.bmp’); など実行して表示するファイルを切替えてもいいでしょう。 ImageコンポーネントはAdditionalタブに有りますよ。

noname#9114
質問者

お礼

回答ありがとうございます! さて >実行時に >Image.Picture.LoadFromFile(’無題.bmp’); >など実行して表示するファイルを切替えてもいいでしょう。 とのことですが、最初に表示しておく画像と、条件があったときに表示させる画像を別々に指定しておく、ということなのでしょうか? もしよろしければ詳しく知りたいです。

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.1

>可能でしょうか? できます ピクチャーボックスにあらかじめ取り込んで置いて、非表示にしておくか、 別にフォームを作って、そちらに貼り付けておいてフォームを表示するとかすれば良いと思います。

noname#9114
質問者

補足

回答ありがとうございます! 五秒ピッタリになったときの表示のさせ方(プログラムの書き方)について詳しく教えていただけるととってもうれしいのですが、お願いできますでしょうか?

関連するQ&A