• 締切済み

visualbasic

visualbasic2005で、アナログ時計とデジタル時計を、RadioButtonを押すことにより切り換えられ、アナログ時計は、短針、長針、秒針がついてあり、日付はなく、普通の円形のアナログ時計の表示。デジタル時計は日付と時間の表示だけです。 もし、上の文がわからなかったり、読むのめんどくさい方は、要は、アナログ時計とデジタル時計の切り換えのプログラムを教えて欲しいんだろ!と思って下さい。 プログラムを教えて下さい。お願いします。

みんなの回答

  • kiki_s
  • ベストアンサー率59% (147/248)
回答No.2

どこまで理解されているのか分かりませんが、 秒針や長針、短針の動かし方はともかく、計算方法は単純です。 全ての指針が真上(0時または12時)を角度0度の基準、 角度の数値は右回転で大きくなるとします。 秒針、分針は現在のそれぞれの時間に6を掛ければ表示する角度になります。 時針はちょっと違って、時間に30を掛けます。 例えば、9時15分30秒をそれぞれ指針の角度にすると、 9時:9×30=270 15分:15×6=90 30秒:30×6=180 各指針は真上が角度の基準ですから、 時針の270度は時計回りで90度3回分・・・つまり9時の方向 分針の90度は時計回りで90度1回分・・・つまり3時の方向 秒針の180度は時計回りで90度2回分・・・つまり6時の方向 となります。 12時の時針は上記の方法で計算すると360度になりますので、 無駄に一周することになりますが、計算上は間違っていません。 0分、0秒も同じで、0に6を掛けても0ですので、これも問題なし。 ただし、あくまで1つの考え方であって、これが正しいというものではありません。 時計を表示した時に各時間の指針を表示させ、その後は秒の経過時間だけで時分を加算していく方法もあるでしょう。 方法はいくらでもあります。 趣味なのか仕事のためなのか分かりませんが、確かに、OKWebは「教えて、答える」です。 でも全てを答えられる訳ではないでしょうし、義務もありません。 特にプログラムについては、多種多様な作り方があります。 ですので、全てのコードを書くのは無理があると思います。 あくまで、基本的な考え方などを回答するのが精一杯です。 色々試してみて答えを見つける努力や工夫を惜しまないようにするのがプログラムに慣れる一番の近道です。 それでも、どうしても分からない時、具体的な内容を明示すれば、求めている回答がもらえるかも知れません。

  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.1

ん~ そんな漠然とした質問の すべてをここに掲載しろ というのは無理がありますよ 回答する際に使える文字数の制限もありますし また、ご自分でどのようなコードをお書きになれるのでしょう 時刻を扱うのですから Time関数やDateTime構造体を使えばよさそうです アナログの 針の描画には 1秒ごとにどの針が何度回転するのかをあらかじめ計算しておいてTimerイベントなどでこれを参照して画面を更新 デジタル時計の場合 所定の方法で 時間保持変数の内容を文字列にして表示 といったことになりそうです 何がどこまで出来て、わからない部分は何なのか明示しましょう たとえば 長針、短針、秒針の1秒ごとの回転角度の計算方法で 自分ではこのような考えでソースを作成したが秒針がとんでもなく早く回転してしまう 該当部分のソースの掲示 といった具合で質問してみましょう

noname#103096
質問者

補足

秒針や長針、短針の動かし方やその計算方法が全然わかりません。 デジタル時計からアナログ時計に切り換えても、デジタル時計の日付と時間がアナログ時計に残っていてどうやったらアナログ時計の時は非表示になるかわからないです。

関連するQ&A