tagCANDY CGI VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板 [ツリー表示へ]   [Home]
一括表示(VB6.0)
タイトルレースタイムの足し算
記事No16211
投稿日: 2015/12/09(Wed) 19:20
投稿者ちんちろりん
はじめまして。

VBにてレースタイムの足し算をしようと思っているのですが、
具体的には1:23.456 + 6:54.321 = ○○:○○.○○○のようになるようにしたいです。
TextBox1、TextBox2、TextBox3にユーザが任意に入力したレースタイムをBottun1を押すと
TextBox1〜TextBox3までのタイムの合計値をTextBox4に表示させたいのですが、どのように
すれば、よろしいのでしょうか。

[ツリー表示へ]
タイトルRe: レースタイムの足し算
記事No16212
投稿日: 2015/12/09(Wed) 20:57
投稿者魔界の仮面弁士
投稿してから、(VB.NET ではなく) VB6 掲示板だという事に気が付きました…。
すみません、以下の内容は無視してください。


------------
> 具体的には1:23.456 + 6:54.321 = ○○:○○.○○○のようになるようにしたいです。
Dim a As TimeSpan = …
Dim b As TimeSpan = …
Dim c As TimeSpan = a + b

ですかね。(要VB2005 以降)


> TextBox1〜TextBox3までのタイムの合計値をTextBox4に表示させたいのですが、どのように
文字列を TimeSpan 型に変換するなら、
TimeSpan.TryParseExact メソッドを使うのが良いと思います。


.NET 4 未満のバージョンだと TimeSpan.TryParseExact が無いので、
その場合は TimeSpan.Parse メソッドで代用と言うことで。

[ツリー表示へ]
タイトルRe: レースタイムの足し算
記事No16213
投稿日: 2015/12/09(Wed) 20:58
投稿者花ちゃん
下記等が参考になりませんか?(単に貴方が計算する場合と同じ事をすればいいのでは)

 http://www.hanatyan.sakura.ne.jp/vb6/datetime06.htm

[ツリー表示へ]
タイトルRe: レースタイムの足し算
記事No16214
投稿日: 2015/12/10(Thu) 11:53
投稿者ちんちろりん
魔界の仮面弁士さん、花さん、コメントありがとうございます。
ですが、やはり自分ではどうにもよく分かりません。

□←TextBox1
□←TextBox2
□←TextBox3
▲←ボタン
□←TextBox4
TextBox1〜3には0:00,000と決まったフォーマットのタイムがユーザによって入力される。(分:秒,ミリ秒)
TextBox4には、計算結果が表示させる。
ボタンを押すと、TextBox1〜3までに入力された分、秒、ミリ秒のそれぞれの足し算を行う。
つまり、
□←1:22,333
□←2:22,111
□←1:11,001
▲ボタンを押す。
□←4:55,445 となるようにしたい。
これをVBで以下のように書いたのですが、
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles Button1.Click
Dim dt1 As DateTime = TextBox1.Text
Dim dt2 As DateTime = TextBox2.Text
Dim dt3 As DateTime = TextBox3.Text
time4.Text = dt1 + dt2 + dt3
End Sub
と、書いたのですが、文字列が横にくっつくだけでうまく加算(計算)されません。

[ツリー表示へ]
タイトルRe^2: レースタイムの足し算
記事No16215
投稿日: 2015/12/10(Thu) 12:22
投稿者魔界の仮面弁士
> TextBox1〜3には0:00,000と決まったフォーマットの

最初の質問では 「0:00.000」 だったハズでは…?


> これをVBで以下のように書いたのですが、
> Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
> Handles Button1.Click

それって VB.NET ですよね。であれば、質問する掲示板を間違えています。
VB.NET の質問は隣の掲示板にお願いします。

[ツリー表示へ]