




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、计算机技术基础计算机技术基础(VB) 程序设计语言程序设计语言(VB)1 1本章目录本章目录1 1课后习题讲解课后习题讲解 输入一个字符串输入一个字符串,反序输出。,反序输出。 Private Sub Command1_Click() s = Text1 For i = Len(s) To 1 Step -1 y = y + Mid(s, i, 1) Next i Print y End Sub Private Sub Command2_Click() s = InputBox(输入一个字符串输入一个字符串) For i = Len(s) To 1 Step -1 Print Mid(s, i
2、, 1); Next i End Sub计算机技术基础计算机技术基础(VB) 程序设计语言程序设计语言(VB)2 2本章目录本章目录2 2第第5 5章章 数组和自定义类型数组和自定义类型 5.1 5.1 数组数组5.2 5.2 数组的基本操作数组的基本操作5.3 5.3 列表框和组合框控件列表框和组合框控件5.4 5.4 自定义类型及其数组自定义类型及其数组( (不要求不要求) )5.5 5.5 综合应用综合应用计算机技术基础计算机技术基础(VB) 程序设计语言程序设计语言(VB)3 3本章目录本章目录3 3问题:问题:(1)mark只能放一个学生的成绩,无法统计高于平均分只能放一个学生的成绩
3、,无法统计高于平均分的人数。的人数。(2)若用简单变量保存)若用简单变量保存100个学生的成绩,则需定义个学生的成绩,则需定义100个变量和使用个变量和使用100句输入语句。由此引入了句输入语句。由此引入了数组数组。5.1 5.1 数组数组5.1.1 5.1.1 数组的概念数组的概念1.1.引例引例 求求100100个学生的平均成绩个学生的平均成绩,并统计高于平均分,并统计高于平均分的人数的人数markaver = 0For i = 1 To 100 mark =Val(InputBox(输入学生成绩输入学生成绩) aver = aver + markNext iaver = aver / 1
4、00Print aver, mark计算机技术基础计算机技术基础(VB) 程序设计语言程序设计语言(VB)4 4本章目录本章目录4 42.数组的概念数组的概念 数组数组:一组具有一组具有相同类型相同类型变量的集合,用一个变量的集合,用一个统一统一的的名字作为标识。名字作为标识。数组元素数组元素:数组中的每一个数据称为一个数组中的每一个数据称为一个数组元素数组元素。作用作用:用用一个数组名一个数组名代表逻辑上相关的一批数据,代表逻辑上相关的一批数据,用用下标下标表示该数组中的各个元素,和循环语句结合使表示该数组中的各个元素,和循环语句结合使用,使得程序书写简洁。用,使得程序书写简洁。使用使用:必
5、须先声明后使用。必须先声明后使用。分类分类:根据数组下标个数的不同:根据数组下标个数的不同,分为分为一维数组一维数组和和多维数组多维数组计算机技术基础计算机技术基础(VB) 程序设计语言程序设计语言(VB)5 5本章目录本章目录5 55.1.2 5.1.2 定长数组及声明定长数组及声明1.一维数组声明:一维数组声明: Dim Dim 数组名数组名( ( 下标下界下标下界 ToTo 上界上界) ) As 类型类型说明:说明:例:例: Dim mark(99) As Integer Dim X(1 to 10) As Single下标下界缺省为下标下界缺省为0,下标上界为常数。,下标上界为常数。数
6、组大小为:下标上界数组大小为:下标上界 -下标下界下标下界 +1。作用:声明了数组名、数组大小、维数、类型作用:声明了数组名、数组大小、维数、类型在内存分配一块连续的区域。在内存分配一块连续的区域。计算机技术基础计算机技术基础(VB) 程序设计语言程序设计语言(VB)6 6本章目录本章目录6 6如:如:Dim mark(99) As IntegerDim mark(99) As Integer 声明了一维定长整型数组声明了一维定长整型数组 mark ,共有共有100个元素,下标范围为个元素,下标范围为 0 To 99;mark数组的各元素是数组的各元素是mark(0),mark(1),mark
7、(99);mark(i) 表示由下标表示由下标 i 的值决定是哪一个元素。的值决定是哪一个元素。mark(99)mark(99)mark(98)mark(98)mark(2)mark(2)mark(1)mark(1)mark(0)mark(0)mark数组内存分配如下:数组内存分配如下:每个数组元素有一个唯一的顺序号。每个数组元素有一个唯一的顺序号。下标不能超出数组声明时的上、下界范围,否则下标不能超出数组声明时的上、下界范围,否则会产生会产生“下标越界下标越界”错误错误 。数组元素的使用规则与同类型的简单变量相同。数组元素的使用规则与同类型的简单变量相同。计算机技术基础计算机技术基础(VB)
8、 程序设计语言程序设计语言(VB)7 7本章目录本章目录7 7例例5.1 用数组解决问题的程序用数组解决问题的程序如下:如下: Dim mark(99) As IntegerDim mark(99) As Integer 声明数组声明数组mark Dim aver!, n%, i% Dim aver!, n%, i% aver = 0 aver = 0 For i = 0 To 99For i = 0 To 99 输入成绩,求分数和输入成绩,求分数和 mark(i)mark(i) = InputBox( = InputBox(输入学生的成绩输入学生的成绩) aver = aver + aver
9、 = aver + mark(i)mark(i) Next iNext i aver = aver / 100 aver = aver / 100 求求100人的平均分人的平均分 n = 0n = 0 For i = 0 To 99 For i = 0 To 99 统计高于平均分的人数统计高于平均分的人数 If If mark(i) avermark(i) aver ThenThen n = n + 1 n = n + 1 Next i Next i MsgBoxMsgBox ( (平均分平均分: : & aver & & aver & 高于平均分人数高于平均分
10、人数: : & n) & n) mark(99)mark(99)mark(98)mark(98)mark(2)mark(2)mark(1)mark(1)mark(0)mark(0)计算机技术基础计算机技术基础(VB) 程序设计语言程序设计语言(VB)8 8本章目录本章目录8 82.2.多维数组声明多维数组声明Dim Dim 数组名数组名( (下界下界1 To 上界上界1,(下界下界2 To 上界上界2) As 类型类型下标数决定了数组的维数,数组的大小为每一维大下标数决定了数组的维数,数组的大小为每一维大小的乘积。小的乘积。例:例: Dim x(2,4) As Long声明了一
11、个长整型的二维数组声明了一个长整型的二维数组 x;共占据;共占据35个长整个长整型变量的空间型变量的空间 。x(1,4)x(1,3)x(1,2)x(1,1)x(1,0) x(2,4)x(2,3)x(2,2)x(2,1)x(2,0) x(0,4)x(0,3)x(0,2)x(0,1)x(0,0) 二维数组的数组元素是按二维数组的数组元素是按“列优先列优先 ”的顺序存放的。的顺序存放的。例:例:Dim T1(10) As Integer, n As Integer Dim T2(n) As Integer n=3 Print T1(n) print T1(10)(1)(1)在窗体级或标准模块中可以重
12、定义数组的下界在窗体级或标准模块中可以重定义数组的下界 Option Base n Option Base n 设置默认下界为设置默认下界为n 例如:设置默认下界为例如:设置默认下界为1 1的语句是的语句是 Option Base 1Option Base 1:(2)(2)正确区分数组下标在不同位置的含义正确区分数组下标在不同位置的含义例:例:Dim T(10) As Integer, i As IntegerFor i = 0 To 10 T(i) = i Print T(i)Next iprint T(10)T T数组中下标为数组中下标为1010的那个元素的那个元素定义了一个定义了一个T
13、T数组数组, ,由由(0(010)1110)11个元素组成个元素组成(3)(3)数组声明时下标只能是数组声明时下标只能是常数,其它地方可以是变量常数,其它地方可以是变量 计算机技术基础计算机技术基础(VB) 程序设计语言程序设计语言(VB)1010本章目录本章目录1010练习练习1:Dim arr(-2 To 5)该语句定义的数组元素的个数是该语句定义的数组元素的个数是( )。练习练习2:执行下面程序段后执行下面程序段后:Dim a%(5), b%(5)For j = 1 To 4 a(j) = 3 * j b(j) = a(j) * 3Next jText1.Text = b(j 2)文本框
14、中的值是文本框中的值是( )j=1a(1)=3*1=3b(1)=3*3=9j=2a(2)=3*2=6b(2)=6*3=18j=3a(3)=3*3=9b(3)=9*3=27j=4a(4)=3*4=12b(4)=12*3=36j=54?8 8a(0)a(1)a(2)a(3)a(4)a(5)b(0)b(1)b(2)b(3)b(4)b(5)计算机技术基础计算机技术基础(VB) 程序设计语言程序设计语言(VB)1111本章目录本章目录11111、如果在程序中没有特别声明,即程序中没有使用、如果在程序中没有特别声明,即程序中没有使用Option Basic 1 语句,语句,缺省下界和关键字缺省下界和关键字
15、TO时,则表示下标的取值时,则表示下标的取值。A、从、从0开始,等价于开始,等价于0 to 上界上界 B、从、从2开始开始C、从、从1开始,等价于开始,等价于1 to 上界上界 D、等价于、等价于 n to 上界上界2、使用下列语句定义数组,定义正确的是、使用下列语句定义数组,定义正确的是。 Dim n as Integer Const m = 5 Dim A(m) as Integer Dim B(1 to 6) as Integer Dim C(-5 to 5) as Long Dim D(0 to n ) as singleA、一维数组、一维数组ABCB、一维数组、一维数组ABCDC、一
16、维数组、一维数组ABD3、有如下数组说明语句:、有如下数组说明语句:dim A(6) as integerdim B(3, -1 to 4) as single A数组的大小为数组的大小为个数组元素,个数组元素,B数组的大小为数组的大小为个数组元素。个数组元素。 A、6, 18 B、7, 24 C、7, 12 D、6, 25计算机技术基础计算机技术基础(VB) 程序设计语言程序设计语言(VB)1212本章目录本章目录12125.1.3 动态数组及声明动态数组及声明 用用DimDim语句声明语句声明,赋,赋空维数空维数例例:Dim A( ) As IntegerReDim ReDim 动态数组名
17、动态数组名(下界下界 TO TO 上界上界.).) ReDimReDim语句中的数组上、下界可以是语句中的数组上、下界可以是常量常量或是或是有已知值的有已知值的变量变量 在过程中可以在过程中可以多次多次使用使用ReDimReDim 每次使用每次使用RedimRedim语句,会使原有数据丢失语句,会使原有数据丢失 例例:Redim A(5) Redim A(2,3) 例例:ReDim Preserve A(2, 4)只能修改最后一维的只能修改最后一维的大小大小计算机技术基础计算机技术基础(VB) 程序设计语言程序设计语言(VB)1313本章目录本章目录1313分析:分析:(1) 声明:声明动态数
18、组声明:声明动态数组mark();(2) 输入:输入学生人数输入:输入学生人数n; 定义动态数组的大小定义动态数组的大小mark( 1 to n); 用循环输入每个学生的成绩用循环输入每个学生的成绩(3) 处理:重定义数组,让其增加两个元素处理:重定义数组,让其增加两个元素(平均值平均值和和人数人数) 求各成绩的和及平均值,放入求各成绩的和及平均值,放入mark(n+1); 用循环和判断统计大于平均值的人数用循环和判断统计大于平均值的人数mark(n+2) (4) 输出:输出各人成绩、平均值和高于平均值的人数输出:输出各人成绩、平均值和高于平均值的人数计算机技术基础计算机技术基础(VB) 程序
19、设计语言程序设计语言(VB)1414本章目录本章目录1414 Dim mark() As Integer , n%, i% 动态数组声明动态数组声明 aver = 0 n = Val(InputBox(请输入学生人数请输入学生人数) ReDim mark(1 To n) For i = 1 To n 本循环结构输入成绩本循环结构输入成绩 mark(i) = Val(InputBox(输入第输入第 & i & 位学生的成绩位学生的成绩) Print mark(i) Next i ReDim Preserve mark(1 To n + 2) For i = 1 To n 本循环结
20、构求分数和本循环结构求分数和 mark(n + 1) = mark(n + 1) + mark(i) Next i mark(n + 1) = mark(n + 1) / n 求平均分求平均分 For i = 1 To n 本循环结构统计高于平均分的人数本循环结构统计高于平均分的人数 If mark(i)mark(n + 1) Then mark(n + 2)=mark(n + 2)+1 Next i Print 平均分:平均分:, mark(n + 1) Print 高于平均分的人数:高于平均分的人数:; mark(n + 2)计算机技术基础计算机技术基础(VB) 程序设计语言程序设计语言(
21、VB)1515本章目录本章目录1515 Dim a() As Integer, i%, j%, m%, n%ReDim a(3)Print 重定义成一维数组重定义成一维数组For i = 0 To 3 a(i) = I2 Print a(i)Next im = 1n = 2ReDim a(m, n)Print 重定义成二维数组重定义成二维数组For i = 0 To m For j = 0 To n a(i, j) = i *10+ j Print i, j, a(i, j) next jNext i例题例题:选讲选讲计算机技术基础计算机技术基础(VB) 程序设计语言程序设计语言(VB)161
22、6本章目录本章目录16165.2 5.2 数组的基本操作数组的基本操作 利用循环结构利用循环结构 利用利用Array函数函数 Dim A(10) As Integer For i = 0 To 10 A(i) = i Next i 声明的数组必须是声明的数组必须是可调数组可调数组或是或是省略圆括号省略圆括号的数组的数组 数组类型必须是数组类型必须是万能型万能型 下界默认为下界默认为0 0 上界由上界由UboundUbound函数获取函数获取 Dim B( ), C B = Array (1, 2, 3, 4) C = Array (aa, bb, cc)计算机技术基础计算机技术基础(VB) 程
23、序设计语言程序设计语言(VB)1717本章目录本章目录17172.2.数组的输入、简单输出数组的输入、简单输出(1 1)用用Inputbox函数函数输入输入 例:例:Dim A(5) As IntegerDim A(5) As Integer For i = 0 To 5 For i = 0 To 5 A(i) = Val(Inputbox(A(i) = Val(Inputbox(输入第输入第 & i & 个数个数) Next i Next i(2 2)用用print 语句语句输出输出 例:例: For i = 0 To 5 For i = 0 To 5 print print
24、 A(i) A(i) Next iNext i计算机技术基础计算机技术基础(VB) 程序设计语言程序设计语言(VB)1818本章目录本章目录18183.3.数组间的赋值数组间的赋值 例:例:Dim A(4) As Integer, B() As Integer, i%Dim A(4) As Integer, B() As Integer, i% 给给A A数组的各个元素赋值数组的各个元素赋值 B = A B = A ReDim B (4) For i = 0 To 4 B(i) = A(i) Next i(UBound(A)(UBound(A) 赋值号两边的赋值号两边的数组类型数组类型必须一致
25、必须一致 被赋值的数组(左边)必须是一个动态数组被赋值的数组(左边)必须是一个动态数组4 4、数组的输出、数组的输出 例例5.35.3 形成形成5 55 5的方阵,分别输出方阵中各元素、的方阵,分别输出方阵中各元素、上三角和上三角和下三角下三角元素元素 Dim sc%(4, 4) Picture1.Print 产生方阵数据产生方阵数据 For i = 0 To 4 For j = 0 To 4 sc(i, j) = i * 5 + j Picture1.Print Tab(j * 5); sc(i, j); Next j Picture1.Print 换行换行 Next i Picture2.
26、Print 显示上三角数组元素显示上三角数组元素 For i = 0 To 4 For j = i To 4 Picture2.Print Tab(j * 5); sc(i, j); Next j Picture2.Print 换行换行 Next i计算机技术基础计算机技术基础(VB) 程序设计语言程序设计语言(VB)2020本章目录本章目录20205 5、求数组和、最值、位置、求数组和、最值、位置例例5.45.4 求一维数组中各元素之和、最小数组元素,并求一维数组中各元素之和、最小数组元素,并将最小值数组元素与数组中第一个元素交换将最小值数组元素与数组中第一个元素交换v求元素和求元素和 通过
27、循环将每个元素进行累加通过循环将每个元素进行累加Option Base 1 设置数组的默认下界为设置数组的默认下界为1Dim aa = Array(26, 43, 22, 87, 33, 19, 37, 59, 76, 69)For i = 1 To UBound(a) sum = sum + a( i )Next i该方法得到数组该方法得到数组a a的上界的上界计算机技术基础计算机技术基础(VB) 程序设计语言程序设计语言(VB)2121本章目录本章目录2121求数组中最小元素求数组中最小元素求最大值求最大值的方法与求最小的方法与求最小值相似值相似思考思考:如何求最小值的下标如何求最小值的下
28、标A(1)A(2)A(3)A(4)A(5)A(6)2643228719min262219min = A(1)If A(i) min Then min = A(i)End IfFor i = 2 To 6 Next i:imin=1:imin=i33计算机技术基础计算机技术基础(VB) 程序设计语言程序设计语言(VB)2222本章目录本章目录2222下标下标12345678910初值初值26 43 61 873319 37 59 7669下标下标12345678910交换交换 1943 61 87 33 2637 59 76 69将最小元素与数组中第一个元素交换将最小元素与数组中第一个元素交换:
29、t = a(1) : a(1) = a(imin) : a(imin) = timin计算机技术基础计算机技术基础(VB) 程序设计语言程序设计语言(VB)2323本章目录本章目录2323复习:编写一个程序复习:编写一个程序,按每行,按每行5个数显示有个数显示有n个斐波个斐波那契数序列。如那契数序列。如: 1, 1, 2, 3, 5, 8, 13, 21, 34, 55.Dim x() As LongDim n%, i%n = Val(InputBox(输入序列数输入序列数)ReDim x (n - 1)x(0) = 1x(1) = 1For i = 2 To n - 1 x(i) = x(i
30、 - 1) + x(i - 2)Next iFor i = 0 To n - 1 Print x(i), If (i + 1) Mod 5 = 0 Then PrintNext i分析:除序列分析:除序列中第中第1和第和第2两两个元素均为个元素均为1外外,其他元素是其他元素是前两个元素的前两个元素的和和.输入序号输入序号n,显示前显示前n个数个数.计算机技术基础计算机技术基础(VB) 程序设计语言程序设计语言(VB)2424本章目录本章目录24246 6、数组排序、数组排序 选择法排序选择法排序思路:从思路:从n个数中选最小数的下标,结束循环后与第个数中选最小数的下标,结束循环后与第1个个互换
31、互换A(1) A(2) A(3) A(4) A(5) A(6)A(1) A(2) A(3) A(4) A(5) A(6) 8 6 9 3 2 7 imin = 1 8 6 9 3 2 7 imin = 1从剩下的从剩下的n-1个数中选最小的数,结束循环与第个数中选最小的数,结束循环与第2个互换个互换依次类推依次类推2 2 4 45 5A(1) A(imin)A(1) A(imin)2 2 6 9 3 6 9 3 8 8 7 76 9 3 8 7 imin = 26 9 3 8 7 imin = 2 4 43 3 9 9 6 6 8 7 8 7A(2) A(imin)A(2) A(imin)计算
32、机技术基础计算机技术基础(VB) 程序设计语言程序设计语言(VB)2525本章目录本章目录2525 iMin = 1 iMin = 1 For j = 2 To n For j = 2 To n If A(j) A(iMin) Then iMin = JIf A(j) A(iMin) Then iMin = J Next j Next j T = A(i)T = A(i) A(i) = A(iMin) A(i) = A(iMin) A(iMin) = T A(iMin) = T2 23 3i ii+1i+1 Dim A(), iMin%, n%, i%, j%, t% Dim A(), iMi
33、n%, n%, i%, j%, t% A = Array(8, 6, 9, 3, 2, 7) A = Array(8, 6, 9, 3, 2, 7) n = UBound(A) n = UBound(A) 选择法排序选择法排序计算机技术基础计算机技术基础(VB) 程序设计语言程序设计语言(VB)2626本章目录本章目录2626 冒泡法排序(从小到大)冒泡法排序(从小到大) 当所有元素比较一次后,最小数冒出当所有元素比较一次后,最小数冒出 依次类推依次类推注意:比较的方向注意:比较的方向A(1) A(2) A(3) A(4) A(5) A(6)A(1) A(2) A(3) A(4) A(5) A
34、(6) 8 6 9 8 6 9 3 23 2 7 7A(4) A( 5 ) A(4) A( 5 ) 8 6 8 6 9 29 2 3 7 3 78 8 6 26 2 9 3 7 9 3 78 28 2 6 9 3 7 6 9 3 7A(1) A( 2 )A(1) A( 2 )2 72 73 23 29 29 2A(3) A( 4 ) A(3) A( 4 ) 6 26 2A(2) A( 3 ) A(2) A( 3 ) 8 28 22 2 8 6 9 3 7 8 6 9 3 7思路:思路: 将相邻的两个数比较,当次序不对时互换位置将相邻的两个数比较,当次序不对时互换位置 计算机技术基础计算机技术基
35、础(VB) 程序设计语言程序设计语言(VB)2727本章目录本章目录2727 If If a(j)a(j-1)a(j)a(j-1) Then Then T=a(j) : a(j)=a(j-1) : a(j-1)=T T=a(j) : a(j)=a(j-1) : a(j-1)=T End If End If Dim A(), n%, i%, j%, t% A = Array(8, 6, 9, 3, 2, 7) n = UBound(A) 冒泡法排序(从小到大)冒泡法排序(从小到大)For i=0 to nFor i=0 to n 输出数组中的元素输出数组中的元素 print a(i);print
36、 a(i);Next iNext i计算机技术基础计算机技术基础(VB) 程序设计语言程序设计语言(VB)2828本章目录本章目录28287.7.插入数据插入数据 插入数据基本思想是:插入数据基本思想是:1 1)首先查找待插入数据在数组中的位置首先查找待插入数据在数组中的位置 k k ;2 2)然后从最后一个元素开始往前直到下标为然后从最后一个元素开始往前直到下标为 k k 的元的元素依次往后移动一个位置;素依次往后移动一个位置;3) 3) 第第 k k 个元素的位置腾出,将数据插入。个元素的位置腾出,将数据插入。 1 4 7 10 13 16 19 22 25 14 k x 例例5.75.7
37、在有序数组在有序数组a a中插入数值中插入数值x x。 计算机技术基础计算机技术基础(VB) 程序设计语言程序设计语言(VB)2929本章目录本章目录2929 Dim a(), i%, k%, x%, n% a = Array(1, 4, 7, 9, 12, 23, 56) n = UBound(a) 获得数组的上界获得数组的上界 x = 14 For k = 0 To n 查找欲插入数查找欲插入数x在数组中的位置在数组中的位置 If x n Then MsgBox (找不到此数据找不到此数据) : Exit Sub For i = k + 1 To n 将将x后的元素左移后的元素左移 a(i
38、 - 1) = a(i) Next i n = n - 1 ReDim Preserve a(n) 数组元素减少一个数组元素减少一个 For i = 0 To n 显示删除后的各数组元素显示删除后的各数组元素 Print a(i); Next i例例5.8计算机技术基础计算机技术基础(VB) 程序设计语言程序设计语言(VB)3232本章目录本章目录3232复习和作业复习和作业 什么是数组什么是数组 静态数组的声明静态数组的声明 动态数组的声明动态数组的声明 数组的简单使用数组的简单使用书面作业书面作业: p123 1, 2, 3, 4上机作业上机作业: 例题例题5.4,实验,实验E 1, 2,
39、 3, 4, 5计算机技术基础计算机技术基础(VB) 程序设计语言程序设计语言(VB)3333本章目录本章目录33335.3 5.3 列表框和组合框控件列表框和组合框控件 列表框和组合框实质是列表框和组合框实质是一维字符串数组一维字符串数组的使用的使用列表框列表框 可显示多个选项供用户选择,不能直接修改可显示多个选项供用户选择,不能直接修改其中的内容。其中的内容。组合框组合框 组合了组合了文本框文本框和和列表框列表框的特性而形成的一种的特性而形成的一种控件。控件。组合框有组合框有3种样式。种样式。计算机技术基础计算机技术基础(VB) 程序设计语言程序设计语言(VB)3434本章目录本章目录34
40、341 1、列表框和组合框重要属性、列表框和组合框重要属性(1) List List List List是一个集合是一个集合(2) ListIndexListIndex 选项的序号选项的序号 (从从0开始开始)(3) ListCount ListCount 项目数量项目数量 (4) Text Text 被选定的文本内容被选定的文本内容 (5) Sorted Sorted 指定指定选项是否按字母顺序排序选项是否按字母顺序排序共有属性共有属性:ListIndex = 3计算机技术基础计算机技术基础(VB) 程序设计语言程序设计语言(VB)3535本章目录本章目录3535List1. ListInd
41、ex List1. ListIndex = 2List1. ListCount List1. ListCount = 6List1. Sorted List1. Sorted = FalseList1. Text List1. Text 为为 C/C+程序设计程序设计 List1.ListList1.List(List1.ListIndexList1.ListIndex) 等价于等价于List1.Text List1.Text 计算机技术基础计算机技术基础(VB) 程序设计语言程序设计语言(VB)3636本章目录本章目录3636设置列表框的风格设置列表框的风格0-0-标准标准1-1-复选框的风
42、格复选框的风格设置列表框是否允许选择多项设置列表框是否允许选择多项0- 0- 禁止多选禁止多选 1-1-简单多选简单多选 2-2-扩展多选扩展多选表示对应项是否被选中,是一个数组表示对应项是否被选中,是一个数组list1.Selected(0)、list1.Selected(2)列表框列表框List的属性的属性计算机技术基础计算机技术基础(VB) 程序设计语言程序设计语言(VB)3737本章目录本章目录3737组合框组合框Combo的属性的属性 0 0-下拉式组合框下拉式组合框 ( (既可选择又可输入既可选择又可输入) ) Style 1 1-简单组合框简单组合框 (既可选择又可输入既可选择又
43、可输入) 2 2-下拉列表下拉列表 ( (只能选择只能选择, , 不能输入不能输入) )Style=0Style=0Style=1Style=1Style=2Style=2计算机技术基础计算机技术基础(VB) 程序设计语言程序设计语言(VB)3838本章目录本章目录38382 2、常用方法、常用方法v AddItemAddItem方法:把一个项目加入列表方法:把一个项目加入列表 对象对象. AddItem . AddItem 项目字符串项目字符串 , ,索引值索引值 索引值:决定新增项在列表中的位置,如果省略,索引值:决定新增项在列表中的位置,如果省略,则新增项目添加在最后。则新增项目添加在最
44、后。v RemoveItemRemoveItem方法:删除列表中指定项目方法:删除列表中指定项目 对象对象. RemoveItem . RemoveItem 索引值索引值v ClearClear:清除列表中所有项目清除列表中所有项目 例如:例如:List1.Clear 全部清除全部清除实验实验E 7计算机技术基础计算机技术基础(VB) 程序设计语言程序设计语言(VB)3939本章目录本章目录39393 3、重要事件、重要事件列表框:列表框:ClickClick、DblClickDblClick组合框:组合框:ClickClick例例5.9:编写一个能对列表框编写一个能对列表框进行项目添加、修进
45、行项目添加、修改和删除的应用程序。改和删除的应用程序。 关键:关键:1 1)获得选中的下标)获得选中的下标ListIndex2 2)不能直接修改列表框,)不能直接修改列表框,l先将内容输入在文本框中,先将内容输入在文本框中,l再更新列表框再更新列表框 计算机技术基础计算机技术基础(VB) 程序设计语言程序设计语言(VB)4040本章目录本章目录4040Private Sub Form_Load() List1.AddItem 大学计算机基础大学计算机基础 List1.AddItem VB.NET程序设计程序设计 .End Sub Private Sub List1_Click() 选中某项目选
46、中某项目,在在Label1显示内容和下标显示内容和下标 Label1 = List1.Text & 下标为:下标为: & List1.ListIndexEnd SubPrivate Sub Command1_Click() 添加新项目添加新项目 List1.AddItem Text1 Text1 = End SubPrivate Sub Command2_Click() 删除选中的项目删除选中的项目 List1.RemoveItem List1.ListIndexEnd SubPrivate Sub Command3_Click() 清除所有项目清除所有项目 List1.Cle
47、arEnd Sub例例5.9计算机技术基础计算机技术基础(VB) 程序设计语言程序设计语言(VB)4141本章目录本章目录41414 4、应用、应用例例5.10编写一个编写一个使用屏幕字体、使用屏幕字体、字号的程序字号的程序 例例5.11使用列表框实现排序、查找、删除使用列表框实现排序、查找、删除(自学自学)例例5.12使用组合框对省和直辖使用组合框对省和直辖市名称管理市名称管理(自学自学)计算机技术基础计算机技术基础(VB) 程序设计语言程序设计语言(VB)4242本章目录本章目录42425.5 5.5 综合应用综合应用- -分类统计分类统计1.1.综合应用综合应用- -分类统计分类统计 将
48、一批数据分类统计每一类中包含的个数。将一批数据分类统计每一类中包含的个数。例如:统计学生成绩优、良、中、及格、不及格人数。例如:统计学生成绩优、良、中、及格、不及格人数。 这类问题要掌握这类问题要掌握分类条件表达式的书写分类条件表达式的书写和和使用计使用计数变量保存相应的计数数变量保存相应的计数。计算机技术基础计算机技术基础(VB) 程序设计语言程序设计语言(VB)4343本章目录本章目录4343综合应用综合应用- -分类统计分类统计例例5.14 5.14 输入一串字符,统计各字母出现的次数输入一串字符,统计各字母出现的次数 u统计统计26个字母出现的个数,必须声明一个个字母出现的个数,必须声
49、明一个具有具有26个元素的个元素的数组数组A(1 to 26),每个元素的下标表示对应的字母,元素的值,每个元素的下标表示对应的字母,元素的值表示对应字母出现的次数。表示对应字母出现的次数。u 从输入的字符串中逐一取出字符从输入的字符串中逐一取出字符C,转换成大写字符,转换成大写字符(不区分不区分大小写大小写),再求得其在数组中的下标。,再求得其在数组中的下标。u关键表达式:关键表达式: j= Asc( UCase(C) ) 65 +1 A(j)= A(j) + 1A(1) A(2) A(3)A(24) A(25) A(26) “A”“B”“C”“X”“Y”“Z”计算机技术基础计算机技术基础(
50、VB) 程序设计语言程序设计语言(VB)4444本章目录本章目录4444Private Sub Command1_Click() Dim a(1 To 26) As Integer, c As String * 1 le = Len(Text1) 求字符串的长度求字符串的长度 For i = 1 To le c = UCase(Mid(Text1, i, 1) 取一个字符,转换成大写取一个字符,转换成大写 If c = A And c 0 Then Picture1.Print ; Chr$(j + 64); =; a(j);: n = n + 1 If n Mod 6 = 0 And n 0
51、 Then Picture1.Print End If Next j End Sub例例5.14计算机技术基础计算机技术基础(VB) 程序设计语言程序设计语言(VB)4545本章目录本章目录45452 2、综合应用、综合应用- -数据输入数据输入应用:在财务、工程计算中,经常需要对大量的数应用:在财务、工程计算中,经常需要对大量的数 据进行输入和编辑。据进行输入和编辑。问题问题: : InputBox一次输入一个数据,而后不能修改一次输入一个数据,而后不能修改 一个文本框也只能输入一项一个文本框也只能输入一项改进:可利用文本框、字符串函数通过编程实现。改进:可利用文本框、字符串函数通过编程实现
52、。例例5.155.15在文本框输入数据在文本框输入数据, ,并允许修改和自动识别非数并允许修改和自动识别非数字数据字数据; ;输入结束将它们按分隔符分离后存放在数组中输入结束将它们按分隔符分离后存放在数组中v利用利用KeyasciiKeyascii参数过滤非法数据,文本框本身具有编参数过滤非法数据,文本框本身具有编辑功能;辑功能;v利用利用ReplaceReplace函数去除重复输入的分隔符。函数去除重复输入的分隔符。v利用利用SplitSplit函数函数将输入的内容分离到数组中。将输入的内容分离到数组中。计算机技术基础计算机技术基础(VB) 程序设计语言程序设计语言(VB)4646本章目录本
53、章目录4646Option ExplicitDim a() As StringPrivate Sub Text1_KeyPress(KeyAscii As Integer) Dim Lenstra As Integer, j As Integer Dim Stra As String, S As String * 1 S = Chr(KeyAscii) Select Case S Case 0 To 9, , ., - 09,逗号,负号,小数点逗号,负号,小数点 为有效数字串,可以继续输为有效数字串,可以继续输入入 Case Else 输入非数字字符,去除非法字符输入非数字字符,去除非法字符,再输入再输入 KeyAscii = 0 End SelectEnd Sub例例5.15计算机技术基础计算机技术基础(VB) 程序设计语言程序设计语言(VB)4747本章目录本章目录4747Private Sub Command1_Click() Dim temp As String Dim i As Integer temp = Replace(Text1, , ,) 去除出现的连
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 企业股权分配合同样本
- 信托合同与合同标准文本
- 儿童影楼转让合同样本
- 2025公寓物业管理服务合同模板
- 内墙腻子劳务合同样本
- 凤爪贸易合同标准文本
- 出售个人铣床合同标准文本
- 3人投资合同样本
- 创新思维与项目推进计划
- 养殖用地出租合同样本
- 汽车行业发展前景
- 用电知识安全培训课件
- 2025年东北三省三校二模联考语文试卷
- 保密知识题库含答案
- 共享农场合同标准文本
- 医院建设项目智能化专项工程技术要求
- 2024年中国银行招聘考试真题
- 管理学基础-形考任务三-国开-参考资料
- 2.2城镇化课件高中地理人教版(2019)必修二
- 2024-2025学年北师大版七年级数学上册期末复习压轴题12个(84题)含答案
- 2023年北京市大兴区小升初数学模拟试卷(含答案)
评论
0/150
提交评论