帮忙看一下这个语句是实现什么功能的?解决方案

帮忙看一下这个语句是实现什么功能的?
private   sub   cmd_click()
dim   Tim   as   single
Tim=Timer
do
if   Timer> Tim+1   then   msgbox "没有与远程连接 "
exit   sub
lopp   until   comm.inbuffercount> 17
这是部分段,大致功能就是检测是否与远端进行了连接.我上面的语句没有看懂,特别是Tim和Timer那块,不知道是怎么通过她们就知道是否建立了连接了的.

------解决方案--------------------
1 是我记错了。Timer 的输出从当天 0 点以来的秒数,是 Long 类型。如果你定义成 Single, 每个循环中数据比较时都要转换类型。当然在 VB 中系统替你做了,如果是 C 会报错或报警。所以定义 Dim Tim As Long 是具有良好变成素质的表现。

2 是啊,你原来的写法是每次比较时先计算 Tim + 1。但不同于 C 的 Tim++,Tim 的值是不会变的。所以,好的写法是循环前 + 1。1 就是设定超时的时限为 1 秒。

3 不是。如果只接收到 17 个以下,最终会超时跳出。必须大于 17,循环才会结束。

使用 Timer 函数要注意,如果你的程序跨子夜工作,可能碰巧遇到在 23:59:59 通讯不通时会陷入死循环。因为 1 秒后,时钟就是 0:00:00 了。