五笔打字通主页
VB程序题:输入一个合法的3位正整数,测试其数值合法性后,逆序输出并显示。
例如,输入“734”,输出是“437”,如图2.2.2所示。
提示:
1.利用Text1_LostFocus事件,输入数据合法性检查调用IsNumeric函数,参阅教学篇例2.5;若有错利用MsgBox显示出错信息,如图2.2.3所示;清除文本框内输入的非法数据,通过SetFocus定位于文本框处,重新输入。
2.利用“MOD”和“\”运算符将一个3位数分离出3个1位数,然后利用乘法和加法运算将3个1位数连接成一个逆序的3位数。
解题:按要求先在窗体上画1个按钮,1个文本框控件(用于接收输入),2个标签控件(其中标签2用于接收输出)。相应的代码如下:
Private Sub Command1_Click()
Dim x%, x1%, x2%, x3% ’先分解这个3位数
x = Val(Text1)
x1 = x Mod 10
x2 = (x Mod 100) \ 10
x3 = x \ 100
Label2 = x1 * 100 + x2 * 10 + x3’再重新组成逆序数字
End Sub
Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then '击回车键
If Not IsNumeric(Text1.Text) Then Text1.Text = "" '如果文本框中不是数字,就清空
End If
End Sub
Private Sub Text1_LostFocus()
If Not IsNumeric(Text1.Text) Then '文本框失去焦点,也检查数据合法法
MsgBox "输入非数值数据,请重新输入", , "数据检验"
Text1.Text = ""
Text1.SetFocus '让文本框再次获得焦点
End If
End Sub
程序运行效果图如下:图2.2.2
Visual Basic程序设计教程(第四版) (龚沛曾等编)课后实验源码
来源:济亨网
本文链接:http://wb86.com/post/135.html