新国标人防资料表格:VB编程问题请教!

来源:百度文库 编辑:神马品牌网 时间:2024/04/28 16:19:22
请教各位VB 编程高手一个简单问题,如蒙赐教,不胜感激!
Private Sub Command1_Click()
Dim h As intnger, n As Integer, l As Integer
Dim x As Long
k = Index
Select Case k
Case Is = o
h = Val(Text1.Text)
Case Is = 1
m = Val(Text1.Text)
Case Is = 2
s = Val(Text1.Text)
x = 3600 * h + 60 * m + s
Label1.Caption = "共计秒数" & Str(x) & "秒"
End Sub
以上是鄙人的程序,其控件为frame1(cption:请输入小时数),frame1里面有一个数组text1,index依次是0,1,2,3.对应的变量依次为 h,m,s.还有一个commandbutton(cption:计算),及一个label在command旁边,caption为空。
上述就是问题全部,请高手赐教!速!
问题是,单机commandbutton,label显示输入的小时、分钟数、秒数都转化为秒的总秒数。

你要是这么做的话,没有textbox限制。
比如里面有一个输入分钟的textbox吧,我可以在里面输入61、72、甚至1000等只要不溢出就不会出错。
这样必须把文本框加个限制,比如输入分钟的超过60就算是60,不允许有小数否则弹出提示框等。

上面提到溢出,如果你在任意一个文本框里输入999999就等着出错吧。这个也应该在textbox中实现。

另外,你这段程序没有错误处理代码,声明里也没有
option explicit。这对编程来说都是很重要的。

兄弟,估计你是刚学VB不久吧,你是要做一个输入时分秒,输出秒数的转换吧!

添加3个Text、一个Label、一个Command

我重新做了一次:
Private Sub Command1_Click()

Dim h As Integer
Dim m As Integer
Dim s As Integer

Dim TotalSecod As Long

h = CInt(Text1.Text)
m = CInt(Text2.Text)
s = CInt(Text3.Text)

TotalSecod = h * 3600 + m * 60 + s

Label1.Caption = "共计秒数" & Str(TotalSecod) & "秒"
End Sub

另外,如果不太懂控件数组的话,最好不要使用

你的问题是什么呢?

没有问题,怎么答?