プロが教える店舗&オフィスのセキュリティ対策術

Delphi 6 でストップウォッチを作成しているのですが、もしストップボタンを5秒間ピッタリで押せたら「おめでとう!」という画像が表示されるような、ちょっとしたゲームを作りたいのです。

このようなことは可能でしょうか?ちなみに、表示させるための画像はもう用意してあります。ペイントで作成しまた。

どなたか詳しい方がいらっしゃればぜひ教えてください!よろしくお願いします。

A 回答 (5件)

>五秒ピッタリになったときの表示のさせ方(プログラムの書き方)について


今はDelphi7以降を使っているので、
ちょっと違うのかもしれないのですが、
GetTime(またはTime)関数で現在の日付と時刻を取り出すことができます。
DecodeTimeで、時分秒ミリ秒を分解して取り出すことができますので
開始ボタンを押した時間
ストップボタンを押した時間
からそれぞれ、秒を取り出して、(1分以内なら)
引き算して5秒になれるかどうかを調べればいいと思います。

日付時刻ルーチンで色々使える関数などが見つかると思います。
がんばって下さい
(^^)ノ
    • good
    • 0
この回答へのお礼

再びの回答ありがとうございます。

さらにさらに質問でなんだか申し訳ないのですが(本当に初心者なもので・・・)5秒きっかりにできたら画像を表示、という指示は CASE 文で描けばよろしいのでしょうか?もしよろしければまたご教示いただきたいです。

もう数時間くらい入門書を読んでいるのですが、まだまだわからないことが多くて・・・でも皆さんのおかげでだいぶ理解できて来ました。

お礼日時:2005/01/26 19:00

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.c …
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

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

回答してくださった皆さん、ありがとうございました。
こちらも締め切らせていただきます。

お礼日時:2005/01/27 11:30

>CASE 文で


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

Imageコンポーネントを使えば簡単です。



設計時にImageを配置してPictureプロパティにファイルを指定して、実行時にVisibleプロパティを操作して表示、非表示を切替えてもいいし。

実行時に
Image.Picture.LoadFromFile(’無題.bmp’);
など実行して表示するファイルを切替えてもいいでしょう。

ImageコンポーネントはAdditionalタブに有りますよ。
    • good
    • 0
この回答へのお礼

回答ありがとうございます!

さて

>実行時に
>Image.Picture.LoadFromFile(’無題.bmp’);
>など実行して表示するファイルを切替えてもいいでしょう。

とのことですが、最初に表示しておく画像と、条件があったときに表示させる画像を別々に指定しておく、ということなのでしょうか?
もしよろしければ詳しく知りたいです。

お礼日時:2005/01/26 18:55

>可能でしょうか?


できます

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

この回答への補足

回答ありがとうございます!

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

補足日時:2005/01/26 12:23
    • good
    • 0

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