解決済み

カウントダウン(のみ)がうまくできません。。。初歩的だと思います。

  • 暇なときにでも
  • 質問No.974106
  • 閲覧数69
  • ありがとう数0
  • 気になる数0
  • 回答数3
  • コメント数0

お礼率 29% (52/179)

VB.NETです

time_count_up = time_count_up + 1 '経過時間   (+1秒)
time_count_down = time_count_down - 1 '残り時間(-1秒)


tim_count_h = Format(Int(time_count_up / 3600), "00")

tim_count_m = Format(Int((time_count_up - (Val(tim_count_h) * 3600)) / 60), "00")

tim_count_s = Format(Int(time_count_up Mod 60), "00")

time_up.Text = tim_count_h & "時間" & tim_count_m & "分" & tim_count_s & "秒" '経過時間

tim_count_h2 = Format(Int(time_count_down / 3600), "00")

tim_count_m2 = Format(Int((time_count_down - (Val(tim_count_h2) * 3600)) / 60), "00")

tim_count_s2 = Format(Int(time_count_down Mod 60), "00")

time_down.Text = tim_count_h2 & "時間" & tim_count_m2 & "分" & tim_count_s2 & "秒" '残り時間

--------------------------
time_count_up time_count_down はint64

その他はstring


ちなみに
time_up.text=time_count_up
time_down.text=time_count_down

にしてもカウントダウンのみうまくできませんでした。
カウントUPは動いているのですが・・・。
なにが問題なんでしょうか?

time_count_down がマイナスや0ということはないと思います。

ためしにフォーム ロードで 60を入れても「00時間00分59秒」と表示されて、動きません。
通報する
  • 回答数3
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

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

  • 回答No.3

ベストアンサー率 55% (49/88)

VB6で作ってみました。
ちゃんとカウントダウンします。

>time_count_down2=time_count_down
>とするとできました

>いったいなぜなんでしょうか?

time_count_down
どこかで↑変数を使ってませんか?

以下VB6

Option Explicit
Public time_count_up As Long '経過時間   (+1秒)
Public time_count_down As Long '残り時間(-1秒)

Private Sub Form_Load()
time_count_up = 60
time_count_down = 60
Timer1.Interval = 1000

End Sub

Private Sub Timer1_Timer()
Dim tim_count_h As String
Dim tim_count_m As String
Dim tim_count_s As String

Dim tim_count_h2 As String
Dim tim_count_m2 As String
Dim tim_count_s2 As String

time_count_up = time_count_up + 1 '経過時間   (+1秒)
time_count_down = time_count_down - 1 '残り時間(-1秒)

tim_count_h = Format(Int(time_count_up / 3600), "00")
tim_count_m = Format(Int((time_count_up - (Val(tim_count_h) * 3600)) / 60), "00")
tim_count_s = Format(Int(time_count_up Mod 60), "00")
time_up.Text = tim_count_h & "時間" & tim_count_m & "分" & tim_count_s & "秒" '経過時間

tim_count_h2 = Format(Int(time_count_down / 3600), "00")
tim_count_m2 = Format(Int((time_count_down - (Val(tim_count_h2) * 3600)) / 60), "00")
tim_count_s2 = Format(Int(time_count_down Mod 60), "00")
time_down.Text = tim_count_h2 & "時間" & tim_count_m2 & "分" & tim_count_s2 & "秒" '残り時間

End Sub
補足コメント
lucky_123

お礼率 29% (52/179)

time_count_down
どこかで↑変数を使ってませんか?
つかっていないです。

アドバイス等ありがとうございます。
投稿日時 - 2004-08-25 18:26:28
OKWAVE 20th Be MORE ありがとうをカタチに

その他の回答 (全2件)

  • 回答No.2

ベストアンサー率 52% (391/751)

time_up.text
time_down.text
でtime_down.textに問題があるように思われます。
time_down.textは問題ないですか?
補足コメント
lucky_123

お礼率 29% (52/179)

Public time_count_up As Int64 '経過時間
Public time_count_down As Int64 '残り時間

とモジュールに入れています

Dim time_count_down2 As Int64 
と宣言し、ロード時に
time_count_down2=time_count_down
とするとできました

いったいなぜなんでしょうか?
投稿日時 - 2004-08-24 23:54:25
  • 回答No.1

ベストアンサー率 15% (4/26)

ちょっと気になったんですが、
1秒待っている部分はどこでしょうか?
(VBぜんぜん知らないんで・・VBって、まわさなくてもOK?)

例えば、
count_down=100;
loop {
count_down=count_down-1;
 count_down 表示;
wait 1秒; <<コレ
}
補足コメント
lucky_123

お礼率 29% (52/179)

タイマーです。
1秒(1000ミリ秒)おきにまわるはずです。


アドバイス等ありがとうございます。
投稿日時 - 2004-08-24 21:32:02
このQ&Aのテーマ
このQ&Aで解決しましたか?
AIエージェント「あい」

こんにちは。AIエージェントの「あい」です。
あなたの悩みに、OKWAVE 3,500万件のQ&Aを分析して最適な回答をご提案します。

関連するQ&A
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する

特集


より良い社会へ。感謝経済プロジェクト始動

ピックアップ

ページ先頭へ