云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > VB入门教程之一

VB入门教程之一

  • 62 次阅读
  • 3 次下载
  • 2025/6/23 6:11:00

End Select

End Sub

按下F5运行程序,你会看到这样的结果。是不是有种受骗的感觉,啊哟哟,可不是我的错,就是这么容易嘛! 从刚才的例子里,我们接触了一些VB中的输入方法,其实数据输入不仅仅局限于向Text框中输入数据,数据的输入还有许多其他的方法,譬如前面的Check1也是向程序发出一定的信息,只要是通过操作向计算机发布命令就可以叫做输入,下面我们来一一介绍。

首先要介绍的当然是输入用到最多的Text框。Text没有Click事件,它的缺省事件是Change,也就是当Text框里的一旦内容改变就会激发该事件发生,还是让我们用实例说话吧。

Text有几个特殊的属性,一是MultiLine(多行)属性,MultiLine属性为False的时候,不论文本有多长,它都会在一行里显示下去,换行符无效,当它为True的时候,字符串显示到Text框边缘的时候就会自动换行。另一个与之配合的属性是ScrollBars属性,它有4个值,0到3,分别是没有滚动条,水平滚动条,垂直滚动条,和二者都有,它是一个只读属性,也就是说只有在程序设计过程中才能改变,而不能在程序运行中改变,但是我们可以通过API解决运行中改变的问题,我们放在以后再讲。PasswordChart属性,我们经常在程序操作中遇到要填写密码的部分,为了保密起见,在屏幕上显示的字符一般“*”表示,并且这时是无法用剪贴板的,这在VB中非常容易做到,把PasswordChart中设一个用来代替字符串的字符即可,并不一定是“*”哦。

下面我们完成一个有趣的小程序,是我以前遇到过的一个程序,我对其进行了部分修改。程序的意思是这样的,假设你是一个司机应超速被警察扣留,现在需要你向警察陈述你的理由,如果你的话能打动他,就可以免交罚金,如果你在规定的字数里没有说出什么有震撼力的话,那老兄你可就惨了,交钱吧。J 这个程序比原来的英文程序有了几点不同,第一,由于用到的是双字节中文的中文,所以对于检测中文字符和英文有很大不同,第二,原来的英文程序不管你说多少,警察依然是依法从事,本例中给了犯规者10%的免罚机会(有点无聊??L ,不过也是为了学一些东东嘛)。下面就跟我来设计窗体吧。

Form1 Icon Stop图标 Caption 停车检查 BorderStyle 3 Label1 Caption 警官,我超速是有原因的,请听我说: BackColor &H00808080& ForeColor &H80000012& Label2 Caption 你必须在30字之内完成你理由的申诉,否则将受到罚款! BackColor &H00808080& ForeColor &H00FF0000& Text1 MultiLink True Text “” Picture1 Autosize True BackColor &H00808080& Visible True Picture2 Autosize True BackColor &H00808080& Visible False Picture3 Autosize True BackColor &H00808080& Visible False Command1 Visible False

三个图片框Picture1-3的Picture属性分别为绿灯,黄灯和红灯,这些图标在VB目录下的

Graphics\\Icons\\Traffic下(VB5),或是VB目录下的Icons\\Traffic下(VB4、VB3),你还可以为Label1在Font属性里选一个合适的字体和字重。下面我们来看代码: 首先初始化程序:

Private Sub Form_Load()

'把Command1放在水平的中央 Command1.Top = Label2.Top+200

Command1.Left = (Form1.Width - Command1.Width) / 2 '重叠三个图片框

Picture2.Left = Picture1.Left Picture2.Top = Picture1.Top Picture3.Left = Picture1.Left Picture3.Top = Picture1.Top

End Sub

下面我来讲一讲程序是怎样运行的,我们将用到Text的Change事件,每当字符串改变一次就对它进行一次检查,算出已经说的字数,当字数超过10时,下面的红绿灯会变成黄色,并且在这时随机抽取一个数,它在一个范围内出现的可能是10%,如果在这个范围内就可以免交罚金,如果不在范围则继续,当文字超过

20的时候,红绿灯会变成红色,再一次抽取随机数字,步骤同上,如果30个字已满,再进行一次检查,如果你真的那么不幸就该罚款了。

程序的步骤清楚了,我们在来看看程序的要点。由于中文是双字节字符,也就是说一个汉字占两个ASC码的位置,而VB显然是为英语国家设计的用Len函数无法返回汉字字节,也就是说一个汉字和和一个ASC字符在Len函数中得到的值是一样的,这就需要特殊处理。用Asc()函数,在括号内放入一个ASC字符或字符串,它会把第一个ASC码转化为0-255的数值,而把一个汉字放入,它的值必然不在0-255,这也就可以作为判定汉字的基础。我们可以把英文算作半个汉字。

第八章 输入(二)

下面我们来看看代码: 在General 里声明窗体级变量:

Dim Level As Integer

Private Sub Command1_Click()

Unload Me

End Sub

Private Sub Text1_Change()

Dim StrLength As Integer’字符串长度 Dim RandomNum As Single’随机数 Dim Str1 As String Dim a As String Dim i, Temp

StrLength = 0’每次开始时把字符串长度还原为0 a = Text1.Text

For i = 1 To Len(a)’Len(a)代表字符串的长度

Temp = Asc(Mid$(a, i, 1))’挨个取字符 If Temp > 255 Or Temp < 0 Then’不是ASC码

StrLength = StrLength + 2

Else

StrLength = StrLength + 1

End If

Next i

StrLength = StrLength / 2 Select Case StrLength

Case 0 To 9

Picture1.Visible = True Picture2.Visible = False Picture3.Visible = False

Label2.Caption = \慢慢说。你还有\StrLength) & \个字可以说\ Level = 1

Case 10 To 19

If Level = 1 Then

RandomNum = Rnd * 10’得到随机数

If RandomNum <= 10 And RandomNum > 9 Then Text1.Enabled = False

Label2.Caption = \很抱歉这是个误会??\

Command1.Visible = True Command1.Caption = \您可以离开了\

End If Level = 2 Else

Picture1.Visible = False Picture2.Visible = True Picture3.Visible = False Str1 = \怎么还没说完!\

搜索更多关于: VB入门教程之一 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

End Select End Sub 按下F5运行程序,你会看到这样的结果。是不是有种受骗的感觉,啊哟哟,可不是我的错,就是这么容易嘛! 从刚才的例子里,我们接触了一些VB中的输入方法,其实数据输入不仅仅局限于向Text框中输入数据,数据的输入还有许多其他的方法,譬如前面的Check1也是向程序发出一定的信息,只要是通过操作向计算机发布命令就可以叫做输入,下面我们来一一介绍。 首先要介绍的当然是输入用到最多的Text框。Text没有Click事件,它的缺省事件是Change,也就是当Text框里的一旦内容改变就会激发该事件发生,还是让我们用实例说话吧。 Text有几个特殊的属性,一是MultiLine(多行)属性,MultiLine属性为False的时候,不论文本有多长,它都会在一行里显示下去,换行符无效,当它为Tr

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com