3 回答

TA贡献1785条经验 获得超4个赞
语法
Year(date)
必要的 date 参数,可以是任何能够表示日期的 Variant、数值表达式、字符串表达式或它们的组合。
Do...Loop 语句示例
本示例示范如何使用 Do...Loop 语句。内层的 Do...Loop 语句循环到第 10 次时将标志值设置为 False,并用 Exit Do 语句强制退出内层循环。外层循环则在检查到标志值为 False 时,马上退出。
Dim Check, Counter
Check = True: Counter = 0 ' 设置变量初始值。
Do ' 外层循环。
Do While Counter < 20 ' 内层循环。
Counter = Counter + 1 ' 计数器加一。
If Counter = 10 Then ' 如果条件成立。
Check = False ' 将标志值设成 False。
Exit Do ' 退出内层循环。
End If
Loop
Loop Until Check = False ' 退出外层循环。

TA贡献1805条经验 获得超10个赞
1、因为year(x)、month(x)等函数中的x要求为日期型数据,所以在使用以上函数时,需要使用cdate将数据转换成日期型。而hour(x)、minute(x)等函数中的x要求为时间型数据,故使用这类函数时,需要使用ctime将数据转换成时间型数据。
2、do while ……loop是指:“当……时,一直继续做……”。比如当a不等于10的时候,窗口一直输出a+1后的值。
Private Sub Command1_Click()
Dim a As Integer
Do While (a <> 10)
a = a + 1
Print a
Loop
End Sub

TA贡献1735条经验 获得超5个赞
你的代码有误,第一句应该改成dim a as date,只是因为VB本身有数据转换功能,所以结果还是对的,同样,在使用hour函数之前,VB会检查参数x是否是date日期时间类型,如果不是,会自动转换:
dim a as date
a = cdate(text1.text)
msgbox "当前年份为:" & hour(a)
循环是很有用的,实际编程中经常用到,举例:
Dim TextLine
Open "TESTFILE" For Input As #1 ' 打开文件。
Do While Not EOF(1) ' 循环至文件尾。
Line Input #1, TextLine ' 读入一行数据并将其赋予某变量。
Debug.Print TextLine ' 在调试窗口中显示数据。
Loop
Close #1 ' 关闭文件。
- 3 回答
- 0 关注
- 89 浏览
添加回答
举报