文档库 最新最全的文档下载
当前位置:文档库 › VB大纲复习

VB大纲复习

VB大纲复习
VB大纲复习

复习

一、W indows的基本操作

1、新建文件夹和子文件夹

2、复制、剪切、粘贴文件(按大小,后缀,名称,修改日期)

3、删除文件

4、修改文件的属性

5、创建快捷方式

二、V B的语言基础

1、VB程序的书写规则

1)VB代码不区分字母大小写

2)同一行上可以书写多句语句,语句间用冒号“:”分隔

3)单行语句也可以分在多行书写,在本行后加入续行符(空格和下划线‖_‖)

4)注释是以Rem开头或用撇号‖‘‖引导,是对程序的解释,不会运行该程序。

2、VB提供的数据类型

1)字符串(String,$):字符序列,由放在一对双引号中的Ascii字符(除双引号和回车符外),汉字和可打印字符。如:“abc”,“2+3”,“中国”,“200”,“$2000”

注意:在字符串中是区分字母的大小写的。

2)数值型:整型(Integer %),长整型(Long,&),单精度(Single,!),双精度(Double,#),货币型(Currency,@)

3)逻辑型(Boolean):True False

4)日期型(Date):Date、Time、Now

5)变体型(V ariant)

6)自定义类型

形式如下:Type 自定义类型名

元素名[(下标)] As 类型名

……

[元素名[(下标)] As 类型名]

End Type

Eg: Type Stu

Xueh As String

Xingm As String

Age As Integer

End Type

Dim a As Stu

a.Xueh=‖20001001‖

a.Xingm=‖小李‖

a.Age=19

3、变量和常量

计算机在处理数据时,必须将其装入内存,则需要将存放数据的内存单元命名,通过内存单元名来访问其中数据。命名了的内存单元就是变量或常量。常量是在运行中数值一直保持不变,变量是在运行中数值可以不断变化的。

1)变量或常量的命名规则:

①必须以字母或汉字开头,由字母、汉字、数字或下划线组成,长度小于等于255个字符

②不能使用VB中的关键字

③VB中不区分变量名的大小写

④变量名最后一个字母可以是类型说明符

Eg:下列变量名哪些是正确的:n, print_65 名称ab#3x Abs 85 ∏ A%B my name

2)变量声明

形式如下:

Dim 变量名[As 类型] 为了方便定义,可在变量名后加类型符来代替As类型。

Eg: Dim a AS Integer Dim a%

3)常量

形式如下:

Const 常量名[As 类型] = 表达式

Eg: Const PI=3.1415926

4、运算符及优先级

1)算术运算符:-(取负)、∧、* 或/、\、MOD、+ 或 - 由高到低

2)字符运算符+ 或& 同级

3)关系运算符:= 、>、>=、<、<=、<>、Is、Like 同级

4)逻辑运算符:Not And Or Xor Eqv Imp 由高到低

5、表达式书写及值类型:

1)书写规则:

①从左到右同一行书写

例:

bc b

a →(a+b)/(c * d)

②表达式中的运算符可以用圆括号括起,以改变运算的优先级;圆括号可以多个,但一定要

配对,同时不能使用花括号和方括号

注意:①乘号“*”一定不能省略,也不能用“.”代替例:2y→2 * y ,不能为2?y

②逻辑表达式书写问题 a<=x

2)表达式值的类型

在表达式中其运算是按照运算的优先级别的先后顺序对表达式求值。若出现不同的数据类

型,则向精度高的数据类型转换。

Eg: ①16*7\3=37

② 25\3 mod 3.2 * int(2.5) = 8

③“abcd” + “1234”=abcd1234

④a=5,b=-3,c=-2

求a>b or a>c and b>c的值

6、常用函数

1)取整函数:Int Fix Round(四舍五入函数)

2)类型转换函数:Asc Chr V al Str

3)数学函数:Abs Sgn Sqr

4)字符串函数

①删除空白字符函数:Ltrim Rtrim Trim

②字符串截取函数:Left(s,n) Right(s,n) Mid(s,I,n)

③字符串长度测试函数:Len LenB

④字符串匹配函数:Instr([f,],s1,s2[,n])

⑤字母大小写转换函数:Ucase Lcase

⑥String Space

⑦替代字符串语句:Mid(s,p,n)=s1

5)随机函数:Rnd 产生在某一范围内如[a,b]的随机整数:Int(Rnd*[a-b])+a

三、V B的三大结构

(一)顺序结构

1、赋值语句

语句形式如下:变量名=表达式

作用是将右边表达式的值赋给左边的变量名。一次只能给一个变量赋值。

2、与用户交互函数和过程

1)InputBox函数

函数形式:InputBox(提示[,标题][,缺省][,x坐标位置][,y坐标位置])

其函数返回值是字符型数值

例:弹出一个对话框要求输入一个字符串

a=InputBox(“请输入字符串:”)

2)MsgBox函数和MsgBox语句

函数形式:变量=MsgBox(提示[,按钮] [,标题])返回一个所选按钮的整数值

语句形式:MsgBox提示[,按钮] [,标题] 没有返回值

MsgBox ‖Hello! Today Is ‖ & Date

(二)选择结构

1、单边IF语句的两种格式和使用

1)If <.表达式> Then

<语句块> 2) If <表达式> Then <语句块> End If

表达式可以是任何表达式,按表达式的值非0为True,0为False

多行的If必须与End If配对;单行格式没有End If关键字。

2、双边IF语句的两种格式和使用

1)If <.表达式> Then

<语句块1>

Else 2) If <表达式> Then <.语句1> Else <语句2> <语句块2>

End If

3、多边IF语句的格式和使用

If <.表达式1> Then

<语句块1>

ElseIf <表达式2> Then

<语句块2>

……

[Else

<语句块n+1>]

End If

ElseIf之间不能有空格。

4、IF语句的嵌套和使用

If <.表达式1> Then

。。。。。。

If <表达式11> Then

。。。。。。

End If

……

End If

区分嵌套的层次方法,每个End If与它上面最接近的If配对。Eg:1)下列程序段运行后显示的结果是______

Dim X

If x Then Print x Else Print x+1

2)语句If x=1 Then y=1 中的x=1和y=1分别代表__________

3)下列程序段,显示的结果是_______

Dim X

X=Int(Rnd)+5

Select Case x

Case 6

Print ―优秀‖

Case 5

Print ―良好‖

Case 4

Print ―及格‖

Case Else

Print ―不及格‖End Select

5、情况语句Select Case语句的格式和使用

格式:Select Case <变量或表达式>

Case <表达式列表1>

<语句块1>

Case <表达式列表2>

<语句块2>

[Case Else

<语句块n+1>]

其中<变量或表达式>只能对单个变量进行多种情况的判断

<表达式列表i>中不能出现“变量或表达式”中出现的变量。

6、条件测试函数的形式和使用

IIf(<条件表达式>,当条件为True时的值,当条件为False时的值)

Choose(<数字类型变量>,值为1的返回值,值为2的返回值……)

Switch(<条件表达式1>,条件1为True时的值,[<条件表达式2>,条件2为True时的值。。。])在多个条件表达式的表示时,应从最小或最大的条件依次表示,以避免条件的过滤。

在多分支结构中,尽管条件很多,但程序运行时,任何情况下最多只能执行到最先满足条件的那个分支,就完成此分支的执行,接下来执行End If或End Select语句的后继语句。

(三)循环语句

1、For…Next循环结构形式和使用

For <循环变量>=<初值> To <终值> [Step <步长>]

<循环体>

Next <循环变量>

说明:1)该循环语句常用于已知循环次数的场合。步长可正可负,可为整数,也可为实数。

2)循环次数:

n=int((终值–初值)/步长+1)

3)循环结束:步长为正时,当循环控制变量>=终值;循环结束

步长为负时,当循环控制变量<=终值;循环结束

Eg: 1)要使下列循环执行20次,循环变量的初值应当是:____

For k=_______ To –5 Step –2

2)下列程序段打印出来图形:

For I = 1 To 5

For J = 2 To I

Print ―*‖;

Next j

Print

Next I

3)下列程序段双重循环共执行_______次,内循环执行_______次

For j= 1 To 12 Step 3

For K=6 To 2 Step –2

Print j,k

Next k

Next j

2、Do…Loop循环结构形式和使用

1)无条件循环2)当条件为真循环3)当条件为真不循环4)先循环再判断5)先循环再判断

Do Do Whie<.条件> Do Until <.条件> Do Do <循环体> <循环体> <循环体> <循环体> <循环体> Loop Loop Loop Loop Whie<.条件> Loop Until <.条件>

3、循环的嵌套及注意事项

循环体内又包含有循环结构,称为循环的嵌套或多重循环。

计算多重循环的循环次数由每一重循环次数的乘积。

外循环要包含有完整的内循环结构,不能交叉。

同样分支与循环混合嵌套时一定要注意分支结构要完整,或循环结构要完整。

Eg:求水仙花数(所谓水仙花数是指一个3位数,其各自数字立方和等于该数字本身,例如,153就是一个水仙花数)

四、数组

1、数组的概念

1)数组的概念:存放具有相同性质的一组数据,也就是数组中的数据必须是同一个类型和性质。

2)数组元素:数组中的某一个数据项。数组元素的使用同简单变量

2、静态数组的声明

Dim 数组名([下界To ]上界)As 类型

此语句声明了数组名称,数组维数,数组大小,数组类型

注意:下界和上界必须是常数,不能是变量或表达式;省略下界,默认为0,也可用Option Base 语句重新设置下界的值,下界《=上界

Eg:1)下列数组定义中,哪个是正确的?(实验讲义)

2)如下数组声明语句中,数组a包含元素的个数有_____

Dim a(3,-2 To 2,5)

3)以下程序输出的结果是______

Dim a()

A=Array(1,2,3,4,5,6,7)

For I=Lbound(a) To Ubound(a)

A(i)=a(i)*a(I)

Next I

Print A(I)

3、动态数组的声明

形式:Dim 数组名()

ReDim [Preserve] 数组名([下界To ]上界)

此时的上界和下界可以是赋了值的变量或表达式。

若有Preserve表示当改变原有数组最末尾的大小时,使用此关键字可以保持数组中原有的数据。

4、控件数组

相同类型的控件组成的数组(Name名称相同,共用同一段代码。)

控件数组的建立:在设计时的窗体上,通过对某控件的复制和粘贴操作,或者是使其Name名称相同;在程序运行时也可以通过Load方法实现。

控件数组元素由其Index属性值表示数组的下标。

5、数组的操作

1)数组元素的输入、输出

Array函数的使用:Array函数可以方便地对数组整体赋值,此时只能声明V ariant的变量或仅由括号括起来的动态数组。赋值后的数组大小由赋值的个数决定。

在程序中可以使用UBounr和Lbound函数来决定数组的上界和下界。

2)求数组中的最大、最小元素及下标

3)求和、求平均值

4)排序(选择、冒泡)

5)查找

Option Base 1

Dim a() As Integer, n%, i%

'输入数组元素,并将其添加到列表框里Private Sub Command1_Click()

List1.Clear '清空两列表框为输入作准备List2.Clear

Command4.Enabled = False

n = InputBox("请输入数组元素的个数:") ReDim a(n) '动态定义数组a For i = 1 To n '用循环语句来输入数组的元素a(i) = InputBox("请输入第" & i & "个元素:") List1.AddItem a(i)

Next

Command2.Enabled = True

Command3.Enabled = True

Command1.Enabled = False

End Sub

'选择排序

Private Sub Command2_Click() For i = 1 To n - 1 Max = i

For j = i + 1 To n

If a(Max) < a(j) Then Max = j

Next j

t = a(i)

a(i) = a(Max)

a(Max) = t

Next i

For i = 1 To n

List2.AddItem a(i)

Next

Command1.Enabled = True Command3.Enabled = False Command4.Enabled = True Command2.Enabled = False End Sub

'冒泡排序

Private Sub Command3_Click() 'For i = 1 To n

For j = 1 To n - i

If a(j) < a(j + 1) Then '两两相比较

t = a(j + 1)

a(j + 1) = a(j)

a(j) = t

End If

Next j

Next i

For i = 1 To n

List2.AddItem a(i)

Next i

Command1.Enabled = True

Command3.Enabled = False

Command4.Enabled = True

Command2.Enabled = False

End Sub

Private Sub Command4_Click() '二分查找Dim Mid As Integer, Low%, High%, c%, m% c = InputBox("请输入要查找的数字:") Low = LBound(a)

hight = UBound(a)

Do

Mid = (Low + hight) \ 2

If a(Mid) > c Then

Low = Mid + 1

ElseIf a(Mid) = c Then

m = Mid

Exit Do

Else

hight = Mid - 1

End If

Loop Until Low > hight

If m = 0 Then

MsgBox "找不到"

Else

MsgBox "是第" + Str(m) + "个"

List2.Selected(m - 1) = True

Command5.Enabled = True

End If

End Sub

Private Sub Command5_Click() ' 删除元素For i = m To UBound(a) - 1

a(i) = a(i + 1)

Next i

List2.Clear

ReDim Preserve a(UBound(a) - 1)

For i = LBound(a) To UBound(a)

List2.AddItem a(i)

Next

Command5.Enabled = False

End Sub

五、过程

1、过程的概念

VB的程序是由一个个过程构成的,除了VB系统提供了大量使用的内部函数过程和事件过程外,VB系统还允许用户根据各自的需要自定义过程。

使用过程的好处:使程序简练、高效、便于程序的调试和维护。

2、两类过程定义与调用

1)子过程

定义形式:Sub <子过程>[(形参表)]

………

End Sub

特点:子过程名无值,无类型

调用形式:Call <子过程名>[(实参表)]

<子过程名>[(实参表)]

特点:独立的语句

在首句Sub前面还可加上表示过程作用域的标识符

Public:表示该子过程可被应用程序(整个工程)的任意模块和过程调用

Private:标识该子过程只能被本模块(文件)中的过程调用

2)函数过程

定义形式:Function <函数过程> ([形参表])

。。。。。。

<函数过程名>=<表达式>

。。。。。。

End Function

特点:函数过程名有值、有类型、在过程体内至少赋值一次

调用形式:<函数过程名>([实参表])

特点:不能独立存在,必须参加表达式的运算。

Eg:1)下面子过程说明合法的是:

A)Sub f1(ByV al n%())数组作为参数时,不能使用值传递

B)Sub f1(n%)As Integer 子过程名无值也无类型

C)Function f1%(f1%)函数名与形参名相同

D)Function f1(Byval n%)

3、参数传递

传值(ByV al):将实参的具体值传递给形参(调用结束不能由形参将操作结果返回给实参)

传址(ByRef):将实参在内存的地址传递给形参(即实参、形参共用内存内的“地址”)

Eg:下面程序运行后显示的结果是

Public Sub F1(n%,Byval m%)

n=n Mod 10

m=m\10

End Sub

Private Sub Command1_Click()

Dim x%,y%

X=12:y=34

Call F1(x,y)

Print x,y

End Sub

注意:若实参是数组、自定义类型、对象变量等,形参只能是地址传递。

4、变量的作用域

全局变量:Public关键字开头的变量为全局变量,在整个工程中都有效。

窗体、模块级变量:在通用声明段用Dim或Public关键字声明的变量,在该窗体或模块内有效(即

窗体装入时分配该变量的存储空间,直到该窗体从内存卸掉,才回收该变量分配的存储空间)局部变量:在过程中声明的变量,在该过程调用时分配内存空间并初始化,过程调用结束,回收分配的空间。(即调用一次,初始化一次,变量不保值)

Eg:如下程序,运行的结果是

Dim a%, b%, c%

Public Sub p1(x%, y%)

Dim c%

x = 2 * x: y = y + 2: c = x + y End Sub

Public Sub p2(x%, ByV al y%) Dim c%

x = 2 * x: y = y + 2: c = x + y End Sub Private Sub Command1_Click() a = 2: b = 4: c = 6

Call p1(a, b)

Print "a="; a; "b="; b; "c="; c Call p2(a, b)

Print "a="; a; "b="; b; "c="; c End Sub

5、过程的递归调用

在调用一个子过程或函数过程中又调用自己,称为递归调用(递归过程)Eg:求阶乘n!

n!=n*(n-1)!

阶乘n!=n*(n-1)!,写成如下形式:

f a c(n)=0(n=1)

f a c(n)=n*f a c(n-1)(n>1)

P u b l i c F u n c t i o n f a c(n A s I n t e g e r)A s D o u b l e

I f n=1T h e n

f a c=1

E l s e

f a c=n*f a c(n-1) E n d I f

E n d

F u n c t i o n P r i v a t e S u b C o m m a n d1_C l i c k()

D i m n A s I n t e g e r

n=V a l(I n p u t B o x("输入n的值:"))

P r i n t"f a c("+S t r(n)+")=";f a c(n) E n d S u b

6、常用算法

1)穷举法:把所有可能的值都验证一遍,若符合条件则有解

E g:已知某人的出生日乘以12和出生月份乘以31之和,求其出生日期

Private Sub Command1_Click()

Dim n%, ri%, yue%

n = InputBox("请把你的出生日乘以12,再把出生月份乘以31求出两数之和:)")

For yue = 1 To 12

For ri = 1 To 31

If ri * 12 + yue * 31 = n Then MsgBox "我知道了!你的生日是" + Str(yue) + "月" + Str(ri) + "日"

Next ri

Next yue

End Sub

2)迭代(主要是用计算机解决数学中高次方程的近似求解问题):

迭代法是用一个初值x,通过迭代公式求得新值x1,若|x-x1|<€,则x1就是求得的根;否则用x1代替x重复迭代,直到达到精度。所以迭代是通过循环来实现。

Eg:实验讲义P26_6

Private Sub Command1_Click()

Const eps = 0.000001

Dim a!, a1!, a0!

a = InputBox("请输入a=")

a1 = a

Do

a0 = a1 ?反复用新值代替旧值来迭代

a1 = (a0 + a / a0) / 2

Loop Until Abs(a1 - a0) < eps ?直到精度达到要求

Print "a^(1/2)="; a1

End Sub

3)求级数:

庄子:一尺之锤,日取其半,万世不竭

1/2+1/2^2+...1/2^n+...=1

无穷级数。它的项随n大而减小,但它的和为1。

另一个级数:1/2+1/3+1/4+...+1/n+...

虽然项也是越来越小,但只要n取得适当,可大于任何预定的数m。

例:一条小胖虫以1c m/s的速度在一根10c m厘米长的橡皮绳上从一端爬到另一端。若橡皮绳以10c m/s的速度伸长,问小胖虫能否爬到绳子的另一端?分析:乍一看不行,虫慢绳快。其实可以。绳增长,虫爬过的也增长。第一秒1/10,第二秒1/20,第i秒1/(10*i)。S=1/10+1/20+...+1/(10i),只要s>=1,则表示爬到顶端。程序段如下:

Private Sub Command1_Click()

i = 1:s = 0

Do

s = s + 1 / (i * 10)

If s >= 1 Then Exit Do

i = i + 1

Loop

If s >= 1 Then Print "time=" + Str(i)

End Sub

4)计数求和

Eg:输入一串字符,统计各字母出现的次数,大小写不区分。

Private Sub Command1_Click()

Dim a%(26), i%, n%

n = Len(Text1)

For i = 1 To n

c = UCase(Mid(Text1, i, 1))

If c >= "A" And c <= "Z" Then

j = Asc(c) - 65 + 1

a(j) = a(j) + 1

End If

Next i

For i = 1 To 26

If a(i) <> 0 Then Picture1.Print Chr(i + 64); "="; a(i);

Next i

End Sub

六、常用控件

1、文本框、标签和命令按钮

标签和文本框都是用于显示文本。它们的最主要区别是:标签中的文本是只读文本,而文本框中的文本为可编辑文本。文本框可用于接受用户输入,并显示输出

(一)文本框

1)属性:

Text:返回和设置文本框中显示的内容

MaxLength:(一般用于接受用户输入时,可限制长度)

PassWordChar:屏蔽用户的输入,使用户输入不回显

MultiLine:(接受多行文本)

ScrollBar:是否显示滚动条(MultiLine属性设为True的情况下才起作用)。

SelStart:选中的字符串在文本框Text字符串的位置

SelLength:选中文本的长度

SelText:返回选中的一段文本,位置和长度分别由SelStar t和SelLength确定

2)事件

Change:文本框内容发生变化时,所激发的事件

Keypress:文本框内按某键所激发的事件,常用于判断按下回车键后所激发的事件(自带参数KeyAscii) LostFocus:当文本框失去焦点时所激发的事件。

3)方法

Text1.SetFocus 把光标移到指定的文本框中。(在Form_Load事件中不能使用Text1.SetFocus,若希望将光标定位于文本框中则需设置Text1.TabIndex=0)

(二)命令按钮

属性:

Caption:命令按钮上显示的标题

Enabled:命令按钮是否可用

Picture:命令按钮上显示背景图片

Stytle:命令按钮是否可以显示图形。(0:标准的,不能显示图形;1:图形的,可以显示图形。)

2、单选按钮和复选框

复选框属性:V alue(检查复选框是否被选定)

0 ---- 未被选定;

1 ---- 被选定;

2 ---- 不可用

单选按钮属性:Value(检查单选按钮是否被选定)

True ---- 被选定

False ----未被选定

3、框架

框架的作用是将窗体上其他类型的控件框起来,对窗体的各个功能进一步进行分类,以便于用户识别。

注意:在窗体上创建框架及其内部控件时,必须先建立框架,然后在其中建立各种控件。创建控件不能使用双击工具箱上的工具,然后用出现的“+”指针,在框架内适当位置拖动出适当大小的控件。如果

要用框架将现有控件分组,则可先选定所有控件,将它们剪切(Ctrl+X)到剪切板,然后选定框架并将剪切板上的控件粘贴到框架上。

4、列表框

列表框可以显示多个选择项,供用户其中的一项或多项。

(一)属性:Text:被选中列表项的文本内容

List:列表框的项目,是字符串数组,数组的每一个元素对应一个列表项目;该属性即可通过属性窗口设定

ListCount :列表项目的个数

ListIndex:所选项目的下标;0到(ListCount-1)

MultiSelect :是否可以多项选择(0:只能单项选择;1:简单多项选择,即单击鼠标即可多项选择;2:需要按住Ctrl或Shift方可作多项选择)

Selected:表示所对应的项是否被选中;List1.Selected(i)=True

Sorted:列表框中的项目是否按字母的顺序排列显示,只能在属性窗口来设置

(二)方法:

列表框中的选择项可以简单地在设计状态通过List属性设置,也可以在程序中用AddItem来添加,用RemoveItem或Clear方法来删除

1)AddItem:增加一个新项目

格式: <列表框名>.AddItem <字符串>,<下标>

Eg: List1.AddItem “年龄”,3 将“年龄”插入列表框的第4象

List1.AddItem “通讯地址”插入末项

2)RemoveItem:删除指定项目

格式:<列表框名>.RemoveItem <下标>

Eg: List1.RemoveItem 5 删除第六项

List1.RemoveItem List1.ListIndex 删除当前所选的项

3)Clear 清除全部内容

5、组合框

组合框组合了列表框和文本框的特性而成的控件,同时具有文本框和列表框特性的控件,既可以让用户通过鼠标选择所需要的项目,也可以像文本框那样,用键入方式输入项目。由于组合框是文本框和列表框的组合,所以它的大多数属性都和这两个控件相同,但它有一个特殊属性Style,用以确定组合框的形式。Style 0 —下拉式组合框,可选择和输入项目

1 —简单组合框,可选择和输入项目,列表框不能收起

2 —下拉式列表框,只能选择,不能输入

6、滚动条:通常用于附在窗口上帮助观察数据或确定位置,也可用于作为数据输入的工具。

滚动条分为水平滚动条(HScrollBar)和垂直滚动条(VScrollBar),它们除方向不一样外,其结构和操作是一样的。

1)属性:

Max:滚动条所能表示的最大值,为滑动块在最右端或最下端时所代表的值

Min:滚动条所能表示的最小值,为滑动块在最左端或最上端时所代表的值

LargeChange:单击滚动条中滚动框前面或后面部分时,滑块增加或减少的增量值。

SmallChange:单击滚动条两端箭头时,Value属性增加或减少的增量值

Value:滑块在滚动条上的所处位置所代表的值,其值在Max与Min之间。事件

Scroll事件:用于用鼠标单击滚动条的滑块时触发该事件(单击滚动箭头或滚动条时不发生Scroll事件),

即用于跟踪滚动条中的动态变化

Change事件:改变滑块的位置后(Value值改变)会触发Change事件

7、时钟控件:能有规律地以一定的时间间隔(Interval)激发计时器事件(Timer)而执行相应代码。

Interval --- 计时间隔(单位:毫秒)Timer:每隔指定时间调用该事件。

Timer控件的大小不能调整,在程序运行时始终不可见

8、图形框和图像框

VB中显示图形图象的主要控件;二者相比,图片框(PictureBox)的功能更强,可以作为其它控件的父对象,而且可以通过Print方法接受文本;而图像框(Image)只能显示图形信息。

1)属性:

Picture:用于设置或返回要显示的图形(既可在属性窗口设置,也可用代码设置:

对象.Picture = LoadPicture("文件"))

AutoSize :调整图片框的大小以适应图的大小(仅适用于Picture)其值为True时,图片框的边框自动调整以适应置入图形的大小,为False时,假如图片过大将自动截去超过的部分。Stretch :调整图的大小以适应图像框的大小(仅适用于Image),当其值为True时,将自动放大或缩小图像框中的图形与图像框的边界相适应,其值为False时,图像框将自动放大或缩小以适应其中的图形。

9、形状控件

1)画线控件(Line):?用于画线。

由(x1,y1)和(x2,y2)两坐标值确定直线位置

2)形状控件(S h a p e)

S h a p e:

0----矩形1----正方形2----椭圆

3----圆4----圆角矩形5----圆角正方形

BorderColor:边界线的颜色

BorderStyle:边界线的线形

BorderWidth:边界线的线宽

BackStytle:背景是否透明

FillColor:内部填充颜色

FillStytle:内部填充样式

七、图形功能设计

1、坐标系

2、绘图属性

3、图形方法

八、文件

1、文件的概念

文件:指存放在外部介质上的以文件名标识的数据的集合。

写文件:计算机内存向外存文件中传递数据

读文件:将外存文件中的数据向内存传送

2、通用对话框

对话框:程序与用户进行交互的主要途径;既可以用于输入信息,也可以用来显示

(一)对话框的分类

1)预定义对话框(InputBox ,MsgBox)

2)通用对话框

3)用户自定义对话框

(二)通用对话框

1)添加通用对话框的方法

[工程]——[部件]——―Microsoft Common Dialog Control 6.0‖———“确定”

注意:通用对话框在设计状态显示,但在运行时不在显示

VB提供了一组基于Windows的标准对话框界面。我们可以利用通用对话框在窗体上创建六种标准对话框:打开(Open),另存为(Save As),颜色(Color),字体(Font),打印机(Printer)和帮助(Help)。

注意:通用对话框仅用于应用程序与用户之间进行信息交互,是输入输出的界面,不能实现上述操作。

3)基本属性和通用对话框的方法

Action:直接决定打开何种对话框

0 ---- None 无对话框显示

1 ---- Open打开文件对话框 ShowOpen

2 ---- Save As 另存为对话框 ShowSave

3 ---- Color 颜色对话框 ShowColor

4 ---- Font 字体对话框 ShowFont

5 ---- Printer 打印机对话框 ShowPrinter

6 ---- Help帮助对话框 ShowHelp

DialogTitle:对话框标题

CancleError:

(三)、“打开”对话框

基本属性

FileName:设置或返回用户所选定的文件名(包括路径名)

FileTitle:设置或返回用户所选定的文件名(不包括路径名)

Filter:确定文件列表框所显示的文件类型

FilterIndex:表示用户在文件列表框中所选定了第几组文件类型

InitDir:指定打开对话框中的初始路径

3、顺序文件及操作

将数据写入顺序文件,通常有三个步骤:打开、写入、关闭。

1)从顺序文件读数据到内存,具有相似的步骤:打开、读出和关闭。

2)打开文件

打开文件的形式:

Open “文件名” For模式As[#]文件号

模式:

Output:新建一个文件,进行写操作

Input:打开一个文件,进行读操作。

Append:打开一个文件,将在文件末尾追加记录。

3)写文件

Print #文件号,[输出列表]

Write #文件号,[输出列表]

4)关闭文件

形式:Close [#]文件号

读文件

形式:

Input #文件号,变量列表

Line Input #文件号,字符串变量

Input$(读取的字符数,#文件号)

与读文件有关的两个函数

?LOF:返回文件的字节数

?EOF:判断是否到文件尾

4、随机文件及操作

1)文件的打开

Open “文件名” For Random As #文件号

2)文件

Put [#]文件号,[记录号],变量名

3)文件

Get [#]文件号,[记录号],变量名

4)关闭文件

Close [#]文件号

5、文件系统控件

九、菜单和窗体设计

(一)菜单

1、启动菜单编辑器的方法

①工具→菜单编辑器

②Ctr+E

③工具栏上的菜单编辑器按钮

④右键弹出的快捷菜单

2、编辑菜单

1)标题(Caption):显示于窗体上的菜单标题(若输入时在菜单标题的某个字母前加&符号,则该字母成为一个热键符或者是在标题后加上(&字母);若设计的菜单要分成若干组,则需要用

分界符进行分隔,在建立菜单时,在标题框输入一个连字符“-”,,则菜单显示形成一个分隔符)。

2)名称(Name):在程序中用于标识该菜单项(名称一定不能少,分界符也要有对应的名称)。

3)索引(Index):可指定一个数字值来确定菜单项控件在控件数组中的序号。

4)快捷键:用于为菜单项命令选定快捷键

5)帮助上下文:帮助信息的上下文编号(允许指定一个ID数值,在HelpFile属性指定的帮助文件中用该数值查找适当的帮助主题)

6)协调位置(NegotiatePosition):决定是否及如何在容器窗体中显示菜单

7)复选(Checked):允许在菜单项的左边设置复选标记。(通常用来指出切换选项的开关状态)

8)有效(Enabled):此选项可决定是否让菜单项对事件做出响应(清除菜单项事件也可以使该项失效并模糊显示)

9)可见(Visiabled):设置是否将菜单项显示在菜单上

10)显示窗口列表:在MDI应用程序中,确定菜单控件是否包含一个打开的MDI子窗体列表。

11)右箭头:用来确定菜单的层次,每单击一次把选定的菜单向下移一个等级

12)左箭头:用来确定菜单的层次,每单击一次把选定的菜单向上移一个等级

13)上箭头:用来确定菜单的位置,每单击一次把选定的菜单在同级菜单内向上移动一个位置

14)下箭头:用来确定菜单的位置,每单击一次把选定的菜单在同级菜单内向下移动一个位置15)下一个:将选定移到下一行

16)插入:在列表框的当前选定行上方插入一行

17)删除:删除当前选定行

注意:只有建立了菜单数组以后,才需要使用索引。建立菜单数组是将若干个菜单项的名称命名为相同。

3、菜单控件数组

1)菜单数组是在同一菜单上共享相同名称和事件过程的菜单项集合

2)建立菜单数组的方法是对同一级菜单的各个菜单项赋予相同的名称(Name),并依次赋予索引值(0~n-1)

3)菜单数组的各元素在菜单列表框控件中必须是连续的,而且必须是同一缩进级。

4、弹出菜单

1)弹出式菜单是独立于菜单栏而显示在窗体上的浮动菜单,其不显示顶级菜单项目的标题。

2)激活弹出式菜单的方法:

Popupmenu <菜单名> 标志,x,y

(二)多重窗体

窗体的常用方法和语句有:Load(将窗体装入内存)、Unload(将窗体从内存中删除)、Show(将窗体显示出来)、Hide(隐藏窗体)

程序:

1、4个数求和、均值、偶数和

2、三角形三条边能否构成三角形

3、冒泡法10个数求最大、最小值

4、时:分:秒转秒

5、秒转时:分:秒

6、猴子吃果子(李白喝酒)

7、字符串倒置

8、大小写转换

9、水仙花数

10、根据月份和订票数打折

11、对角矩阵

12、输入一个数,找大于它的最小质数

13、Fibonacci数列(用列表框列出来)

14、统计字符串中的字母和数字个数

15、三个数求中间那个

16、最大公约数(函数)

17、菜单(字型、字号)

18、通用对话框(结合文件的读写)

19,级数求和,例如 e = 1+Σ1/i!

20,枚举法:鸡兔同笼/百元百鸡(书上有实验题)/水仙花数/...

21,判断素数(P355题目里有)

22,菲波拉契数列

23,辗转求余求最大公约数(循环递推、递归两种表达方式)

24,冒泡排序和选择排序

25,数组相关函数UBound, LBound,Array的使用

VB期末考试试题及答案

二、选择题 1、菜单控件只包括一个事件,即 C ,当用鼠标单击或键盘选中后按“回车”键时触发该事件,除分隔条以外的所有菜单控件都能识别该事件。 A、GotFocus B、Load C、Click D、KeyDown 2、滚动条控件(如图所示)的Max属性所设置的是 A 。 A、滚动框处于最右位置时,一个滚动条位置的Value属性最大设置值 B、单击滚动条和滚动箭头之间的区域时,滚动条中滚动块的最大移动量 C、单击滚动条的箭头区域时,滚动条中滚动块的最大移动量 D、滚动条控件无该属性 3、SQL 语句 Select * Form student 中的 *表示 B 。 A、所有记录 B、所有字段 C、所有表 D、都不对 4、以下选项中,不属于标签的属性是 C 。 A、Enabled B、Caption C、Default D、Font 5、要求改命令按钮显示的文本,应当在属性窗口中改变的属性是 A 。 A、Caption B、Name C、Text D、Label 6、设置一个单选按钮(OptionButton)所代表选项的选中状态,应当在属性窗口中改变的属性是 D 。 A、Caption B、Name C、Text D、Value

7、允许在菜单项的左边设置打勾标记,下面哪种论述是正确的 D 。 A、在标题项中输入&,然后打勾 B、在索引项中打勾 C、在有效项中打勾 D、在复选项中打勾 8、当执行以下过程时,在窗体上将显示 A 。 Private Sub Command1_Click( ) Print "VB"; Print "Hello! "; Print "VB" End Sub A、 VBHello!VB B、 VB Hello!VB C、 VB D、 VB Hello! VB Hello! VB 9、语句Print "The answer is:";20/4-2的结果为 B 。 A、The answer is 20/4-2 B、The answer is 3 C、The answer is "20/4-2" D、非法语句 10、下列哪个控件是容器控件 B 。 A、Image B、Picture C、ComboBox D、FileListBox 11、若要将窗体从内存中卸载出去,其实现的方法是 D 。 12、以下选项中,不是 Visual Basic控件的是 A 。 A.窗体 B.定时器 C.单选框 D.命令按钮 13、双击窗体中的对象后,Visual Basic将显示的窗口是 A 。 A.代码窗口 B.工具箱 C.项目(工程)窗口 D.属性窗口 14、可决定窗体的左上角是否有控制菜单的属性是 A 。 15、设有如下语句: Strl=InputBox("输人","","练习") 从键盘上输人字符“示例”后,Strl的值是 D 。 A.“输入” B.“” C.“练习” D.“示例” 16、窗体Form1的Name属性是Frm1,它的单击事件过程名是 C 。 A. Form1_Click C. Frm1_Click D. Me_Click 17、窗体的hide属性的含义是 A 。 A.隐藏 B.展现 C.装入 D.卸载 18、若要设置定时器控件的定时时间,需设置的属性是 C 。 A.Enabled B.Value C.Interval D.Text 19、能够改变复选框中背景颜色的属性是 C 。

VB函数大全_基本函数大全

VB函数大全_基本函数大全 Abs 函数返回数的绝对值。 And 运算符执行两个表达式的逻辑连接。 Array 函数返回含一数组的变体。 Asc 函数返回字符串首字母的ANSI 字符代码。 赋值运算符(=) 给变量或属性赋值。 Atn 函数返回数的反正切值。 调用语句将控制移交Sub 或Function 过程。 CBool 函数返回已被转换为Boolean 子类型的变体的表达式。 CByte 函数返回已被转换为字节子类型的变体的表达式。 CCur 函数返回已被转换为货币子类型的变体的表达式。 CDate 函数返回已被转换为日期子类型的变体的表达式。 CDbl 函数返回已被转换为双精度子类型的变体的表达式。 Chr 函数返回指定ANSI 字符码的字符。 CInt 函数返回已被转换为整数子类型的变体的表达式。 Class 对象提供对已创建的类的事件的访问。 Class 语句声明类名 Clear 方法清除Err 对象的所有属性设置。 CLng 函数返回已被转换为Long 子类型的变体的表达式。 颜色常数颜色常数列表。 比较常数用于比较运算的常数列表。 连接运算符(&) 强制两个表达式的字符串连接。 Const 语句声明用于字母值的常数。 Cos 函数返回角度的余弦值。 CreateObject 函数创建并返回对“自动”对象的引用。 CSng 函数返回已被转换为单精度子类型的变体的表达式。 CStr 函数返回已被转换为字符串子类型的变体的表达式。 日期和时间常数在日期和时间运算中用来定义星期几和其他常数的常数列表。日期格式常数用于日期和时间格式的常数列表。 Date 函数返回当前系统日期。 DateAdd 函数返回加上了指定的时间间隔的日期。 DateDiff 函数返回两个日期之间的间隔。 DatePart 函数返回给定日期的指定部分。 DateSerial 函数返回指定年月日的日期子类型的变体。 DateValue 函数返回日期子类型的变体。 Day 函数返回日期,取值范围为1 至31。 Description 属性返回或者设置说明某个错误的字符串。 Dictionary 对象存储数据键、项目对的对象。 Dim 语句声明变量并分配存储空间。 除法运算符(/) 两数相除并以浮点数格式返回商。 Do...Loop 语句当条件为True 或者当条件变为True 时,重复一语句块。Empty 表示尚未初始化的变量值。 Eqv 运算符使两个表达式相等。 Erase 语句重新初始化固定数组的元素并重新分配动态数组的存储空间。 Err 对象含有关于运行时错误的信息。 Eval 函数计算并返回表达式的值。 Execute 方法根据指定的字符串,执行正则表达式的搜索。 Execute 语句执行单个或更多的指定语句。 Exit 语句退出Do...Loop、For...Next、Function 或Sub 代码块。 Exp 函数返回e (自然对数的底)的多少次方。 自乘运算符(^) 指数函数,幂为自变量。 False 关键字,其值为零。

VB程序设计期末考试复习题

VB复习题 一.选择题 1.使用声明语句建立一个数值型的变量后,VB自动将该变量初始化为(B)。 A.空值 B.0 C.1 D.Null 2.使用声明语句建立一个字符型的变量后,VB自动将该变量初始化为( A )。 A.空值 B.0 C.1 D.Null 3.使用声明语句建立一个布尔型的变量后,VB自动将该变量初始化为(A )。 A.False B.0 C.1 D.True 4.关于 VB 中的运算符,以下说法正确的是()。 A.“×”是算术运算符,含义是“乘法运算” B.“≠”是关系运算符,含义是“不等于” C.“!”是逻辑运算符,含义是“非” D.“And”是逻辑运算符,含义是“与” 5.对象的三要素是()。 A.属性、事件、程序 B.属性、事件、方法 C.窗体、事件、程序 D.语句、函数、程序 6.VB中,表达式10<2 Or Not 5>2+6的值为()。 A.TRUE B.FALSE C.0 D.出错 7.VB中,表达式Mid$("南京工程学院",3,4)的结果是()。A."工程学院" B."京工程学" C."程学院" D."工程" 8.在VB中,应用程序被称为()。 A.工程 B.窗体 C.属性 D.对象 9.VB中,事件Click由()引发。 A.移动鼠标 B.左键单击鼠标 C.双击鼠标 D.右键单击鼠标 10.VB中,隐藏窗体的方法是()。 A.Unload B.Stop C.Hide D.Show 11.在Visual Basic中最基本的对象是(),它是应用程序的基石,也是其它控件的容器。 A.文本框 B.命令按钮 C.窗体 D.标签 12.VB窗体文件的扩展名为()。 A.VBP B.FRM C.BAS D.EXE

《VB程序设计》考试题型练习 答案

《VB 程序设计》考试题型练习 一. 填空 1. VB 中的对象具有 属性 、 事件 、和 方法 三种特性,它们是构成对象的三个基本要素。 2. VB 中的常量分为哪三种: 文字常量 、 符号常量(用户自定义常量) 系统内部常量 。 3. 变量的三要素是指: 变量的名 、 变量的数据类型 、 变量的值 。 4. VB 中日期型数据的表示格式为: #mm/dd/YYYY#或#mm-dd-YYYY# 。 5. 在VB 中,“\”是 整除 运算符;“/”是 浮点除 运算符。两个字符串可以使用连接符 &或+ 串接起来。 6. 2 22z y x z y x ++++的VB 表达式为 (x+y+z )/sqr(x^2+y^2+z^2) 。 7. a ac b b 242-+的VB 表达式为 (b+sqr(b^2-4*a*c))/(2*a) 。 8. 计时器控件的 Interval 属性用于设置Timer 事件发生的时间间隔,为了使计时器控件Timer1每隔0.5秒触发一次Timer 事件,应将该属性设置为 500 ;为了暂时关闭计时器,应把该计时器的 Enable 属性设置为False 。 二. 单选题 1. 如果要使VB 程序运行时不能对文本框中的内容进行编辑,需将文本框的哪个属性设置为True ( D )。 A )MultiLine B )Visible C )TabStop D )Locked 2. 表达式Right("asdf", 2)+Ucase("as" )的值为( A )。 A )dfAS B )asAS C )dfas D )asas 3. 执行如下语句: a =InputBox("Today", "Tomorrow", "Yesterday") 将显示一个输入对话框,在对话框的输入区中的默认值是( C )。 A) Today B) Tomorrow C) Yesterday D) Today Tomorrow Yesterday 4. 设a=3,b=5,则以下表达式值为真的是( B )。 A) a>=b And b>10 B) (a>b) Or (b>0) C) (a<0) Or Not (b>0) D) (-3+5>a) And (b>0)

《VB程序设计》期末考试试卷(A)附答案

******学院 2009-2010学年第二学期 《VB程序设计》期末考试试卷(A)附答案 一、选择题(2分/题,共60分) (1)要设置窗体上各控件的属性,可以在___中进行。 A“窗体布局”窗口B“工程资源管理器”窗口 C“属性”窗口D“对象”窗口 (2)下面程序段___能够正确实现目的:如果x

(5)双击窗体中的对象后,VB将显示的窗口是___。 A工具箱B“工程”窗口 C“代码”窗口D“属性”窗口 (6)下列程序段的执行结果是___。 X=int(Rnd()+4) Selectcasex Case5 Print“优秀” Case4 Print“良好” Case3 Print”通过” Caseelse Print”不通过” Endselect A优秀B良好 C通过D不通过 (7)下列哪个不是窗体的属性___。 ACaptionBText CControlBoxDBorderStyle (8)设组合框Combo1中有3个项目,则以下能删除最后一项的语句是___。 ACombo1.RemoveItemTextBCombo1.RemoveItem2 CCombo1.RemoveItem3DCombo1.RemoveItemCombo1.Listcount (9)窗体BorderStyle属性的功能是___。 A设置窗体的边框大小 B设置窗体的边框样式,是否显示标题栏,是否可以调整大小等 C决定是否显示窗体的控制菜单图标与状态控制按钮 D决定窗体的最大化或最小化按钮是否有效 (10)下列可作为VB的变量名的是___。

VB编程实例

一、导入到Xls文件并打印 Sub OnLButtonUp(ByVal Item, ByVal Flags, ByVal x, ByVal y) Dim a,fso a=HMIRuntime.Tags("fileName").Read Set fso = CreateObject("scripting.filesystemobject") If fso.FileExists("C:\Model.xls") Then Dim objExcelApp Set objExcelApp = CreateObject("Excel.Application") objExcelApp.Visible = False objExcelApp.Workbooks.Open "C:\Model.xls" objExcelApp.Cells(2, 3).Value = HMIRuntime.Tags("NewTag1_1").read objExcelApp.Cells(4, 5).Value = HMIRuntime.Tags("NewTag1_2").read objExcelApp.Cells(6, 7).Value = HMIRuntime.Tags("NewTag1_3").read objExcelApp.Cells(8, 9).Value = HMIRuntime.Tags("NewTag1_4").read objExcelApp.Cells(10, 11).Value = HMIRuntime.Tags("NewTag1_5").read objExcelApp.ActiveWorkbook.SaveAs("C:\Report\"&CStr(a)&".xls") objExcelApp.ActiveWorkbook.PrintOut

VB程序设计期末模拟试卷

《VB程序设计》期末模拟试卷 一、单项选择 (b )1.被对象所识别的动作与对象可执行的动作分别称为对象的___________。 A.方法、事件 B.事件、方法 C.事件、属性 D.过程、属性 ( c)2.下列________是Single型变量。 A.Time% B.Name$ C.Sheight! D.CXYZ& (a )3.以下四个VB的变量名中,合法的是____________。 A.X23 B.$Re C. Len

D.3xy ( d)4.在程序中使用 Dim str1,str2 As Long 语句对变量str1、str2进行声明后,下面正确的说法是________。 A. str1是整型,str2是长整型 B. str1是长整型,str2变体型 C. str1、str2都是长整型 D. str1是变体型,str2是长整型 (b )5.表达式(&O36>31) and (“A”>”B”) 的结果是 ____________。 A.True B.False C.”&O3631AB” D.&O3631 (c )6.表达式“100” + 100 和表达式“100” & 100的值分别是 ____________。 A.200、200 B.“100100”、“100100” C.200、“100100”

D.“100100”、200 (b )7.以下语句执行时,从键盘上输入Zhao,并按回车键。执行结果是________。 Dim a As String A=InputBox("Input", "", "Name") Print a A.Input B.Zhao C.Name D.空字符串 (b)8.语句Print 4 + 5 \ 6 * 7 / 8 Mod 9的运行结果是________。 A.4 B.5 C.6 D.7 ( d)9.在窗体的通用段声明变量时,不能使用__________ 关键字。 A.Dim

vb脚本

附录B.VBScript脚本函数简介 序号 内容 画面脚本全局脚本 页码 B01 运行数据库 33 3 B02 动态画面 337 B03 实时报表 337 B04 变量报警 337 B05 系统信息 339 B06 配方文件 339 B07 系统操作 3310 B08 当前时间 3311 B09 画面属性(1) 3°11 B10 线/矩形/圆形 3°13 B11 文本/变量 3°15 B12 多边形 3°16 B13 折线 3°19 B14 立体图形 3°20 B15 普通按钮 3°21 B16 圆形按钮 3°22 B17 三角按钮 3°23 B18 图标按钮 3°24 B19 定时器 3°25 B20 位图 3°25 B21 多选框 3°25 B22 单选框 3°26 B23 动画 3°26 B24 信息列表 3°26 B25 用户数据库 3327 B26 SQL命令 3329 B27 用户报表 3329 B28 流动管道 3°30 B29 子画面窗口 3°30 B30 转轮 3°31 B31 标签 3°31 B32 列表框 3°32 B33 数据库连接 3332 B34 配方操作按钮 3°32 B35 报表打印按钮 3°33

B36 报警状态按钮 3°33 B37 系统信息查询按钮 3°34 B38 报警信息查询按钮 3°34 B39 存档数据查询按钮 3°34 B40 存档曲线查询按钮 3°34 B41 用户管理 3334 B42 子窗口容器 3°35 B43 Gif图片 3°35 B44 实时曲线 3°35 B45 屏幕打印 3°36 B46 画面操作(2) 3°36 B47 行打印 3337 B48 INI文件 3338 B49 数据转换 3339 B50 数据库查询按钮 3°39 B51 串口操作 3340 B52 数据库列表 3°41 B53 报警状态列表 3°41 B54 表格控件 3°42 B55 保留 3°43 B56 数据选择 3°43 B57 选择框 3°44 B58 选择列表 °°44 B59 自定义菜单 3°44 B60 字符串 3°45 B61 时间间隔 3°46 B62 存储过程 3346 B63 曲线查询按钮 3°47 B64 窗口操作 3°48 B65 文件操作 3352 B66 文本文件 3353 B67 TCP通讯 3354 B68 UDP通讯 3355 B69 MSN信息 3°56

VB考试题及答案

VB程序设计期末考试题 一、选择题 1 下列常量中,是Integer类型常量的是( C )。 A、123& B、-38844 C、123% D、32768 2 下面选项中()是字符连接运算符. A A、& B、And C、% D、Mod 3 下面关于VB的集成开发环境(IDE)的叙述中,不正确的是( B )。 A、IDE是设计、调试、运行VB程序的工具。 B、用户不能随意关闭IDE中的窗口。 C、"窗体设计" 窗口是用来设计应用程序界面(窗体)的。 D、打开 / 关闭各窗口的命令主要在IDE的"视图"菜单中。 4 len(“vb程序设计”)=( C ) 。 A、 5 B、2 C、 6 D、10 5 表达式 15 Mod 4 + 13 \ 5 * 2 的值是 D A、7 B、0 C、2 D、4 6 赋值语句A=123 + Mid$( “123456”,3,2) 执行后,A=(A)。 A、157 B、12334 C、123 D、"12334" 7 在一个语句内写多条语句时,用来分隔每条语句的符号是(C). A、, B、; C、: D、、 8 将逻辑型数据转换成整型数据时,转换规则是( D )。 A、将True转换为 1 ,将False转换为 0 B、将True转换为 1 ,将False转换为 -1 C、将True转换为 0 ,将False转换为 -1 D、将True转换为 -1 ,将False转换为 0 9 表达式2+3*4^5-SIN(X+1)/2中最先进行的运算是(D).

A、SIN B、4^5 C、3*4 D、x+1 10 如果x=2,则表达式x+1>2 Or sin(x)>0.9 And 3>x+3的值( B )。 A、不能计算 B、 True C、5 D、False 11 随机产生[10,50] 之间整数的正确表达式是( D )。 A、Round( Rnd*50) B、 Int(Rnd*40+10) C、Round( Rnd*51) D、 10+Int(Rnd*41) 12 每建立一个窗体,工程管理器窗口中就会增加一个(C). A、类模块文件 B、工程文件 C、窗体文件 D、程序模块文件 13 INT(100*RND(1))产生的随机整数的闭区间是(B). A、[1,100] B、[0,99] C、[0,100] D、[1,99] 14 下列数据类型中,占用内存最小的是(D). A、Integer B、Single C、Boolean D、Byte 15 VisualBasic是一种()程序设计语言.B A、过程式 B、非过程式 C、机器 D、低级 16 函数Int(10*Rnd)是在(A)范围内的整数. A、[0,9] B、[0,1] C、[1,9] D、[1,10] 17 以下合法的一组Visual Basic用户标识符是 C A、Sum 和 8abc B、a#x 和 Pi C、ForLoop 和 Total D、Const 和 DoWhile

VBS脚本参考

VBS脚本参考之一——使用连字符2007年06月14日星期四下午08:35前言 这一章的前半部分介绍了VB 脚本最基本的概念,并且告诉你它可以完成的工作,尤其是VBS和其它的如WMI、ADSI 接合在一起的时候。后半部分主要介绍了VBS对系统管理员更有用的部分。 许多脚本和程序语言在向文本输入的时候并不严格的遵守文本的行。例如,尽管下面这个JS 脚本写了很多行,但是,JS 把它当做一行来处理。这是因为,在大部分的时候,JS 只有看到中止符的时候才认为使一个行的中止。在这个例子中,中止符就是“;”。在实际中敲入的行是和脚本本身不相关的。 var 作者:临汾市外事旅游局薛靖澜,转载请注明出处] objWMI =new Enumerator (GetObject("winmgmts:") . InstancesOf("Win32_process")) ; 正好相反,同样的一段代码,用VB 写的时候就会报一个语法错误。 Set objWMI = (GetObject("winmgmts:") . InstancesOf("Win32_process")) 这是因为,VBS用回车键来代替特定的中止符。为了中止一个VB脚本,你不需要来敲入一个分号或者其它的特殊的符号,你只需要敲回车键就好了。一般来讲,不用中止符的限制,使VBS 在编写的过程中变的简单,但是也有一点会有些复杂。为了增强程序的可读性,建

议每行的最大长度不超过80个字符。那么当你的一行代码中有100 个字符,怎么办呢?尽管看来好象有个很简单的解决办法,但是你不能用回车键来将一行代码分隔成很多行。例如如下的代码片断会返回一个VB 运行错误因为它用回车键来分隔脚本 strMessageToDisplay = strUserFirstName, strUserMiddleInitial, strUserLastName, strCurrentStatus Wscript.Echo strMessageToDisplay 你不能用回车建来换行,因为在VB 中它认为回车是代表一段代码的中止,在上面的代码中,它认为第一行是脚本的第一部分陈述内容。然后认为第二行是另外一部分陈述内容。这样因为strCurrentStatus 不是一个VBS的命令,所以就报错了。为了解决这个问题,VB 脚本用下划线来表示下面一行是上面一行的代替。在VB 的早期修订版本中,在第一行末尾加一个空格和一个下划线来表示第二行是第一行的继续。为更明确的表明这个意思,第二行前面要加四个空格。(这样作是为了可读,你其实不必在继续的行前作特定的标识──就是不用在第二行前加四个空格。)作者:临汾市外事旅游局薛靖澜,转载请注明出处] strMessageToDisplay = strUserFirstName, strUserMiddleInitial, strUserLastName, _ strCurrentStatus Wscript.Echo strMessageToDisplay 当继续的行又引号的时候,它就显的特别复杂。例如,架设你用下划线和空格来分隔一个WMI脚本: Set colServiceList = GetObject("winmgmts:").ExecQuery("SELECT * FROM _ Win32_Service WHERE State = 'Stopped' AND StartMode = 'Auto' ") 如果你运行这个脚本,它会弹出一个错误,因为继续换行符放在了引号中间了,这样它就认为换行符是字符串的一部分。为了分隔这个陈述: 1:在第一行用引号中止,然后插入空格和下划线 2:用and(&)符号来开始下一行,这表示第二行是第一行字符串的继续 3:在下一行开始之前加入引号这些引号表示这些陈述是包涵在上面的一行中的,没有了引号,它就VB就解释Win32_Service 是VB 的陈述语句,因为这个语句不是合法的,所以就产生了错误。修正的版本如下: Set colServiceList = GetObject("winmgmts:").ExecQuery("SELECT * FROM " _

VB程序设计期末试卷

《VB程序设计》期末试卷 一、判断题(每题1分,共10分) ()1、设置属性的语句格式为:“对象名.属性名=属性值”。 ()2、在窗体或模块文件中声明为Private的过程,只能被本窗体或模块中的过程所调用。()3、VB的赋值语句只能给变量赋值。 ()4、在VB中,字符型常量应使用"#"号将其括起来。 ()5、窗体大小只能通过鼠标拖动窗体边框来设置。 ()6、VB的Double类型数据,可以精确表示其数值范围内的所有实数。 ()7、若用户在键盘上按下一个键,则会产生一个Click事件。 ()8、罗马数制是进位计数制。 ()9、事件过程可以由用户事件触发执行,也可以由其他过程所调用。 ()10、Do While条件.....Loop和DO Until Not条件.....Loop 两条循环语句,实现循环控制是等效的。 二、单项选择题。(每小题2分,共50分) ()1.设a=“Visual Basic”,下面使b=“Visual”的语句是 A. b=Left(a,6) B. b=Mid(a,1) C. b=Rigth(a,5,5) D. b=Left(a,1,6) ()2.在立即窗口中执行?9>=9,输出结果是 A.0 B.True C.False D. -1 ()3.语句Dim var1 As Boolean作用是:将var1定义为什么类型变量 A.单精度型 B. 整型 C. 布尔型 D.字符型 ()4.Int(—0.618*10)/10的值是 A.—0.7 B.—0.6 C. —1 D. —0.1 ()5.表达式2 + 8 * 6 / 4 Mod 2的值是 A.5 B.2 C.6 D.9 ()6.在VB中快捷键F4打开哪个窗口? A. 资源管理器窗口 B. 属性窗口 C. 代码窗口 D. 立即窗口 ()7.函数Int( 64 * RND() )的值是在哪个范围内的整数? A. [0,63] B. [0,64] C. [1,63] D. [1,64] ()8.下列叙述中正确的是 A. 只有窗体才是Visual Basic中的对象 B. 只有控件才是Visual Basic中的对象 C. 窗体和控件都是Visual Basic中的对象 D. 窗体和控件都不是Visual Basic中的对象 ()9.用于Visual Basic程序设计的控件在 A. 工具箱中 B.工具菜单中 C. 工程窗口中 D.工具栏上 ()10.Visual Basic程序中表示续行的字符是 A. : B. _ C. \ D. ’ ()11.决定按钮显示内容的属性是 A. Text https://www.wendangku.net/doc/d84183744.html, C. Caption D.BackStyle ()12.下列可以把图形文件c:\地鼠1.jpg装入窗体FORM1中的语句为 A. Form1.Picture= LoadPicture("c:\ 地鼠1.jpg") B. Form1.Handle = " c:\ 地鼠1 .jpg" C. Form1 = LoadPicture("c:\ 地鼠1.jpg") D. Form1 = " c:\ 地鼠1.jpg" ()13.设a、b、c为整型变量,执行以下程序后a、b、c的值是 a=1:b=2:c=3 a=b:b=c:c=a A.2 3 1 B.2 3 2 C.3 2 1 D.1 3 2 ()14.将数学表达式2 2* 5 ) ( cos e b a+ +写成Visual Basic的表达式,其正确的形式是 A.Cos (a+b) ^2+5*exp(2) B.Cos^2(a+b)+ 5*exp(2) C.Cos (a+b) ^2+5*ln(2) D.Cos^2(a+b)+ 5*ln(2) ()15.下列描述图片框和图像框区别,那条是错误的 A.图像框中显示图片一般用作背景 B.图片框有拉伸属性

VB操作wincc脚本心得

Vbs 操作wincc画面脚本总结 一:不使用变量单纯的操作界面 1.操作某个画面中控件的属性如Home1.Pdl(总窗体)下的画面窗口2(画面窗口) Sub OnClick(ByVal Item) Dim objCircle Dim screenname Dim pwname Set objCircle= ScreenItems("圆1" ) objCircle.Radius = 60 Set screenname=HMIRuntime.Screens("Home1") //获取要操作的窗体 Set pwname=screenname.ScreenItems("画面窗口2") //获取要操作的控件,这里填入你要操作的控件名 MsgBox(objCircle.Radius) //输出圆的半径 MsgBox (pwname.Picturename) //输出当前画面窗口2的名字 End Sub 注意当调用某窗体下的某控件的某个属性时,需要声明两个对象,一个接纳这个控件,一个接纳值例如 Dim object Dim value Set object =HMIRuntime.Screens("Home1").ScreenItems("画面窗口2") Set value=object.picturename 2.更改画面窗口的对象 Sub OnClick(Byval Item) Dim opObject Set opObject=HMIRuntime.Screens ("Home1").ScreenItems("画面窗口2") opObject.PictureName="Page1.Pdl" End Sub 3.设置文本 Set titleTxt=HMIRuntime.Screens ("Home1").ScreenItems("静态文本2") titleTxt.Text =titleTxt.Text+"EF" //获取文本的值并追加字符 4.vb 字符串函数 VB的字符串截取函数有Left(字符串,n),返回字符串前N个字符;Mid(字符串,p,n),从第p个字符开始,向后截取N个字符;right(字符串,n),返回字符串的最后n个字符。 获取下标

VB程序设计_期末复习资料2.doc

Visual Basic程序设计期末综合练习 2008年11月 一、单项选择题 1.一个VB应用程序可以包含几个vbp文件(A.1个)。 2.启动VB后,就意味着要建立一个新( C.工程)。 3.后缀为.bas的文件表示(D.标准类模块文件)。 4.当一个工程中含有多个窗体时,其中的启动窗体是( D.在“工程属性”对话框中指定的窗体)。 5.在文本框控件中将Text的内容全部显示为所定义的字符的属性是(B.PasswordChar )。 A.Password B.PasswordChar C.需要编程来实现D.以上都不是 6.Visual Basic是一种面向对象的程序设计语言,所采用的编程机制是(C.事件驱动)。 A.从主程序开始执行B.按过程顺序执行 C.事件驱动D.按模块顺序执行 7.下列四项中合法的变量名是(B.a_bc )。 A.a-bc B.a_bc C.4abc D.integer 8.将调试通过的工程经“文件”菜单的“生成.exe文件”编译成.exe后,将该可执行文件拿到其它机器上不能运行的主要原因是(C.运行的机器上无VB系统)。 A.缺少.frm窗体文件B.该可执行文件有病毒 C.运行的机器上无VB系统D.以上原因都不对 9.无论何种控件,共同具有的属性是(B.Name) A.Text B.Name C.Caption D.ForeColor 10.有程序代码如下: Text1.Text = "Visual Basic程序设计" 则Text1,Text ,和"Visual Basic程序设计"分别代表(C.对象,属性,值)。 A.对象,值,属性B.对象,方法,属性 C.对象,属性,值D.属性,对象,值 11.如果仅需要得到当前系统时间,使用的函数是(B.Time ) A.Now B.Time C.Year D.Date 12.表达式16/4-2^5*8/4MOD5\2(D.4 )。 A.20 B.14 C.2 D.4 13.以下叙述中错误的是(D、在一个窗体文件中用Private定义的通用过程能被其它窗体调用)。 A、一个工程中可以包含多个窗体文件

大学VB期末考试试题

VB期末考试试题A卷 一、填空题 1、VB程序设计的主要特点是(1)和(2)。 2、在VB中,最主要的两种对象是(3)和(4)。 3、工程是构成应用程序文件的(5)。 4、方法是VB提供的一种(6),用来完成一定的操作。 5、浮点类型数据包括单精度型和___(7)__数据。 6、事件是窗体或控件对象识别的___(8)____。 7、可用窗体的___(9)_ 方法在窗体中显示文字。 8、复选框控件Value属性指示复选框处于____(10)___或禁止状态(暗淡的)中的某一种。 9、在VB中,修改窗体的(11)和(12)属性值,可改变窗体的大小。 10、双击工具箱中的控件图标,可在窗体的(13)出现一个尺寸为缺省值的控件。 11、在MsgBox函数中,如果缺省title参数,则使用(14)作为消息框的标题。 12、设x=34.58,语句Print Format(x,“000.0”)的输出结果是(15)。 13、在VB 中,数值型变量的初值为(16),Varant型变量的初值为(17),布尔型变量的初值为(18)。 14、设置窗体的(19)属性,可在窗体上显示图片。 15、程序运行工程中,清除MP图片框中的图片应使用语句(20)。 二、选择题 1、菜单控件只包括一个事件,即(1),当用鼠标单击或键盘选中后按“回车”键时触发该事件,除分隔条以外的所有菜单控件都能识别该事件。 A、GotFocus B、Load C、Click D、KeyDown 2、滚动条控件(如图所示)的Max属性所设置的是(2)。 A、滚动框处于最右位置时,一个滚动条位置的Value属性最大设置值 B、单击滚动条和滚动箭头之间的区域时,滚动条中滚动块的最大移动量 C、单击滚动条的箭头区域时,滚动条中滚动块的最大移动量 D、滚动条控件无该属性 3、SQL 语句 Select * Form student 中的 *表示(3)。 A、所有记录 B、所有字段 C、所有表 D、都不对 4、以下选项中,不属于标签的属性是(4)。 A、Enabled B、Caption C、Default D、Font 5、要求改命令按钮显示的文本,应当在属性窗口中改变的属性是(5)。

VB程序设计编程考试~题及答案~

VB程序设计编程考试题及答案 1.输入3个数,输出最大的数 Private Sub command1_click() Dim max For i = 1 To 3 n = Val(InputBox("输入第" & i & "个数")) If n > max Then max = n End If Next Print "三个数中最大的数是" ; max End Sub 2.有一元二次方程:aX2+bX+c=0,依次输入a,b,c,判断此方程是否有实根 Private Sub Command1_Click() Dim a, b, c, n a = Text1 b = Text2 c = Text3 n = b * b - 4 * a * c If n >= 0 Then Label4 = "方程有根" Else Label4 = "方程无根" End If End Sub 3.输入一个百分制的成绩,若大于等于60,则用消息框弹出,显示“恭喜!成绩通过!”, 若小于60,则弹出消息框,显示“抱歉!成绩没有通过! Private Sub Form_Load() Text1 = "" End Sub Private Sub Command1_Click() Dim n n = Text1 If n > =60 Then Val (MsgBox("恭喜!成绩通过!")) Else Val (MsgBox("抱歉!成绩没有通过!")) End If End Sub 4.输入一年份,判断它是否为闰年,并显示有关信息。(判断闰年的条件是:年份能被4整 除但不能被100整除,或者能被400整除) Private Sub Command1_Click() Dim y%

VB脚本处理字符串注意事项

在处理脚本中的字符串时应该注意什么?
组态注意事项: 下面说明了关于在 C 脚本中处理字符串时最重要的问题。必须考虑性能和稳定性因素。在不一致时,内存区可能被覆写,从而使系统 锁死 。 最坏的情况出现在字符指针。如果指针设计不当,内存区可能被覆写。下面是有关错误和正确组态的四个样例。
No. 描述: 1
没有预留内存区: char *a; a=GetTagChar("Tag name");
strcat(a,"xyz"); //有一个连接到文本的指针“a” //没有预留内存区
?
正确: 通过查询有效的指针将字符串正确复制到预定义的缓冲器中(来自描述 WinCC 信息系统的样例): char* pszValue = NULL; char szValue[101]; pszValue = GetTagChar("Varname"); //读标签值并将其缓存到 pszValue。
/*如果返回一个有效值, 将该函数返回值存入局部字符串 szValue 中。 最多保存 100 个字符。*/ if(pszValue !=NULL) //!=NULL 是必须执行的检查 //以便保证没有 NULL 指针提交 { strncpy(szValue,pszValue,100); ... } else { printf("Pointer invalid\r\n"); //使用了无效值} }
?
2 没有预留足够的内存区: 通常,由于预留的内存区太小导致内存被覆写。在这些情况下,通常在 C 中进行字符串处理时,文本结尾的一个附加字符必须始 终被保留。也就是说,必须要比被处理的文本长度多预留出一个字符。
?
错误: char a[4]; strcpy(a,"1234"); //总是有 4 个字符被复制到一个 4 字符的数组中; // 错误:文本的结尾字符被遗漏
?
正确: char a[5];

VB期末考试试卷及答案.doc

VB 期末考试试卷及答案 一·选择题 1.Visual Basic是一种面向对象的程序设计语言,构成对象的三要素是( B ) A 属性、控件和方法 B 属性、事件和方法 C 窗体、控件和过程 D 控件、过程和模块 2.所有控件都有一个共同的属性,这个属性是( C ) A text B font C name D caption 3.下列叙述中错误的是( A ) A工程文件扩展名是 .vbgB 标准模块文件的扩展名是 .basC窗体模块的扩展 名是 .frmD 类模块的扩展名是 .cls 4.当要编写一个新的 Visual Basic程序时,所做的第一件事是( A )A xx 一个工程 B 编写代码 C 设置属性 D 添加 Active X控件 5.下面控件中,没有caption 属性的是( B ) A框架B组合框 C 命令按钮 D 复选按钮 6.在文件框中输入字符时,若只显示某个字符,如(* ),应设置属性是(B)A MultiLine B PasswordChar C Text D selText 7.若要将窗体从内存中卸载出去,其实现的方法是( D ) A Show B Hide

C Load D UnLoad 8.下列关于过程叙述不正确的是( D ) A过程的传值调用是将实参的具体值传值传递给形参 B过程的传址调用是将实参在内存的地址传递给形参 C过程的传值调用参数是单向传递的,过程的传址调用参数是双向传递的 D无论过程传值调用还是传地址调用,参数传递都是双向的 9.某人创建 1 个工程,其中的窗体名为Form1,之后又添加了 1 个名为Form2 的窗体,并希望程序执行时先显示Form2 窗体,那么,他需要做的工作 是( C )A 在 Form1 的 Load 事件过程中加入语句Load Form2 B 在 Form2 的 Load 事件过程中加入语句Form2.Show C在“过程属性”对话框中把“启动对象”设置为 Form2 D在 Form2 的 TabIndex 属性设置为 1,把 Form1 的 TabIndex属性设置为 2 10.以下关于文件的叙述中,正确的是( B ) A 以 Output 方式打开一个不存在的文件时,系统将显示出错信息 B 以Append 方式打开的文件,既可以进行读操作,也可以进行写操作 C 在随机文件在,每个记录的长度是固定的 D无论是顺序文件还是随机文件,其打开的语句和打开的方式都是完全相 同的 11.设 a=6,b=8,c=10则函数 IIf(a

相关文档