《最新VB基础知识.doc》由会员分享,可在线阅读,更多相关《最新VB基础知识.doc(48页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、Four short words sum up what has lifted most successful individuals above the crowd: a little bit more.-author-dateVB基础知识常用属性复 习一、VB的数据类型Boolean(布尔型): 类型说明符:Boolean,占用2字节Byte(字节): 类型说明符:Byte占用1字节.Integer(整型):类型说明符:Integer,类型标识%,占用2字节.Long(长整型): 类型说明符:Long,类型标识&,占用4字节.Single(单精度型): 类型说明符:Single,类型标识!
2、,占用4字节.Double(双精度型): 类型说明符:Double,类型标识#,占用8字节.Currency(货币型): 类型说明符:Currency,类型标识,占用8字节.Date(日期型): 类型说明符:Date ,占用8字节.String(字符串,变长): 类型说明符:String,类型标识$二、VB的运算符赋值运算符:用来给变量或对象的属性赋值.把运算符右边的内容(包括常量,变量,函数返回值或对象的属性)赋给左边的变量或对象.属性.使用赋值号应注意:1赋值号左边必须是变量或对象的属性,不能是数值,常量和表达式.2赋值号两端的数据类型应该匹配,不匹配时应进行适当转换.3给对象赋值时,只有
3、运行时可改写的对象属性才能被赋值.数学运算符 指数运算- 负号运算符* / 乘除运算,其中除法所得到的结果为实数 整除,所得到结果为实际结果的整数部分.MOD 取模运算,两数相除取余数.+- 加减运算.字符串运算符& + 连接字符.&与+连接运算符的区别&强制两个表达式(它们的类型可能不同)做字符串连接;而当+运算符两边的表达式中混有数值字符串及数值,其结果会是数值的求和,如果都是字符串则作相加,返回连接起来的字符串.关系运算符运算符含义示例结果=等于ABCDE=ABRFalse大于ABCDEABRFalse=大于等于bc=BCTrue小于233False=小于等于23=3True不等于abc
4、ABCTrue逻辑运算符运算符含义优先级说明示例结果Not取反1当操作数为假时,结果为真Not FNot TTFAnd与2两个操作数均为真时,结果才为真T And TF And FT And FF And TTFFFOr或3两个操作数中有一个为真时,结果为真T Or TF Or FT Or FF Or TTFTT三、VB语句与控制VB赋值语句用来对一般的变量进行赋值的赋值语句,用关键字LET描述,但一般都省略.格式:let变量或属性=表达式VB注释语句引入目的:为程序的阅读和修改提供信息,提高程序的可读性和可维护性.注释方法有两种:或REM关键字.条件分支IF语句第一种格式:if条件then语
5、句endif如果条件为true,则执行语句,否则执行endif后面语句.第二种格式:if条件then语句else语句endifIF语句的第三种格式If条件1then语句1elseif条件2then语句2else语句3endif如果条件1为true,则执行语句1,如果为false,则检查条件2,如果条件2为true,则执行语句2,如果条件2为false,则执行语句3.多重选择语句selectcase语句格式:selectcase测试表达式case条件1语句1caseelse语句endselectVB将测试表达式的值与此同时结构中的每个case的值进行比较,如果相等,就执行与该case相关的程序段
6、,如果都不等,则执行caseelse所对应的程序段.循环语句:DoLoop语句第一种格式:DoWhile条件式程序段Loop当条件为true时,循环继续,直到条件变为False为止.第二种格式:DoUntil条件式程序段Loop当条件为False时,循环继续,直到条件变为true为止.第三种格式: Do程序段LoopWhile条件式当条件式为true时,循环继续进行,直到条件式变为false为止.第三种格式: Do程序段LoopUntil条件式当条件式为时false,循环继续进行,直到条件式变为true为止ForNext语句语法规则:For循环控制变量=初值To终值step增量语句next循环
7、控制变量四、VB函数VB的数学函数函数名功能Abs求绝对值Atn反正切函数Cos余弦函数Exp求指数Fix取整数,对负数取较大的Int取整数,对负数取较小的Log求对数Rnd产生一个01间的随机数Sgn求数字符号Sin正弦函数Sqr求平方根Tan正切函数VB日期和时间函数 函数名功能Date取得系统当前日期Time取得系统当前时间Now取得系统当前日期和时间Year返回指定日期中的年份Month返回指定日期中的月份(1-12)Day返回指定日期中天(1-31)Weekday返回指定日期为星期几Hour返回指定时间量中的小时Minute返回指定时间量中的分钟Second返回指定时间量中的秒Dat
8、eSerial返回指定年月日的日期TimeSerial返回指定小时分秒的时间DateValue将字符串表示的日期转化为Variant日期TimeValue将字符串表示的时间转化为Variant时间DateAdd返回指定日期加上一定时间间隔后的日期DateDiff返回两个日期的时间间隔DatePart返回指定日期的特定部分字符串函数函数名功能Len求字符串长度Mid取给定字符串的子串Left从字符串的左边取指定长度的子串Right从字符串的右边取指定长度的子串Ltrim去掉字符串的前导空格Rtrim去掉字符串的尾随空格Trim去掉字符串的前导和尾随空格五、对象的常用属性(例)Alignment
9、设置或返回控件的文本对齐方式AutoSize 返回或设置控件是否自动改变大小以显示其全部内容BackColor 返回或设置对象的背景颜色。ForeColor 返回或设置在对象里显示图片和文本的前景颜色。BackStyle 返回或设置控件的背景是透明的还是非透明的。BorderStyle 返回或设置对象的边框样式Caption 指定显示在窗体标题栏中的文本或指定显示在控件中的文本。Enabled 返回或设置对象是否能够对用户产生的事件作出反应。Font 返回或设置对象可用的所有字体、字形、字号Height 返回或设置对象的高度Width 返回或设置对象的宽度Left 返回或设置对象内部的左边与它
10、的容器的左边之间的距离。Top 返回或设置对象的内顶部和它的容器的顶边之间的距离。Visible 返回或设置一指示对象为可见或隐藏的值。Locked 设置为ture时,文本不能被编辑,也不能被复制粘贴。MultiLine 返回或设置TextBox 控件是否能够接受和显示多行文本。ScrollBars TextBox 控件的属性MultiLine为真时,可为文本框控件设置水平、垂直滚动条。Style 命令按钮的该赂性值为1时 ,可修改该命令按钮的背景颜色。Text 返回或设置文本框控件中包含的文本。Name 返回或设置字体对象的名字。六、几种基本算法解析法 ( P98)通过分析问题中各要素之间的
11、关系,用最简练的语言或形式化的符号来表达它们的关系,得出解决问题所需的表达式,然后设计程序求解问题的方法称为解析法(参看P100“电阻计算问题”)。穷举法(P103)“穷举法”也称为“枚举法”或“列举法”。 穷举法,指在一个有穷的可能的解的集合中,一一列举出集合中的每一个元素,用题目给定的检验条件来判断该元素是否符合条件,若满足条件,则该元素即为问题的一个解;否则,该元素就不是该问题的解(参看P103的IQ问题)。顺序查找(P117)当查找的对象没有规律时可用顺序查找方法。顺序查找就是一个一个地按照对象的元素往下查找,直到全部元素都查了一遍。所谓顺序查找,就是从数据序列中的第1个元素开始,从头
12、到尾逐个查找,直到找到所要的数据或搜索完整个数据序列。这种顺序查找的代码很简单,只需编写一个循环,将数组中各元素依次与目标数进行比较即可(参看下面例题)。随机生成10个数(在1到100之间的整数)并输出;再输出其中的最大数及位置号(顺序查找)。Private Sub Command1_Click()Dim a(1 To 10) As Integer, i As Integer, Max As Integer, mIndex As IntegerMax = 0Randomize 每次运行时,要产生不同序列的随机数,执行Randomize 语句。Cls 清除窗体中用PRINT等方法输出的内容。Pr
13、intFor i = 1 To 10 本段循环程序随机产生10个1到100之间的整数并显示出来,同时还按顺序找出其中的最大数。a(i) = Int(Rnd * 100) + 1 利用取整函数Int()、随机函数Rnd(),可让计算机产生一定范围的随机整数,公式为:Int(Rnd()*(上限 - 下限 + 1 ) )+下限。Print a(i); 按紧凑格式输出所产生的随机数。If Max = a(j) Then m = a(j): a(j) = a(i): a(i) = m 数据交换 End If Next j Next iFor i = 1 To 100Print a(i); ;If i M
14、od 10 = 0 Then PrintNext ix = Val(InputBox(请输入要查找的1-100的数) 输入要查找的数Do While x 100 Or x = L 用do while 循环命令判断查找条件mid = (H + L) 2If a(mid) = x Then t = 1Else If x a(mid) Then H = mid - 1Else L = mid + 1 End IfEnd IfLoop结果输出If H L ThenPrint 没有找到您要查找的数ElsePrint 你要查找的数是a(; mid; ), a(mid)End IfEnd Sub选择排序(P
15、125)选择排序法是一个很简单的算法。其原理是首先找到数据清单中的最小(或最大)的数据,然后将这个数据同第一个数据交换位置(进行第一轮挑选);接下来在余下的数据中找第二小(或第二大)的数据(进行第二轮挑选),再将其同第二个数据交换位置,以此类推(参看下面例题)。例:将五个数5、4、1、3、2按顺序进行排序。Private Sub Command1_Click()Dim a(5) As IntegerDim min As Integer, w As Integer, m As Integera(1) = 5: a(2) = 4: a(3) = 1: a(4) = 3: a(5) = 2 将已知数
16、据赋值给数组元素Print 排序前的数据:For i = 1 To 5 本程序段输出排序前的数据。Print a(i),Next iPrintPrintFor i = 1 To 4 本程序段按选择排序法进行排序。外循环负责将第I轮选择到的最小数与第I个位置的数据对调。min = a(i): w = i 变量min存放找到的较小数,变量w存放较小数的位置。For j = i + 1 To 5 内循环程序段负责在第I轮中挑选最小数。If a(j) 1 And d(i - 1) ad(i) = d(i - 1)i = i - 1Loopd(i) = aText2.Text = For j = 1 T
17、o i - 1Text2.Text = Text2.Text & Str(d(j) & Next jText2.Text = Text2.Text & ( & Str(d(j) & )For j = i + 1 To kText2.Text = Text2.Text & Str(d(j) & Next jText1.Text = Text1.SetFocusEnd Sub递归算法(P133): 在函数或子过程的内部,直接或者间接地调用自己的算法(参看下面例题)。例:用递归函数实现计算N!的求解。代码如下: Private Sub Form_Click() Dim N As Integer, F
18、 As Long N = InputBox(输入一个正整数:) F = Fact(N) 函数调用 Print N; !=; FEnd SubPrivate Function Fact(ByVal N As Integer) As Long If N = 1 Then Fact = 1 Else Fact = N * Fact(N - 1) 函数递归调用 End IfEnd Function以计算3!为例,递归函数Fact的调用和返回过程如图1所示。调用阶段:N=3,条件N=1不成立,则调用Fact(2),计算N*Fact(2)=3* Fact(2)N=2,条件N=1不成立,则调用Fact(1),计算N*Fact(1)=2* Fact(1)N=1,条件N=1成立,Fact(1)返回值为1,即Fact(1)=1,计算N*Fact(1)=1* Fact(1)返回阶段:返回到Fact(2), 执行结果为N* Fact(1)=2*1=2返回到Fact(3), 执行结果为3* Fact(2)=3*2=6 图1 递归函数Fact的调用-