《VB基础知识要点.doc》由会员分享,可在线阅读,更多相关《VB基础知识要点.doc(25页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、 Visual Basic程序设计基础知识要点(概念分析篇)知识点1:(1) 在工程资源管理器窗口中可以包含:工程文件、窗体模块文件、标准模块文件和类模块文件(其中可以包含许多各种文件类型)。(2) Visual Basic应用程序可以以解释方式执行和编译方式执行。 例题:(1)以下叙述中错误的是 A A在工程资源管理器窗口中只能包含一个工程文件及属于该工程的其他文件。 B以.bas为扩展名的文件是标准模块文件。 C窗体文件包含该窗体及其控件的属性。 D一个工程中可以有多个标准模块文件。(2)以下叙述中错误的是 C A打开一个工程文件时,系统自动装入与该工程有关的窗体、标准模块等文件。 B保存
2、Visual Basic程序时,应分别保存窗体文件及工程文件。 CVisual Basic应用程序只能以解释方式执行。 D事件可以由用户引发,也可以由系统引发。知识点2:(1) 窗体和各种控件的名称(Name)是唯一的,用来标识一个窗体或控件的。而窗体和控件的标题是用来说明的,是可有可无的。(2) 各种控件之间有部分相同的属性,并不是拥有所有属性。控件有些属性只能在属性窗口中设置,但也有少数属性只能在代码状态设置。(3) Form1.Hide方法和Unload Form1方法的区别:第一个方法窗体消失并不存在于内存中;第二个方法窗体消失但仍存在于内存中。例题:(1)以下叙述中正确的是 A A窗
3、体的Name属性指定窗体的名称,用来标识一个窗体。 B窗体的Name属性的值是显示在窗体标题栏中的文本。 C可以在运行期间改变对象的Name属性的值。 D对象的Name属性值可以为空。(2)以下叙述中错误的是 C AVisual Basic是事件驱动型可视化编辑工具。 BVisual Basic应用程序不具有明显的开始和结束语句。 CVisual Basic工具箱中的所有控件都具有Width和Height属性。 DVisual Basic中控件的某些属性只能在运行时设置。知识点3:(1) 标签(Label1):Autosize的True属性可以自动调整标签的大小,而False属性不能。(2)
4、文本框(Text1):1、Maxlength属性表示文本框所能容纳的字符数。2、Password属性表示口令输入,可以是“*”或“?”等。设置文本框输入字符为“*”:Text1.Password=”*”,还原文本框字符:Text1.Password=”,3、ScrollBars属性是表示文本框有垂直或水平滚动条,但是需要和多行属性Multiline结合一起使用。4、SelLength属性是表示选中文本框中字符的个数:Text1.SelLength。SelStart属性是表示选中文本框中字符或光标之前的字符数:Text1.SelStrart。SelText属性是表示选中文本框中的字符:Text1
5、. SelText。5、文本的主要事件是Change事件:(标签内容随文本框内容变化而变化)Private sub Text1_Change() Label1.caption=Text1.textEnd sub 6、文本框的方法只有一个:Text1.SetFocus 例题:(1) 能够获得一个文本框中被选取文本的内容的属性是 C AText B. SelLength C. SelText D. SelStrart(2) 在窗体上画一个文本框(其名称为Text1)和标签(其名称为Label1)。要求程序运行后,如果在文本框中输入字符,则立即在标签中显示相同的内容。以下可以实现上述操作的事件过程是
6、 A APrivate Sub Text1_Change() B. Private Sub Text1_Click() Label1.caption=Text1.Text Label1.caption=Text1.Text End Sub End SubCPrivate Sub Label1_Change() D. Private Sub Label1_Click() Label1.caption=Text1.Text Label1.caption=Text1.Text End Sub (3)命令按钮(Command1): 1、Default属性:当一个命令按钮的Default属性为True时
7、,按回车键和单击该命令按钮的效果相同。 2、Cancel属性:当一个命令按钮的Cancel属性为True时,按ESC键和单击该命令按钮的效果相同。(4)单选按钮和复选框(Option1和Check1): 1、单选按钮:Value属性的值是True(选中)和False(未选中),Option1.Value=True等同于Option1.Value用法。 2、复选框:Value属性的值是0(未选中)、1(选中)和2(表示暂时不可用)。Check1.Value=False可以用,但Check1.Value=True不可用(因为True只能转化数值1而不是1)。(5)列表框(List1): 1、Lis
8、t属性是一个数组型属性:List1.List(索引),索引可以是数字0、1,List1.listindex,变量i(List1.Text等同于List1.list(List1.listindex))。 2、MultSelect属性:用来设置一次可以多选表项数。MultSelect属性值为0时,每次只能选择一项;MultSelect属性值为1时,可以同时选择多个项目;MultSelect属性值为2时,可以用辅助键Shift或Ctrl选择多个项目。 3、常用方法:AddItem方法表示添加的是一个项目,而Removeitem方法表示通过删除索引的方式删除项目。RemoveItem 索引 索引可以是
9、数字0、1,List1.listindex,变量i。 (6)组合框(Combo1): 1、Style属性:Style属性值为0时,表示下拉式组合框;Style属性值为1时,表示下简单组合框;Style属性值为2时,表示下拉式列表框。其他功能类似列表框(List1)。 (7)图片框和图像框(Picture1和Image1): 1、图片框(Picture1):Autosize属性值为True时,表示图片框大小随图片大小改变而改变;Autosize属性值为False时,表示图片框只能部分显示大图片。 2、图像框(Image1):Stretch属性为True时,图片大小随图像框的大小改变而改变;Str
10、etch属性为True时,图像框的大小随图片大小的改变而改变。3、两种图形类型都可以按照下面这个方法加载图片: Picture1.picture=LoadPicture(App.Path & “图片名称.扩展名”) Image1.picture=LoadPicture(App.Path & “图片名称.扩展名”) 如果要清除图片: Picture1.picture=LoadPicture(“”) Image1.picture=LoadPicture(“”)注意:如果使用App.Path方法需要先保存好窗体文件和工程文件到考生文件夹中。 (8)滚动条(HScroll1): 1、Max和Min属性
11、是分别表示滚动条的最大和最小刻度,刻度值用Value属性值来表示:HScroll1.value。 2、LargeChange和SmallChange属性是分别表示移动滚动条上的左右箭头按钮的移动量和移动滚动条上滚动框的移动量。 3、Scroll和Change事件分别表示拖动滚动条上滚动框的操作和单击滚动条上箭头按钮的操作。 (9)计时器(Timer1): 1、Enabled属性:Enabled属性值为True时,表示计时器可以走动;Enabled属性值为False时,表示计时器停止走动; 2、Interval属性:是表示计时器运动的时间间隔,单位为毫秒。1秒时间:Timer1.Interval
12、=1000。 3、Enabled和Interval这两个属性一般情况下需要一起使用。知识点4: (1)Visual Basic常用函数的使用方法: 1、数学函数: 求平方根:Sqr(n) 求自然对数Log(n)lnn log78=loge8/loge7(注意非e为底的对数需要如此转换) 求以e为底的幂值,ex exExp(x) 1 n0 Sqn(n)= 0 n=0 Rad()-X=Int(Rnd*(上界下界+1)+下界(产生随机整数) 2、转换函数: Str(x) 数值x转换成字符串 str(12.75)=” 12.75” 这样转换12.75之前会多出一位。如果使用Cstr(12.75)=”1
13、2.75” 这样转换12.75之前不会多出一位。 Val(x) 字符x转换成数值,但x要一定是数字字符才行,Val(“12.75”)=12.75,如果是含有其他字符Val(“12.7ab”)将无法转换。 chr(x) 返回以x为Asccii代码值的字符 chr(97)= ”a”;Asc(x) 给出字符x的Asccii代码值 Asc(“A”)=65 三种类型ASCII代码值转换:Asc(“0”)Asc(“9”)-4857 Asc(“A”)Asc(“Z”)-6590Asc(“a”)Asc(“z”)-97122特殊情况:Asc(“ABC”)=65 只求第一个字符“A”的Ascii代码值 Fix(x)
14、 将数值型数据x的小数部分舍去 Fix(12.8)=12 Fix(-12.5)=-12;Int(x) 取小于等于x的最大整数 当x0时,用法和Fix一样;当x - (* /) Mod (+ -) 关系运算符 = = Like Is 运算符优先级相同 逻辑运算符 运算符的优先级:Not And Or Xor Eqv 例题: (1) 表达式4 + 5 6 * 7 / 8 Mod 9 的值是 B A4 B. 5 C. 6 D. 7 (2) a=3 b=2 c=1 求 Print abc 的结果? 首先ab的结果是true,然后再Print Truec 此时True需要转换成-1再比较,Print -
15、11 结果是False,所以整个输出结果是False。知识点6: 1、交互函数的使用: InputBox函数: A=InputBox(提示信息,标题信息,默认值或输入框的值) 例题: (1) 执行下列语句后,将显示输入对话框,此时如果单击“确定”按钮,则变量strInput的内容是 C strInput=InputBox(请输入字符串,字符串对话框,字符串) A请输入字符串 B. 字符串对话框 C. 字符串 D. 空字符串 MsgBox函数: MsgBox “提示信息”, 按钮类型值+图标类型值+默认焦点值, “标题信息” A= MsgBox “提示信息”, 按钮类型值+图标类型值+默认焦点值
16、, “标题信息”;A的值根据单击什么按钮有关,A的值在1,7之间取值。比如:单击“确定”按钮,A=1。例题: (1)以上图形所表示的函数表达式为:MsgBox 请输入查询的学生学号:, 3 + 32 + 256, 学生基本信息查询知识点7: 1、选择结构语句(If条件语句): 单分支条件语句: 格式: If 条件 Then 语句块 End If (称If块语句) If 条件 Then 只有一条语句 (称If条语句) 双分支条件语句: 格式:If 条件 Then 语句块1 Else 语句块2 End If 多分支条件语句 If 条件1 Then 语句块1 Elseif 条件2 Then 语句块2
17、 。 Else 语句块n End If 其中,条件可以是:关系表达式(a5)、逻辑表达式(a5 And c4)、变量(i)或常数(0)。 例题: (1) 下列程序段的执行结果为 A X=5 Y=-20 If Not x0 Then x=y-3 Else Y=x+3End IfPrint x-y;y-xA. -3 3 B. 5 -8 C. 3 -3 D. 25 -25以上题中的“条件”主要是逻辑表达式。 (2) 下列程序段的执行结果为 B X=2 Y=1 If x*y0 A. True B. False C. -1 D.1 以上题中的“条件”主要是关系表达式。(3) 下列程序段的执行结果为 C
18、Dim x As Integer If x Then Print x Else Print x-1 A. 1 B. 0 C. -1 D.不确定 以上题中的“条件”主要是变量。2、选择结构语句(Select Case语句):Select Case 测试表达式 Case 表达式列表1 语句块1 Case 表达式列表2 语句块2 。 Case Else 语句块nEnd Select注意:测试表达式的类型只能是数值数据或字符型,表达式列表的值只要第一个符合测试表达式值的要求,就结束Select Case语句;表达式列表可以是三种结构或三种混合结构:、1 To 10 、1,3,5,6,7,8 、Is10
19、 、1,2,5,7,Is10 例题: (1) 在窗体上画一个名称为Command1的命令按钮和两个名称分别为Text1和Text2的文本框,然后编写如下事件过程: Private Sub Command1_Click() n=Text1.text Select Case n Case 1 T 10 X=10 Case 2,4,6 X=20 Case Is5)、逻辑表达式(a5 And c4)、变量(i)或常数(0)。执行过程:条件成立,变量的值就是“参数1”,否则变量的值就是“参数2”。 例题: (1) 设a=6,则执行语句:x=IIF(a5,-1,0)后,x的值为 D A. 5 B. 6 C
20、. 0 D. -1知识点8:循环结构 For 循环变量=初值 To 终值 Step 步长 循环体 If 条件 Then 语句 Exit For End If Next 循环变量 Do 循环体Loop While 条件 循环如果正常退出时(没有执行Exit For语句),那么循环变量必须要大于终值或等于终值+步长。 Do While 条件 循环体 LoopDo 循环体Loop Until 条件 Do Until 条件 循环体 Loop左边上下两种循环是先判断条件后执行循环体,右边上下两种循环是不管条件成立与否都至少执行一次;While循环是条件成立执行循环体,Until循环是条件不成立执行循环体
21、。 当循环 While 条件 循环体 Wend 当条件为True(非0值),执行循环体。这种情况适合需要由数据的某个条件是否出现来控制循环例题: (1) 下列程序段的执行结果为 B s=0:t=0:u=0 For x=1 To 3 For y=1 To x For z=y To 3 s=s+1 Next z t=t+1 Next y u=u+1 Next x Print s;t;u A. 3 6 14 B. 14 6 3 C. 14 3 6 D. 16 4 3 分析: A组语句和B语句都在X循环内,并且是并列的,所以可以先计算B组语句,A组语句暂时不算,这样很容易求出u=u+1语句循环了三次,
22、则u=3;C组语句和D语句都在Y循环内,并且是并列的,所以可以先计算D组语句,C组语句暂时不算,这样也比较容易求出t=t+1语句循环了六次,则t=6;然后再结合答案很快就能得出答案是选B。知识点9: 1、数组: 数组的概念 等级考试主要考一维数组、二维数组和三维数组(三维的只需知道数组中可以存储多少数据即可)。数组的格式:a(2,3 To 7,-1 To 2),那它的存储空间大小计算:每一维用上界-下界+1计算,例如 (2-0+1)*(7-3+1)*(2-(-1)+1)=3*5*4=60。 数组的下标下界是根据语句Option Base n来决定:当n=0时,数组下标下界是从0开始;当n=1时
23、,数组下标下界是从1开始。 数组分为:固定大小数组: Dim a(10) As Integer动态大小数组: Dim a() As Integer Redim a(10) Array函数用法:为一个变体型变量创建一个数组。 Dim a as Variant a=Array(1,2,3,4,5) 因此:a(0)=1 a(1)=2 a(2)=3 a(3)=4 a(4)=5 注意:如果数组被定义为一下三种类型,(1) 数值型 (2) 字符型 (3)逻辑型 ,则它们初始化的数组元素数值分别为:0 、空字符串和False 。 例题: (1) 在窗体上画一个命令按钮(其Name属性为Command1),然
24、后编写如下代码: Private Sub Command1_Click() Dim a(4,4) As Integer For i=1 To 4 For j=1 To 4 a(i,j)=(i-1)*3+j Next j Next i For i=3 To 4 For j=3 To 4 Print a(j,i) Next j Print Next i End Sub 程序运行后,单击命令按钮,其输出结果为 D 。 A. 6 9 B. 7 10 C. 8 11 D. 9 12 7 10 8 11 9 12 10 13 分析: 对循环和数组结合的问题,往往要先看B组语句输出结果是什么,然后根据B组语
25、句输出结果代入到A组语句中求结果。a(3,3) a(4,3)a(3,4) a(4,4) B组语句输出结果:9 1210 13 代入A组语句的结果: 知识点10: 1、过程与函数: 过程与函数的参数类型有:实参和形参;传递方式有:值传递和地址传递。 以下程序中,x,y为实参;a,b为形参 注意:实参要与形参的类型、个数要相同。 在形参a,b之前如果加上关键字ByVal,那么就是值传递;如果加上关键字ByRef或不加关键字,那么就是地址传递。 过程调用方式有两种:Call Swap(x,y)或Swap x,y (Swap是过程名) 注意:只有地址传递方式才能实现交换功能,值传递方式x,y的值不变。
26、当有事件过程和通用过程一起运行时,先执行事件过程(Command_Click)。 例题: (1) 假定有如下的Sub过程: Sub S(x As Single, ByVal y as Single) t=x x=t/y y=t Mod y End Sub 在窗体上画一个命令按钮,其名称为Command1,然后编写如下事件过程: Private Sub Command1_Click() Dim a As Single, b As Single a=5:b=4 S a,b Print a,b End Sub 程序运行后,单击命令按钮,输出结果为_C_。 A. 5 4 B. 1 1 C. 1.25
27、4 D. 1.25 1 程序分析: 首先形参x是地址传递方式,当a传递给x时,因此a与x拥有一个共同存储空间,图形表示:;形参y是值传递方式,当b传递给y时,因此b与y是两个不同存储空间,图形表示:;那么在过程S中:运算x=t/y后,x=1.25,图形表示;因此a的值就是1.25;运算y=t Mod y后,y=1,图形表示:,因为此时b和y存储空间不同,则不影响b的值,则还是4,因此Print a,b的结果就是选择C答案。知识点11: 1、菜单和鼠标事件 菜单编辑器的使用: 注意:菜单中的标题可以为空,但不论是第几级菜单名称必须唯一,且不能为空。 鼠标事件(按下鼠标键事件过程) 主要事件有:F
28、orm_MouseDown 、 Form_MouseUp 和 Form_MouseMove。现在以某个为例说明: Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) End Sub 上述事件过程不仅使用在窗体上(Form_MouseDown),还可以使用于大多数控件上,包括命令按钮(Command1_MouseDown)或文本框(Text1_MouseDown)等。 以上鼠标事件过程的参数,含义如下: (1)Button 有值1、2和4,分别表示按下左键、右键和中建;
29、 (2)Shift 表示Shift、Ctrl和Alt键的状态,其值分别是1、2和4; (3)X,Y 表示鼠标光标的坐标位置 弹出式菜单(菜单和鼠标事件的结合使用) Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) If Button=1 Then 按下鼠标左键 PopUpmenu File 通过PopUpmenu方法弹出菜单 End If File是一级菜单的名称 End Sub 运行效果: 2、公共对话框(又称通用对话框) 通用对话框是我们考试中唯一一个控件箱中没
30、有的控件,需要我们自己添加的,添加的方法是在“工程”菜单的“部件”项中选择“Microsoft Common Dialog Control 6.0”后,才会在控件箱中出现通用对话框图标。 通用对话框图形根据以上图形,相应的程序代码如下:注意:CommonDialog.FilterIndex = 索引 (索引是从1开始)知识点12: 1、文件 文件包括三种:顺序文件、随机文件和二进制文件 顺序访问:文件中数据是以ASCII码存储的。 随机访问:文件长度记录是固定不变的,数据类型可以不同,数据以二进制方式存储在文件中,可以任意时候,任意地方访问。 二进制访问:必须知道数据是如何写入文件的。 如果源文件是字符类型,那么读写文件如下所示:读文件的格式: Open App.Path & 文件名(In.txt) For Input As #文件号(#1) Do while Not Eof(文件号) Input #文件号,变量 Loop Close #文件号 写文件格式: O