一:基础知识对象的有关概念l1. 对象Object:VB中常用的对象有:窗体、控件等。
2. 对象的三要素(1)属性Property:用来描述和反映对象外部特征的参数。
(2)方法Method:允许其他对象与之交互的方式,表明一个对象所具有的能力。
(3)事件Event:响应对象的动作称为事件,它发生在用户与应用程序交互时。
如单击控件、鼠标移动、键盘按下等。
事件驱动Event Driven:VB为窗体和大多数控件都规定了一组事件,当应用程序被启动后,VB随时准备捕获各种事件。
一旦发生了某个事件,VB就会执行与该事件相联系的事件过程;执行完后,VB等待下一个事件的发生。
VB程序的执行步骤如下:l(1)启动应用程序,装载和显示窗体;(2)窗体(或窗体上的控件)等待事件的发生;(3)事件发生时,执行对应的事件过程;(4)重复执行步骤(2)和(3);(5)直到遇到END结束语句结束程序的运行;或按“结束”强行停止程序的运行。
VB集成开发环境l1. 主窗口应用程序窗口,由标题栏、菜单栏和工具栏组成。
2. 窗体(form)窗口设计VB程序的界面。
3. 代码(code)窗口编辑窗体、标准模块中的代码。
4. 属性(properties)窗口所有窗体或控件的属性设置。
5. 工程资源管理器(project expror)窗口保存一个应用程序所有的文件。
6. 工具箱(toolbox)窗口显示各种控件的制作工具,供用户在窗体上设计建立VB程序的步骤l1. 建立用户界面的对象,并设置对象属性;2. 对象事件过程及编程;3. 程序运行和调试;4. 保存文件:窗体frm格式和vb工程vbp格式VB 编码基础l1. VB代码不区分字母的大小写系统保留字自动转换每个单词的首字母大写;用户自定义行以第一次为准。
2. 语句书写自由一行可书写几句语句,之间用冒号分隔;一句语句可分若干行书写,用续行符_(空格+下画线)连接一行<=255个字符。
3. 注释有利于程序的维护和调试Rem开始或单撇号'4. 保留行号与标号数据类型l常量在程序运行过程中,其值不能被改变的量称为常量。
1.整型常量(1)整型(Integer):表示-32768至32767之间的整数例如:10 110 20(2)长整型(Long):表示-2,147,483,648至2,147,483,647之间的整数例如:长整型常数的书写:23&通常我们说的整型常量指的是十进制整数,但VB中可以使用八进制和十六进制形式的整型常数,因此整型常数有如下三种形式:1)十进制整数。
如125,0,-89。
202)八进制整数。
以&或&O(字母O)开头的整数是八进制整数,如&O25表示八进制整数25,即(25)8 ,等于十进制数21。
3)十六进制。
以&H开头的整数是十六进制整数,如&H25表示十六进制整数25,即(25)16 ,等于十进制数37。
VB中的颜色数据常常用十六进制整数表示。
2、实数1)单精度实型(Single):有效数为7位表示-3.37E+38至3.37E+38之间的实数2)双精度实型(Double):有效数为15位常量的表示:1)十进制小数形式。
它是由正负号(+,-)、数字(0~9)和小数点(.)或类型符号(!、#)组成,即±n.n,±n!或±n#,其中n是0~9的数字。
例如0.123、.123、123.0、123!、123#等都是十进制小数形式。
2)指数形式。
±nE±m 或±n.nE±m, ±nD±m 或±n.nD±m例:1.25E+3 和1.25D+3相当于1250.0 或者1.25×103。
3、字符串常量在VB中字符串常量是用双引号“"”括起的一串字符,例如"ABC","abcdefg","123","0","VB程序设计"等。
说明:(1)字符串中的字符可以是所有西文字符和汉字、标点符号等;(2)""表示空字符串,而" "表示有一个空格的字符串;算术运算符>字符运算符>关系运算符>逻辑运算说明:1.当一个表达式中出现多种运算符时,首先进行算术运算符,接着处理字符串连接运算符,然后处理比较运算符,最后处理逻辑运算符,在各类运算中再按照相应的优先次序进行。
2.可以用括号改变优先顺序,强令表达式的某些部分优先运行。
括号内的运算总是优先于括号外的运算。
对于多重括号,总是由内到外。
3. 表达式的书写中需注意的问题(1)运算符不能相邻。
例a+-b是错误的。
(2)乘号不能省略。
例x 乘以y 应写成:x*y(3)括号必须成对出现,均使用圆括号。
(4)表达式从左到右在同一基准并排书写,不能出现上下标(5)要注意各种运算符的优先级别,为保持运算顺序,在写VB表达式时需要适当添加括号(),若用到库函数必须按库函要求书写。
4. 不同数据类型的转换运算结果的数据类型向精度高的数据类型靠。
Integer<Long<Single<Double<Currency常用内部函数1、数学函数常用的数学函数Abs(N) Cos(N) Sin(N) Exp(N)Log(N) Sqr(N) Rnd[(N)] Sgn(N)说明:(1)在三角函数中的自变量是以弧度为单位。
如:sin300 sin(3.14159/180*30)(2) Rnd函数返回0 ~ 1(包括0和不包括1)之间的双精度随机数。
若要产生1-100的随机整数:Int(Rnd *100)+1提问:怎样产生[N,M]区间的随机数?Int ( ( M - N + 1 ) * Rnd + N )2、转换函数常用的转换函数见表3-9所示说明:(1)要区别两个取整函数int()和fix()Fix(N)为截断取整,即去掉小数后的数。
Int(N)不大于N的最大整数。
N>0与int(N) 相同,当N<0时,int(N) 与fix(N) -1相等。
例如:Fix(9.59) =9, Int(9.59) =9Fix(-9.59) =-9, Int(-9.59) =-10思考:如何实现四舍五入取整?(2)Asc("Abcd") 值为:65 (只取首字母的Ascii值)(3)Val("abc123") 值为:0, Val("1.2sa10") 值为1.2注意:Val( )函数只将最前面的数字字符转换为数值常用方法方法是面向对象的,故使用的形式为:[对象.]方法Print方法形式:[对象.]Print[{Spc(n)|Tab(n)}][表达式列表][;|,]作用:在对象上输出信息对象:窗体、图形框或打印机(Printer) ,省略对象在窗体上输出。
Spc(n)函数:插入n个空格,允许重复使用。
Tab(n)函数:左端开始右移动n列,允许重复使用。
;(分号):光标定位上一个显示的字符后。
,(逗号):光标定位在下一个打印区的开始位置处。
无;,时换行。
开始打印的位置缺省为打印对象的左上角0,0。
注意:Print方法在Form _Load事件过程中起作用,必须设置窗体的AutoRedraw为True。
二:程序结构•顺序结构VB程序设计采用结构化程序设计的思想。
在VB中有3种基本的程序流程结构:顺序结构、选择结构和循环结构。
所有的程序都可以看成是这三种结构或三种结构的组合。
★顺序结构所谓顺序结构,就是在程序运行过程中,按照语句的顺序逐条执行。
顺序结构中主要的语句是赋值语句、输入输出语句及End语句等。
赋值语句赋值语句是最基本的语句之一,通过赋值语句,可以在程序中改变变量的值,或改变对象属性值。
其语法格式为:•变量名= 表达式•对象.属性= 表达式例如:A = Text1.TextB = 0Text1.Text = Text1.Text + Command1.CaptionA = 2 = 3 '结果为false(表达式2=3的值)sb = Round(Sqr(delt) / (2 * a), 7)•选择结构1. If…Then语句(单分支结构)If <表达式> Then语句块End If或If <表达式> Then <语句>例:已知两个数x和y,比较它们的大小,将大的数存在x中If x<y Thent=xx=yy=tEnd If或If x<y Then t=x: x=y: y=t例题:求一元二次方程的根。
y=ax^2+bx+c 的形式的一元二次方程,输入a,b,c的值,的到方程的根Dim a As SingleDim b As SingleDim c As SingleDim x1 As SingleDim x2 As SinglePrivate Sub Command1_Click()a = Val(Text1.Text)b = Val(Text2.Text)c = Val(Text3.Text)If b * b - 4 * a * c > 0 Thenx1 = (-b + Sqr(b * b - 4 * a * c)) / (2 * a)x2 = (-b - Sqr(b * b - 4 * a * c)) / (2 * a)Label4.Caption = "方程有两实根,分别为:" + Str(x1) + Str(x2) ElseIf b * b - 4 * a * c = 0 Thenx2 = (-b) / (2 * a)Label4.Caption = "方程有一根,为:" + Str(x2)ElseLabel4.Caption = "方程没有实根"End IfEnd Sub•循环结构循环结构语句1.For 循环FOR循环一般格式:For 循环变量=初值to 终值step 步长语句组(也被叫做循环体)next 循环变量例题:累加器s=1+3+5+7+9+…+19s=0for i=1 to 20 step 2s=s+inext iprint s答案:100注意1:初值和终值即可是整数,也可是小数s=0for i=1.2 to 4.9 step 0.2s=s+1next iprint s答案:19注意2:步长=1时,可省略不写;步长值不能为0例题:累乘器:s=1for i=1 to 5s=s*inext iprint s答案:120注意3:初值和终值大小s=1for i=5 to 1 step 2s=s*inext iprint s答案:1(因为循环条件不满足,循环语句没执行)将步长改为-2,答案为______练习:求1到100的和。