主题:.NET高手进来踩一脚~~~,新手求教!!!
changeface
[专家分:0] 发布于 2005-08-18 10:35:00
大家好,新手学vb.net遇到的问题。设计一个登陆FORM界面,想实现这样的算法:给用户N次机会,如果用户名或密码错误,则提示MSGBOX(N-1),直到N=0,自动退出程序,可是本人初学编程,在判断和循环之间搞不清谁该嵌套谁,或者我应该设个全局变量???跪求高手指点!!!
回复列表 (共9个回复)
沙发
FancyMouse [专家分:13680] 发布于 2005-08-18 10:41:00
设一个静态变量
Static PassTime As Integer
如果username、password错误,PassTime = PassTime + 1
MessageBox显示的值是(N - PassTime)
如果N = Passtime那就退出程序
板凳
changeface [专家分:0] 发布于 2005-08-18 11:30:00
回2楼的,可是我想用for或while循环来实现它,怎么能让它每次只循环一次呢??希望能给出详细代码,再次拜谢了~~~
3 楼
jzyray [专家分:20610] 发布于 2005-08-18 12:36:00
Dim i As Integer
For i = N To 1 Step -1
If 输入正确 Then
Exit For
End If
MsgBox(CStr(i-1) & "times remain.")
Next i
4 楼
changeface [专家分:0] 发布于 2005-08-18 14:20:00
3楼的,你给出的算法自己试过吗,不行的啊,始终是在一个循环里,没出来,难道没有人做过类似的FORM吗??
5 楼
jzyray [专家分:20610] 发布于 2005-08-18 15:21:00
我当然试过了,怎么不行?
输入正确的时候就会离开for循环。
6 楼
changeface [专家分:0] 发布于 2005-08-18 17:31:00
可是我也试了,怎么不行啊?如果输入错误了,就一直在循环,退不出来啊?
7 楼
JinJH [专家分:50] 发布于 2005-08-18 17:36:00
dim LeftTime as integer = 你的限定次数
上面定义为全局变量
dim i as integer
if LeftTime > 0 then
if i < 你的限定次数 then
if 你的判定条件成功 then
MsgBox("操作成功",MsgBoxStyle.Excution, ApplicationName)
else
LeftTime = LeftTime - 1
MsgBox(LeftTime ,MsgBoxStyle.Excution, ApplicationName)
exit sub
end if
else
MsgBox("可用次数用完",MsgBoxStyle.Excution, ApplicationName)
me.closed()
end if
end if
8 楼
yuangxi [专家分:0] 发布于 2005-09-02 14:58:00
把i定义在循环外面就得
9 楼
wyj82 [专家分:10] 发布于 2005-09-07 15:48:00
不懂啊
我来回复