可视化编程应用-Visual Basic_第1页
可视化编程应用-Visual Basic_第2页
可视化编程应用-Visual Basic_第3页
可视化编程应用-Visual Basic_第4页
可视化编程应用-Visual Basic_第5页
已阅读5页,还剩686页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

模块1可视化编程与VB开发环境任务1可视化编程的概念任务2VisualBasic程序设计的开发平台任务3VisualBasic6.0的集成开发环境任务4VisualBasic程序设计的基本步骤任务5第一个VisualBasic应用程序返回任务1可视化编程的概念随着图形用户界面(GraphicalUserInterface,GUI)操作系统windows的广泛使用,用户不再需要记忆各种命令,而是通过鼠标对操作对象的单击、双击或拖放等即可轻松地完成相应的操作。可视化(Visual)编程技术使得编程人员在编写应用程序时,既不需要编写大量的代码来描述组成用户界面的各种对象的外观和位置,也不需要通过反复调试运行来调整它们,而只要把由开发工具提供的各种对象拖放到屏幕上并直接调整位置、大小、颜色和字体等即可。程序运行时所见的结果就是设计时调整的结果,也就是常说的“所见即所得WhatYouSeeIsWhatYouGet,WYSIWYG”。

下一页返回任务1可视化编程的概念由此可见,可视化编程犹如搭积木式的游戏,极大提高了应用程序的开发效率,降低了程序员的劳动强度。许多高级语言都相继推出了其可视化版本,这类开发工具一经推出便深受编程人员的喜爱。本书中的VisualBasic就是一种典型的可视化编程开发工具,除此之外,像FoxPro,C和Java等也都有它们的可视化版本。上一页下一页返回任务1可视化编程的概念1.1.1面向对象的程序设计面向对象的程序设计方法与编程技术不同于标准的过程化程序设计。程序设计人员在进行面向对象的程序设计时,不再是单纯地从代码的第一行编到最后一行,而是通过考虑如何创建对象,利用对象来简化程序设计,提供代码的可重用性。对象可以是应用程序中一个自包含组件,一方面具有私有的功能,供自己使用;另一方面又提供公用的功能,供其他用户使用。对象包含数据及其代码,这比传统编写代码的方法更容易维护。在VisualBasic中,应用面向对象的程序设计方法(oop),把程序代码和数据封装起。来视为一个对象,大部分对象都是可视的。程序员在设计程序时只需用现有工具根据界面设计的要求,直接在屏幕上“画”出窗口、菜单、按钮和滚动条等不同类型的对象,并依次为这些对象设置属性。程序员编程工作的重点仅限于编写相关对象要完成的功能代码,因而程序设计的效率可极大提高。上一页下一页返回任务1可视化编程的概念1.1.2面向对象程序设计的概念类、对象、属性、方法、事件、事件过程、事件驱动是VisualBasic程序设计中最基本的概念,即面向对象程序设计的基本概念,本节将深入地一一进行讨沦。1.类类(crass)是一组用于定义对象的相关数据和方法的集合。简单地说,类是创建对象的模型,对象则是按模型生产出来的成品,是类在应用程序中的具体实例。在VisualBasic中,工具箱中的每一个控件,如文本框、标签、命令按钮等,都代表一个类。当将这些控件添加到窗体上时就创建了相应的对象。由同一个类创建的对象具有由该类定义的公共属性、方法和事件。2.对象对象(Object)是代码和数据的集合,可将它看作用户界面上的一个单元。例如,控件、窗体和应用程序的部件等。对象是窗体、控件和部件的统称。它具有属性、方法和事件的特征。VB是一种可视化的面向对象的程序设计语言。上一页下一页返回任务1可视化编程的概念3.属性属性(Property)就是指一个对象所具有的性质、特征。这些特征可能是外在的,也可能是内在的。在VB中,对象的数据就保存在属性中。属性值是用来描述和反映对象特征的参数。例如,控件的“名称”(Name),“颜色”(Color),“是否有效”(Enabled),“位置”(Top、Left)等属性决定了对象展现给用户的界面具有了什么样的外观和功能。同类的对象具有相同的属性定义,但属性值可能不同。例如,两个命令按钮,它们的标题显示分别为“确定”和“取消”,这是因为这两个命令按钮都定义有属性Caption,它们分别取了不同的值“确定”和“取消”。不同类的对象具有不同的属性定义,例如,命令按钮定义有属性Caption,但没有属性Text;而文本框定义有属性Text,但没有属性Caption。上一页下一页返回任务1可视化编程的概念在设计应用程序时,通过改变对象的属性值来改变对象的外观和特性。对象属性的设置可以通过以下两种办法来实现。(1)应用程序界面设计阶段,通过选中对象,利用属性窗口直接对对象属性进行设置。(2)在程序代码窗口,通过编写赋值语句对象的属性进行赋值,一般格式为:对象名.属性名=属性值。例如,给一个命令按钮Command1标题显示文字改为“确定”,其程序代码为:Command1.Caption=“确定”。运行程序中,当执行到该语句时,对象的属性就会按程序要求发生改变。值得注意的是,有的属性只能在属性窗口中修改,例如,Name属性。有的属性在属性窗口中不存在,这种属性只能在代码中使用,例如,文本框的SetText属性。大多数属性都可以用上述两种办法设置。上一页下一页返回任务1可视化编程的概念4.方法方法(Method)是对象能够主动完成的操作,每种对象能做的操作在定义类时已经确定了。方法只能在程序代码中使用,其调用格式如下:[对象名.〕方法名[(参数)〕。有的方法需要提供参数,有的方法是不带参数的。例如:Form1.Cls'清除窗体Form1上显示的内容5.事件事件(Event)是由VisualBasic系统预先设置好的、能够被对象识别的动作,即对象被动接受的动作,每种对象能接受的动作也是在定义类时确定的。例如,单击(Click)事件、双击(DblClick)事件等。每一种对象能识别的事件在设计阶段可以从代码窗口中该对象的过程框的下拉列表框中看到。对象的事件可以由用户触发,如单击、按某个键等;也可以由系统或应用程序触发,如装载窗体、卸载窗体等。上一页下一页返回任务1可视化编程的概念6.事件过程对象响应事件后就会执行一段程序代码,这样的代码称为事件过程或事件驱动程序。一个对象可以识别一个或多个事件,因此可以使用一个或多个事件过程对相应的事件做出响应。事件过程的一般格式如下:PrivateSub对象名——事件名(!参数表)处理事件的程序代码EndSub例如:PrivateSubForm_Click()Print”欢迎您来到VisualBasic世界!”EndSub虽然对象拥有许多事件过程,但程序设计者并不需要去为每个事件都编写事件过程,只需要编写自己想要触发的那些事件过程。上一页下一页返回任务1可视化编程的概念7.事件驱动VisualBasic应用程序运行时,先装载和显示一个窗体,然后等待下一个事件(由用户操作来引发或程序运行触发)的发生。当某一事件发生时,程序就会执行此事件的事件过程,完成一个事件过程后,程序又会进入等待状态,直到下一事件发生为止。如此周而复始地执行,直到程序结束。也就是说,事件过程要经过事件的触发才能被执行,这种工作模式称为事件驱动方式。VisualBasic程序采用事件驱动的运行机制,是通过响应不同的事件执行不同的事件过程的程序代码段。响应的事件顺序不同,执行的程序代码段的顺序也不同,即事件发生的顺序决定了整个程序的执行流程。由于事件可以由用户触发,也可以由系统或应用程序触发,所以程序每次执行的流程都可以不同。因此,设计VisualBasic应用程序时,用户一定要明确哪个对象的哪个事件发生时需要机器完成哪些工作,进而编写一些必要的事件过程上一页返回任务2VisualBasic程序设计的开发平台1.2.1VisualBasic的产生和发展BASIC是Beginner'sAll-purposeSymbolicInstructionCode(初学者通用符号指令代码)的缩写(常写作Basic,是国际上广泛使用的一种计算机高级语言。Basic简单、易学,目前仍是计算机入门学习的主要语言之一。Basic语言的产生和发展经历了以下4个阶段。(1)1946年至20世纪70年代初:1964年Basic语言问世。(2)1975年至20世纪80年代中:微机上固化的Basic语言。(3)20世纪80年代中至20世纪90年代初:结构化Basic语言。(4)1991年以来:VisualBasic程序设计语言。下一页返回任务2VisualBasic程序设计的开发平台20世纪90年代初,由于windows操作平台的出现,PC的操作方式开始由命令方式向图形方式转变。1991年,微软推出了VisualBasic1.0版。当时,它是第一个“可视”的编程软件。这使得程序员都尝试在VisualBasic的平台上进行软件创作。随着windows操作平台的不断成熟,VisualBasic产品由1.0版本升级到3.0版,利用VisualBasic3.0产品可以快速地创建各种应用程序,如多媒体应用程序,各种图形操作界面等。并且从VisualBasic3.0开始,微软将Access的数据库驱动集成到了VisualBasic中,极大提高了VisualBasic的数据库编程能力。在VisualBasic4.0版本中,提供了创建自定义类模块、属性及过程功能,利用这些功能,用户可以创建自定义类和对象;还提供了强大的数据库管理能力,通过ActiveX数据对象(ADO)、数据访问对象(DAO)、远程数据对象(RDO)和ODBC,用户可以访问任何一种类型的数据库。上一页下一页返回任务2VisualBasic程序设计的开发平台随着互联网的出现和迅速发展,微软公司推出了ActiveX技术,并且将这一技术引入到了VisualBasic6.0版本中,VisualBasic6.0对面向对象编程的技术也做了许多扩展,用户可以自定义对象所处理的事件,还可以定义构造函数和析构函数。另外,还提供了用组件编程的概念,实际上是对象编程的扩展。如今,VisualBasic已经成为一种真正专业化的开发语言。用户不仅可以用VisualBasic快速创建windows程序,还可以编写企业水平的客户/服务器程序及强大的数据库应用程序。上一页下一页返回任务2VisualBasic程序设计的开发平台1.2.2VisualBasic开发平台简介VisualBasic6.0中文版包括3种版本,分别为VisualBasic学习版(Learning),VisualBasic专业版(Professional)和VisualBasic企业版(Enterprise),这些版本是在相同的基础上建立起来的。VisualBasic学习版不要求用户具有编程经验。这个版本是为学生、业余爱好者和其他想更多地了解基于Windows的应用程序是如何开发的人而设计的。利用它可以轻松地开发Windows的应用程序。这个版本包括VisualBasic内部控件、网格控件、表格控件和数据库控件。专业版是为需要创建客户/服务器应用程序或能访问Internet的应用程序的个体专业人员或公司开发人员设计的。它包括了一整套完备的开发工具。该版本包括学习版的全部功能以及ActiveX控件,还包括Internet控件和CrystalReportWriter企业版是为要创建分布式、高性能的客户/服务器应用程序或Internet及Internet上的应用程序的开发组设计的。该版本包括专业版的全部功能连同自动化管理器、部件管理器、数据库管理工具及MicrosoftVisualSourceSafe面向工程版的控制系统等。上一页下一页返回任务2VisualBasic程序设计的开发平台1.2.3VisualBasic的基本特点“visual”指的是可视化、图形化的应用程序开发方法,它不需要编写大量代码去描述界面元素的外观和位置,而只要把预先建立的对象拖放到屏幕上即可。这是visualBasic最显著的特点。visualBasic是一个强大的在Windows平台上使用的开发工具,从开发个人或小组使用的小工具,到大型企业应用系统,甚至通过Internet遍及全球的分布式应用软件,都可以使用VisualBasic语言进行开发。VisualBasic之所以有这么广泛的用途是因为它具有以下特点。(1)真正的面向对象编程,使开发人员在维护系统运行时只需要修改很少的代码,同时也就加快了系统开发的速度。(2)可视化的编程方法,以及向导的功能,使开发人员几乎不用输入太多的代码就可以开发Windows程序。上一页下一页返回任务2VisualBasic程序设计的开发平台(3)数据访问特性允许对包括MicrosoftSQLServe和其他企业数据库在内的大部分数据库格式建立数据库和前端应用程序。(4)通过ActiveX技术可以使用其他应用程序提供的功能,例如,MicrosoftWord字处理软件,MicrosoftExcel电子表格及其Windows应用程序,甚至可以直接使用VisualBasic创建应用程序和对象。(5)支持Internet,很容易通过Internet访问文档和应用程序。(6)已经完成的应用程序是真正的*.txt文件,并提供运行时的可自由发布的动态链接库(DLL)。上一页返回任务3VisualBasic6.0的集成开发环境VisualBasic6.0的集成开发环境如图1-1所示,下面把这个集成开发环境窗口分解开来,逐一介绍。1.标题栏如图1-2所示,窗口标题栏显示当前正在做了什么。标题栏为蓝灰色,表示当前处活动状态。2.菜单栏菜单栏如图1-3所示。其中显示了所有的VisualBasic菜单命令。在VB6.0中,菜单栏上的菜单是下拉式的。菜单栏上的菜单还可以用按Alt+菜单名称后带下画线的字符键的方式激活。下拉菜单中如果菜单命令选项右边带一个三符号,则表示它还有下一级子菜单带省略号,则表示选择该菜单命令后会弹出一个对框。按上、下键移动下拉菜单中的蓝条到所需的选项上,按Enter键,就可以执行相应菜单命令。下一页返回任务3VisualBasic6.0的集成开发环境3.工具栏工具栏如图1-4所示,它提供了常用命令的快速访问方式。单击工具栏上的按钮,就会执行按钮所代表的操作。按照默认规定,启动VB之后即显示标准工具栏。附加编辑,窗体设计和调试的工具栏可以从“视图”菜单上的“工具栏”命令中显示或隐藏。4.窗体设计窗口窗体设计窗口用于设计应用程序界面,如图1-5所示。在该窗口中,可以添加控件、图形和图像来创建所需要的各种应用程序的外观。应用程序的每个窗体都拥有自己的窗体设计窗口。窗体的上方是标题栏,系统初始化后默认的窗体称为“Form1”,其中带网格点的窗体称为窗体设计器。一个应用程序可以有一个窗体,也可以有多个窗体。每一个窗体都有自己的窗体设计窗口。上一页下一页返回任务3VisualBasic6.0的集成开发环境5.工程资源管理器在窗体右边是“工程”窗口、“属性”窗口和“窗体布局”窗口。默认状下,这3个窗口排在同一列上。“工程”窗口也称工程资源管理器窗口(ProjectExplorer)。在该窗口中,可以看到装入的工程以及工程中的项目,如图1-6所示。“工程”窗口是一个活动的窗口,可以单击其标题栏,然后按住鼠标左键,任意移动。单击“工程”窗口标题栏上的“关闭”按钮,关闭该窗口。需要查看时,可单击“视图”菜单,选择“工程窗口”命令。工程窗口中列出了已经装入的工程以及工程中的项目。工程中的项目可分为如表1-1所示的9类上一页下一页返回任务3VisualBasic6.0的集成开发环境6.属性窗口VB6.0中,窗体及窗体上的每个控件都用不同的属性描述。每个对象的属性可以通过“属性”窗口中的属性项改变或设置,也可以在程序代码中进行设置。在初始化时,每个控件都有一组默认的值,称作默认值。“属性”窗口如图1-7所示。对象框显示当前的对象名,并附上所属的控件类。对象框右边有一个下拉按钮,单击该按钮,VB6.0在其下拉列表中列出本窗体上所有控件的名称及所属的类。属性列表框是“属性”窗口的主体。属性列表框上有两个选项卡,一个是按字母顺序排列的属性,另一个是按逻辑(诸如与外观、字体或位置有关)分类的层次结构视图。由于属性较多,可以用滚动条进行翻页查看。可根据习惯选用“按字母序”选项卡或“按分类序”选项,属性设置结果是相同的。属性列表框中左列显示所选对象的全部属性名,右列是可编辑和查看的设置属性的值。上一页下一页返回任务3VisualBasic6.0的集成开发环境7.代码窗口当在窗体设计窗口双击控件对象,就能显示代码窗口,可以看到VB6.0程序代码显示在其中,用户可以修改,写入程序代码,让程序实现一定的功能,这也是整个程序设计的关键。如果对VB语言的语法还不是十分了解,可以在以后的章节中继续学习“VB语法”。8.调试窗口除了以上的窗口外,还有供调试程序时用的“立即”窗口、“本地”窗口,调试用堆栈及快速监视等,如图1-8所示。这些属于辅助窗口,可以在“视图”菜单中找到有关选项,选择后,相应的窗口就能调到屏幕上。上一页下一页返回任务3VisualBasic6.0的集成开发环境9.窗体布局窗口“窗体布局”窗口如图1-9所示。它用于显示当前窗体的初始化位置和相关尺寸。对于只有一个窗体的应用程序(即单窗体程序),窗体布局窗口似乎没有多大的优越性,但对于多窗体的应用程序而言,就显得十分必要。在多窗体情况下,当把光标放置到某个窗体上时,它会变成一个带4个箭头的十字图形,按住鼠标左键,可以将窗体放在所希望的地方,此时,布局窗口中的“小窗体”会随“大窗体”的移动而移动。可以通过布局窗口,确定“大窗体”的位置。10.工具箱工具箱提供了一组工具,用于用户界面的设计。VB6.0工具箱中的控件及其名称如图1-10所示。默认的工具箱并列放置两排控件,容纳VisualBasic6.0的21个标准控件。每当增加其他的ActiveX时,新增加的工具按钮就会延仲到屏幕下方。上一页返回任务4VisualBasic程序设计的基本步骤在本节中,将介绍如何编制一个应用程序,一般来说,创建VisualBasic应用程序有4个步骤:创建程序界面即界面设计;设置属性;编写代码;调试运行。本节将通过一个应用程序编制过程的介绍,来讲解VisualBasic编程的基本方法和特点。下一页返回任务4VisualBasic程序设计的基本步骤1.4.1界面设计编制VisualBasic应用程序的第一步就是设计应用程序界面。在VisualBasic应用程序设计中,设计应用程序界面是一个关键部分。按照前面讲的步骤启动VB6.0,在窗体设计窗口自动创建一个名为“Form1”的窗体文件。操作步骤如下。(1)在工具箱中选择文本框空间,然后在“窗体设计”窗口中用鼠标在合适的位置单击,然后拖动鼠标,这时在窗体中会出现一个虚框,鼠标停留一段时间以后,会出现一个提示工具条,显示文本框的大小。松开鼠标后,窗体就会在虚框的位置出现一个文本框,文本框中会自动显示一个“Text1”字符串。如图1-11所示。(2)在工具箱中,选择“命令按钮”控件。用鼠标在窗体的合适位置单击,然后拖动虚框到合适大小,这样在指定的位置就会出现一个按钮。在按钮上会显示“Commandl”字符串,这是该按钮的名称和标题值。上一页下一页返回任务4VisualBasic程序设计的基本步骤(3)在窗体中再添加3个“命令按钮”控件,它们的位置可以根据图1-12中各个按钮的位置确定。用户会发现每一个新添加的按钮都是“Command”再加上当前存在的按钮数,例如加入第2个按钮时,其名称就是“Command2”。这个规则在VisualBasic集成环境中是通用的,无沦是新添工程、新添窗体还是新添控件,只要用户没有为它们重新命名,就使用其默认的名称,这些新添的文件名称都是该文件或控件的名称再加上当前文件或控件的数目。(4)在工具箱中选择“标签”控件,在文本框的上面添加一个“标签”控件,其名称为“选中控件”。该“标签”控件的默认名称的标题为“Label1”。这样文本显示器的界面就基本完成了如图1-13所示。上一页下一页返回任务4VisualBasic程序设计的基本步骤(5)初步完成的文本显示器的界面并不是非常美观。例如,按钮没有对齐,按钮的大小也不一致。按钮之间的距离也有大有小。在visualBasic以前的版本中如果出现了这种情况,就必须用鼠标仔细调整每一个控件的大小并对齐;但在VisualBasic6.0集成环境中提供了各种布局的控制命令,使得用户在调整控件布局时非常方便。调整布局之前,用户首先应当掌握如何选择控件。因为所有的布局命令都是针对一个或者一组控件进行操作的,所以必须熟悉如何选取一个或一组控件。在VisualBasic6.0中,选择控件有两种方法:单击法和区域法。单击法是单击要选择的控件,这时控件周围会出现8个蓝色的小方块,如图1-14所示。这8个小方块代表该控件可调整的8个方向,当鼠标移动到小方块上时,鼠标的形状就会变为双箭头,表示可以改变控件的大小。按住鼠标左键然后拖动,这时会出现一个虚框,这个虚框与创建控件时的虚框相同。将控件拖动到合适的大小后,松开鼠标左键就可以改变控件的大小了。如果要选择多个控件,方法也很简单,先按住Shift键,然后再单击需要选择的控件,即可选中一组控件,如图1-15所示。上一页下一页返回任务4VisualBasic程序设计的基本步骤仔细观察会发现,在这一组被选中的控件中,不是所有的控件周围的小方块都是蓝色的。只有最后一个被选中的控件是蓝色的,其他控件周围都是白色的小方块。这里最后一个被选中的控件被称为基准控件,如果要调整Command2和Command3两个按钮的大小Command相同,那么在选择这一组控件时就必须最后选择Command1。如果不是最后一个选择也没有关系,直接单击该控件即可将其设置为基准控件。区域法选择控件的方法很简单。将鼠标移动到窗体中合适的位置,按住鼠标左键,然后拖动鼠标,这时在窗体中会出现一个虚框,这个虚框所圈住的控件都会被选中。所以一般选择一组控件时都是使用区域法选择的,也可以两种方法配合使用,先用区域法选择大多数控件,然后再用区域法选择区域的控件。如果要取消一组被选中控件中的某个控件,可以按住Shift键,然后单击取消选择的控件,该控件周围的方块就会消失,表示该控件被取消选中了。选择“格式”菜单中的“锁定”命令,将设置后的结果固定,这时选择控件后,就不能再进行调整了,这样所有的布局设置就都完成了。上一页下一页返回任务4VisualBasic程序设计的基本步骤1.4.2属性设置调整完布局之后,可以看到文本编辑器已经初具规模了。但是许多地方,按钮控件上的文字,标签上的文字和字体,都要通过属性设置来完成。首先简单介绍一下属性的概念。属性是每个控件所固有的特性,就像石头,它有硬度、颜色等属性,这些属性就构成了石头这种事物。但是每块石头的硬度、颜色和大小的属性的具体值是不相同的,这就是属性值。用户在窗体中创建的所有控件,可以说都是这类控件的一个具体化的实例。每个实例都有其默认的属性值,如标题、文字、颜色等,但这些属性并不能完全满足要求,这时就必须对控件的属性进行设置。设置控件属性是在属性窗口中完成的,当在窗体中选择了一个控件之后,在属性窗口中就会列出该控件的所有属性和属性值。设置属性时,单击属性列表框中的某个属性,在其后对应的属性值框中输入该属性的属性值或者选择属性值列表中的一项,就完成了该属性的设置,如图1-16所示。上一页下一页返回任务4VisualBasic程序设计的基本步骤了解了设置属性的过程后,就可以开始为文本显示器设置属性了,操作步骤如下。(1)在窗体设计中选中Command1按钮,这时属性窗口中显示出Command1的属性列表。用户也可以在“属性”窗口上面的对象列表中选择Command1按钮控件,如图1-17。(a)所示,打开它的属性列表。在属性列表中选择Caption属性,在其后的属性值框中输入“用鼠标单击这里”,如图1一17(h)所示。用同样的方法,设置Cotntnand2的Caption属性值为“清除文字”;Cotntnand3的Caption属性值为“退出”;Cotntnand4的Caption属性值为“关于”;Label1的Caption属性值为“文本显示器”;Text1的Caption属性值为“空串”,即文本框中不显示字符串,如图1-18所示。(2)选中Label1标签控件,在“属性”窗口选择Font属性,默认的Font属性为小五号宋体,在Font属性值框后有一个…按钮,单击该按钮后(如果是在中文windows98操作系统下运行),会出现“字体”对话框,如图1-19所示。上一页下一页返回任务4VisualBasic程序设计的基本步骤(3)在“字体”对话框中的“字体”列表框中选择“隶书”,在“大小”列表框中选择“小二”,然后单击“确定”按钮。将Label1标签控件的Alignment属性设置为“2-Center",将Texl1文本框控件的Font属性,设置为小二号,隶书字体,将Texl1文本框控件的Alignment属性设置为“2-Center",将Text1文本框控件的文字颜色属性设置为绿色。这样,主界面中的控件属性就设置完成了。主界面设计基本完成后,如何向当前工程中添加新的窗体呢?根据前面的功能描述,当单击“关于”按钮时,应该出现一个“关于我的应用程序”对话框,在对话框中显示应用程序的版本信息和功能介绍等内容。操作步骤如下。上一页下一页返回任务4VisualBasic程序设计的基本步骤(1)选择“工程”菜单中的“添加窗体”命令,打开“添加窗体”对话框,如图1-20所示。(2)在该对话框中选择“‘关于’对话框”选项,然后单击“打开”按钮,系统会自动生成一个“关于我的应用程序”对话框,并且添加到当前的工程中,默认窗体名为frmAbout,如图1-21所示(3)APPDescription标签控件的Caption属性值为“在文本框中显示文本”Warning标签控件的Caption属性值为“版权所有,不得复制”;ApplicationTill。标签控件的Caption属性值为“文本显示器”。最后一个属性可以不用没置,实际在对话框的内部已经没置了该属性值,ApplicationTitle标签控件的Fort属性为小二号字。没计好的界面如图1-22所示。上一页下一页返回任务4VisualBasic程序设计的基本步骤1.4.3代码编写将应用程序所需要的所有内容都设计完成后,需要把这些内容连接起来,形成一个可用的应用程序,这就是编写代码工作的目的。在VisualBasic编程过程中,大部分的代码都是和控件的事件相联系的。(1)在文本编辑器主窗口中编写代码,在代码窗口中,Form_load()事件的代码为:PrivateSubFormLoad()Form1_Top=(Screen.Height-Form1.Height)/2’垂直方向居中Form1_Lefl=(Screen.Width-Form1.Width)/2’水平方向居中Endsub在这里,Screen.Height和Screen.Width分别代表当前屏幕的高度宽度;Form1.Height和Form1.Width分别是窗体的高度和宽度。将它们相减再除以2就得到了当窗体居中时窗体的位置坐标。利用“窗体布局”窗口也可以达到这样的效果,但是有时会因为显示模式的改变,窗体的位置也会发生改变,利用代码直接设置窗体的坐标就可以避免这种情况发生,如图1-23所示。上一页下一页返回任务4VisualBasic程序设计的基本步骤在VisualBasic代码编写中,操作符表示属性的引用关系,如Forml_Top中的Top就是Form1窗体的属性,而不是其他控件的属性。(2)在代码窗口的对象列表中,Command1代码为:PrivateSubCommand1_Click()Text1.text=}‘进入VisualBasic(',世界,'设置文本框的文件EndSub(3)在代码窗口的对象列表中,Command2代码为:PrivateSubCommand2_Click()Text1.text=“”'设置文本框的文件为空EndSub(4)在代码窗口的对象列表中,Command3代码为:PrivateSubCommand3_Click()UnloadForm1'关闭窗体EndSub在这里,UnloadForm1的功能是将主窗体卸载,退出应用程序,返回到原来的集成环境中。上一页下一页返回任务4VisualBasic程序设计的基本步骤(5)在代码窗口的对象列表中,Command4代码为:PrivateSubCommand4_Click()frmAbout.Show1'显示对话框EndSub在这里,frmAbout.Show1的功能是打开对话框,Show是frmAbout的一个方法。Show方法是窗体所具有的方法,可以控制窗体的显示。Show方法有两种打开窗体的模式,一种是模式窗体,一种是非模式窗体。如果Show语句使用的参数为1,则显示的是模式窗体,Show语句后的语句只能在模式窗体关闭后才能执行,同时在显示模式窗体时,也不能再显示其他窗体。非模式窗体则没有这些限制。在代码窗口中,“’”用来注释文本。添加注释是在编写代码时非常重要的步骤,如果是编写大的应用程序,一定要注意编写详细的代码注释;否则,软件的维护和升级将会非常困难。上一页下一页返回任务4VisualBasic程序设计的基本步骤1.4.4调试运行到这里,文本显示器已经基本完成了,下面可以尝试运行该程序。按FS键或者通过选择“运行”菜单中的“启动”命令,就可以运行第一个应用程序了。运行的结果如图1-24所示。如果在编写程序时存在错误,程序会提示出错信息,如图1-25所示,这时需要单击“调试”按钮)。程序会自动将错误语句标成黄色,经检查发现1rtnAboul.Show1错误地写成了frmAbout.Show1,修改后再重新运行即可,如图1-26所示。上一页返回任务5第一个VisualBasic应用程序前面详细介绍了VB程序设计的4个基本步骤,这里来做一个简单的VB程序设计,进一步掌握VB程序设计的4个基本步骤:界面设计;属性设置;事件代码编写和调试运行程序。【例1一1】求两数之和。(1)界面设计。设计界面如图1-27所示,窗体上有3个标签,3个文本框和1个命令按钮。其中,两个文本框接收数据,一个文本框显示求和结果。(2)属性设置,如表1-2所示。下一页返回任务5第一个VisualBasic应用程序(3)代码编写。PrivateSubCommand1ClickDima,bAsIntegera=Texl1.Textb=Texl2.TextTexl3.Text=a+bEndSub(4)调试运行。程序的运行结果如图1-28所示。上一页返回图1-1VisualBasic6.0开发环境返回返回图1-2标题栏图1-3菜单栏返回图1-4工具栏返回返回图1-5窗体设计窗口图1-6工程窗口返回表1-1工程所包含的项目返回返回图1-7“属性窗口”图1-8“调试窗口”返回返回图1-9“窗体布局窗口”图1-10工具箱返回图1-11添加“文本框”控件返回图1-12添加Command控件返回图1-13文本显示器的界面初步完成结果返回返回图1-14选择一个控件图1-15选择一组控件返回图1-16设置属性值返回图1-17设置Comnand1属性返回图1-18设置Caption属性后的结果返回图1-19“字体”对话框返回图1-20“添加窗体”对话框返回图1-21在工程中添加‘应用程序”对话框返回图1-22设计好的‘关于我的应用程序”对话框返回图1–23代码窗口返回图1-24运行结果返回图1-25错误提示返回图1-26系统标记错误返回图1-27设计界面返回表1-2对象属性设置返回图1-28运行结果返回模块2VB程序设计语言基础任务1VB中的数据与运算任务2VB函数任务3输入与输出任务4程序的流程控制

返回任务1VB中的数据与运算

数据与数据运算是任何一种程序设计语言编程的基础。VB提供了丰富的数据类型和运算方式以适应不同的场合。2.1.1数值型数据VB6.0的数据类型比较丰富,可以分为两大类:基本数据类型和用户自定义类型。

表2-1列示了VB6.0使用的基本数据类型。

基本数据类型是系统定义的标准数据类型,可以直接使用。分为6类:数值型,日期型,逻辑型,字符型,对象型和变体型。下一页返回任务1VB中的数据与运算数值型数据分为整型和实型两类。整型数据分为整数和长整数,实型数据分为单精度和双精度数据。有时把货币型和字节型数据也归为数值型数据。(1)整数。整数是不带小数点,范围在-32768~32767之间,在机器内使用2个字节存储。在VB6.0中数尾常加“%”表示整型数据,也可省略。如-34,78%。(2)长整数。长整数可以超过整数-32768~32767范围,可以是-2147483648~2147483647之间的不带小数点的数,在机器内用4个字节存储。在VB6.0中数尾常加:“&”表示长整型数据。如-334&,67785649&。(3)单精度数。单精度数是带小数点的实数,有效数字为7位,在机器内用4个字节存储。通常以指数形式表示,指数部分用“E”或“P”表示。在VB6.0中数尾常加“!”表示单精度数据,也可省略。如-234.78,2.67e+3。上一页下一页返回任务1VB中的数据与运算(4)双精度数。双精度数也是带小数点的实数,有效数字为15或16位,在机器内用8个字节存储。通常以指数形式表示,指数部分用“D”或“d”表示。在VB6.0中数尾常加“#”表示双精度数据,也可省略。如-374.778,5.678D+2,-2.67e+30。(5)货币型数据。货币型数据是为计算货币而设置的定点实数或整数,它的精度要求较高,规定小数点后有4位,在机器内用8个字节存储。在VB6.0中数尾常加“@”表示货币型数据。如3.4@,565@。(6)字节型数据。字节型数据是范围在0~255之间的无符号整数,在机器内用一个字节存储。上一页下一页返回任务1VB中的数据与运算2.日期型数据日期型数据是为表示日期设置的,范围在公元100年1月1日~9999年12月31日,时间是00:00:00~23:59:59内的数据,在机器内用8个字节存储。口期型数据必须用“#”括起来,如:#1986-12-30#、#6:23:25pm#。3.逻辑型数据逻辑型数据是用来表示逻辑判断结果的,只有真(True)和假(False)两个值,在机器内用2个字节存储。当在使用中数值型数据要转换为逻辑型数据时,非0变为True;0变为False。反之,逻辑型数据转换为数值型数据时,True变为-1,False变为0。上一页下一页返回任务1VB中的数据与运算4.字符型数据字符型数据是用双引号括起来的一串字符,用来定义一个字符序列。在机器中一个字符用1个字节存储。在默认字符状态下,它是变长字符串,也可以声明为定长字符串,如果字符个数少于固定长度,自动用空格将不足部分补齐;否则,会自动截去多余部分的字符。5.对象型数据对象型数据主要以变量形式存在,可以引用应用程序中的对象。在机器内用4个字节存储。6.变体型数据变体型是一种通用的,可变的数据类型,它可以表示以上任何一种数据类型。它是声明变量时的默认类型。可以通过VarType函数来检测变体型变量的实际数据类型,如表2-2所示)。上一页下一页返回任务1VB中的数据与运算【例2-1】DimaAsVarianta=56'a为整型a=〞china〞'a为字符型应该尽量少用变体型数据,以避免发生错误。上一页下一页返回任务1VB中的数据与运算2.1.2有定义数据类型除了上述基本类型外,用户还可以根据需要用Type语句定义自己的数据类型。格式:Type数据类型名元素名As类型名元素名As类型名元素名As类型名···EndType其中,数据类型名为自定义数据类型名,元素名为自定义数据类型中的一个成员,类型名为上述基本类型名或自定义数据类型名。上一页下一页返回任务1VB中的数据与运算

【例2-2】定义一个名为Employee(职工)的类型,其中包括职工号、姓名、年龄、电话和住址。TypeEmployeeEmpNoAsIntegerNameAsString*10'长度为10AgeAsIntegerTelAsString*10AddressAsString*20EndType注意:自定义类型中的元素为字符型时,必须为定长字符串。自定义数据类型类似于C语言中的结构体,因此通常把这种类型称为记录型。这样,就可以定义一个Employee类型的变量了。DimEmPAsEmployee'用变量元素的形式引用各成员上一页下一页返回任务1VB中的数据与运算2.1.3常量与变量1.常量程序运行过程中,其值始终不变的量称为常量。在VB6.0中,常量有直接常量和符号常量两类。1)直接常量直接常量是直接以数据形式表示的常量。包括字符型常量,数值型常量,逻辑型常量和口期性常量,如10,56&,22.4e4,“Name”,True等。在VB6.0中还可以使用八进制和十六进制形式表示直接常量。八进制数以&0打头,十六进制数以&H打头,如&067,&H7A34等。上一页下一页返回任务1VB中的数据与运算2)符号常量符号常量是用符号表示的常量,它可以取代多次出现的很大的数字或很长的字符串。符号常量分为系统定义的符号常量和用户定义的符号常量。(1)系统定义的符号常量:系统定义的符号常量是由系统或引用的对象提供的。它位于对象库中,使用时可以在“对象浏览器”窗口中查看。如VB6.0中经常使用VBNormal,VBMinimized和VBMaximized来代替表示窗体状态的0(正常窗口),1(最小化窗口)和2(最大化窗口),这样使用非常直观。(2)用户定义的符号常量:用户定义的符号常量是用户使用Const语句定义的符号常量。上一页下一页返回任务1VB中的数据与运算格式:[Public|Private]Const<符号常量名>[As<数据类型>]=<表达式>…其中:“[]”为可选项,“<>”为必选项,"I”表示只取其中之一,“…”表示若干项中间用“,”分隔。例如:ConstPi=3.141592653589ConstDate=1/1/68ConstMAsInteger=45,D="tea"注意:符号常量一经声明只能引用,不能改变。上一页下一页返回任务1VB中的数据与运算2.变量在程序运行过程中,其值可以改变的量称为变量。变量由名字和数据类型确定。1)变量的命名规则变量名由字母,数字和下画线组成,第一个字符必须是字母或汉字,最后一个字符可以是类型说明符,并且组成变量名的字符数不得超过255个。为了增加程序的可读性,可在变量名前加上表示变量数据类型的前缀。例如,strName(字符型),intAge(整型),dlmDala(日期型)等。注意:变量名不得使用VB6.0的保留字(符号常量与后面讲到的数组、函数及过程的命令规则完全相同)。上一页下一页返回任务1VB中的数据与运算2)变量声明变量声明是用语句来定义变量的数据类型,以此来确定所占存储单元的大小。(1)用Dim和Static声明变量。格式:[Private|Public|Dim|Static]<变量名1>[As<类型1>][,<变量名2>[As<类型2>]…其中:PrivateIPublic为模块或全局变量,属于变量的作用域范畴。Dim声明的变量为动态变量,其值在程序运行结束时不保留。Static声明的变量为静态变量,会保留上次调用结束时的值。例如:PrivateSubxClick()StaticaAsIntegerDimhAsIntegera=a+1h=h+1EndSub

上一页下一页返回任务1VB中的数据与运算当第一次调用此过程时,a,b默认为0,故执行完该过程的最后一条语句后,a,b均变为1。当第二次调用此过程时,a变为1,而b又恢复为0,故执行完此过程的最后一条语句后,a的值为2,b的值为1。这就是因为a是静态变量,调用结束后的值会保存下来;而b是动态变量,调用后的值会释放,即每次调用此过程时,b的初始值均为0。(2)用省略As的Dim语句声明变量为变体型。格式:Dim变量名(3)用类型符声明变量。格式:变量名<类型符>例如,strName$,sngFloat和lngNum&。上一页下一页返回任务1VB中的数据与运算3.变量的作用域变量的作用域即变量的作用范围。一个变量的作用范围有多大取决于它是了什么级别的变量。从作用域来讲,变量有局部变量、窗体和模块级变量以及全局变量之分。1)局部变量在一个过程内部声明的变量是局部变量,又称为过程变量。这种变量只在声明它的过程内有效。例如:PrivateSubForm1Click()DimaAsInteger…EndSub此时,a为局部变量,只在该过程内有效。因此,在不同过程中,可以使用相同的变量名,它们互不干扰。这充分体现了它的独立性。上一页下一页返回任务1VB中的数据与运算2)窗体和模块级变量在一个窗体或模块内,而在过程外声明的变量为窗体或模块级变量。这种变量在整个窗体或模块中有效,本窗体或模块内的所有过程都可以使用。若在其他窗体或模块中使用,必须以Public声明此变量,否则,其他模块或窗体不能使用,但在使用时必须指明该变量所在的对象。这也是它与全局变量的区别。例如,在窗体Form1中声明变量a(PublicaAsInteger),在另一窗体Form2中使用时,必须写成Form1.a,而不能直接写成a,因为只有全局变量才可以直接使用。注意:以Private或Dim声明的变量是窗体和模块级变量,只能在本模块中使用。3)全局变量在模块文件中声明的变量为全局变量。这种变量在任何模块或窗体中均有效,但必须用Public声明,即PublicbAsSingle,如图2一1所示。上一页下一页返回任务1VB中的数据与运算2.1.4运算符和表达式运算符是描述不同运算的符号,在VB6.0中有赋值运算符、算术运算符、连接运算符、关系运算符和逻辑运算符。参与运算的量称为操作数。由运算符将参与运算的量(常量、变量、函数等),即操作数连接起来的式子为表达式。表达式从运算符角度又可分为算术表达式、连接表达式、关系表达式和逻辑表达式。1.赋值运算符赋值运算符用于给变量、数组或对象的属性赋值,用“=”表示。格式:Variable=表达式其中:Variable可以是变量、数组或对象的属性。表达式可以是常量、变量或表达式,但必须有确定的值。上一页下一页返回任务1VB中的数据与运算例如:DimaAsString*5a="China"'将’'China"赋给字符型变量acmdDisplay.Caption="显示文本"'将’‘显示文本’‘赋给按钮cmdDisplay的Caption属性注意:赋值符两端的数据类型应该匹配,不匹配时,应进行转换。上一页下一页返回任务1VB中的数据与运算2.算术运算符算术运算符主要用于算术运算。VB6.0中有8个算术运算符,如表2-3所示。说明:(1)算术运算符的操作数可以是数值型、数字字符型或逻辑型,数字字符型或逻辑型数据自动转换为数值型后再参与运算。(2)整除运算是直接取整而不进行四舍五入的操作。如果参加整除运算的操作数是实数,按四舍五入的规则将其改变为整数后,再参与运算,如6.7\2的结果是3。(3)取模运算的操作数可以是实数,先按四舍五入的规则将其变为整数后,再参与运算,如12.35Mod4.7的结果为2。(4)优先级是多个运算符出现在一个表达式时的运算顺序,优先级高的先进行运算,优先级低的后进行运算。序列号越小优先级越高。上一页下一页返回任务1VB中的数据与运算3.连接运算符连接运算符主要用于两个字符串的连接,如表2-4所示。说明:(1)“&”连接的操作数为非字符型时,将其转换为字符型再连接如"1234"&"5"的结果为"12345"。(2)“+”连接的操作数为字符型时实现连接,其中一个为数字字符型,另一个为字符型,或者两个都为字符型时,实现算术加法运算,前者只是将数字字符型变为数值型。若其中一个为数值型,另一个为非数字字符型时,则会出错,如"12A"+"5"则报错。上一页下一页返回任务1VB中的数据与运算4.关系运算符关系运算符主要用于两个操作数的比较,其结果必为逻辑型数据,如表2-5所示。说明:(1)两个操作数为字符型时,按ASCII码值对应比较,直到出现不相同的字符为止,ASCII码值大的字符串大。(2)汉字字符大于西文字符。(3)Like字符串用于字符串的模糊查询,通常与通配符“?”,“*”,“”及[字符列表],[!字符列表]等结合使用。其中“?”表示任意单个字符,“*”表示任意多个字符,“”表示任意0~9的数字,[字符列表]表示字符列表中的任何单一字符,[!字符列表]表示不在字符列表中的任何单一字符。(4)所有关系运算符的优先级相同。上一页下一页返回任务1VB中的数据与运算5.逻辑运算符逻辑运算符主要用于逻辑运算,其操作数经常是关系表达式或逻辑型数据,如表2-6所示。注意:在表达式中出现各种运算符时,其优先顺序为算术运算符>连接运算符>关系运算符>逻辑运算符也可以使用()改变优先顺序。每个运算符的运算顺序均为自左至右。上一页下一页返回任务1VB中的数据与运算2.1.5数组数组主要用于处理大量的数据,把具有相同属性、类型的数据组合在一起即为数组。数组中的每一个数据称为一个数组元素,可以用数组名和数据在数组中的序号(即下标)唯一表示。数组必须声明后使用。声明时要声明其数组名、类型、维数和数组大小,同时按声明是否可以确定数组的大小将数组分为静态数组和动态数组。上一页下一页返回任务1VB中的数据与运算1.数组的定义格式:Dim数组名(下标[,下标2···])[As数据类型]其中:下标有几个就表示几维数组。下标可以表示为[下界To]上界,下界省略时默认为0。例如:Dima(1,3To5)AsInteger定义了一个整形二维数组,分别为:a(0,3),a(0,4),a(0,5),a(1,3),a(1,4)和a(1,5)。Dimb(2To4,5To9)AsInteger也定义了一个整形二维数组。上一页下一页返回任务1VB中的数据与运算2.静态数组和动态数组静态数组是指数组元素个数确定的数组。动态数组是指元素个数不确定需要根据实际使用确定的数组。1)静态数组格式:Public|Private|Dim数组名(维数定义)[As类型]功能:指定数组的维数及各维的范围。其中:(维数定义)表示为[下标下界1To]下标上界1[,[下标下界2To]下标上界2]…其中下标下界默认为0,也可由OptionBase1控制(即在定义数组前,使用该语句时,下标上界为1)。[As类型]默认时为变体型。

上一页下一页返回任务1VB中的数据与运算例如:DimM(3,1To4,1To5)AsDouble它是一个三维数组,第一维下标范围为0一3,第二维下标范围为1一4,第三维下标范围为1~5。2)动态数组有时,事先无法确定到底需要多大的数组,并且希望在运行时能够改变数组的大小,就可以定义为动态数组。创建动态数组的方法很简单。操作步骤如下。(1)用Public语句(公用数组),Dim语句(模块级数组),Static或Dim语句(局部数组)在过程中声明数组。给数组赋一个空维数表,这样就将数组声明为动态数组。上一页下一页返回任务1VB中的数据与运算(2)在过程中用ReDim语句为声明的动态数组分配实际的元素个数。格式:ReDim[Preserve]数组名(维数定义)[As类型]其中:ReDim语句用来定义或重定义原来已经用带空括号(没有维数下标)的Private,Public或Dim语句声明过的动态数组的大小。可以使用ReDim语句反复改变数组的元素以及维数的数目,但是不能在将一个数组定义为某种数据类型结构之后,再使用ReDim将该数组改为其他数据类型,除非是Variant所包含的数组。如果该数组确定是包含在某个Variant中,且没有使用Preserve关键字,则可以使用As<类型>子句来改变元素的类型,但在使用了此关键字的情况下,是不允许改变任何数据类型的。上一页下一页返回任务1VB中的数据与运算如果使用了Preserve关键字,即可在重定义数组最末维的大小的同时仍保留数组中的内容,例如:ReDimM(5,5,5)…ReDimPreserveM(5,5,10)为已有的动态数组M增加其最末维大小的同时,又不清楚其中所含的任何数据。注意:如果将数组改小,则被删除的元素的数据就会丢失。如果按地址将数组传逆给某个过程,就不要在过程内重定义该数组各维的大小。上一页下一页返回任务1VB中的数据与运算【例2一3】当单击“输入成绩”按钮时,在InputBox对话框中输入学生人数,然后在对话框中依次输入不多于人数的几个成绩。再次单击“输入成绩”按钮将追加学生人数和成绩。单击“显示成绩”按钮显示成绩平均分和未输入成绩的人数。程序代码如下:Dimmark%(),aver%,k%,n%PrivateSubinputnark(k,n,aver)DoWhitek<nMarkx=InputBox(“输入第:”&k+1&“位学生的成绩”,“数据输入”)Ifmarkx=""ThenExitDok=k+1:mark(k)=markx::aver=aver+markxLoopEndSubPrivateSub输入成绩_Click()Dimm$上一页下一页返回任务1VB中的数据与运算m=lnputBox(“请输入学生人数”)Ifm<>""Thenn=k+Cint(m)ReDimPreservemark(1Ton)Callinputmark(k,n,aver)EndSubPrivateSub显示成绩_Click()Print“已经输入的学生成绩为:"ForI=1TonPrintmark(i);IfIMod10=0ThenPrintNPXLPrintPrint“有";n-k;"个学生的成绩没有输入"Print"平均成绩为";aver/nEndSub上一页下一页返回任务1VB中的数据与运算程序中k值决定数组元素的下标。程序运行时,第一次单击“输入成绩”按钮,输入人数3,此时数组确定为3个元素,实际输入2个成绩赋给第1,2个元素后(k=2),第二次单击“输入成绩”按钮,输入人数3,此时数组确定为3个元素,实际也输入2个成绩赋给第3,4个元素(k=4),但是数组还是有5个元素。单击“显示成绩”按钮,将输出5个元素的值,最后一个元素的值为0。上一页下一页返回任务1VB中的数据与运算3.数组的基本操作数组是一个整体,而实际使用时常常是牛l一对个体(即数组元素)进行的。其基本有给数组元素赋初值,数组的输入、输出以及数组的整体赋值等。1)给数组元素赋初值可以使用循环结构和Array函数给数组元素赋初值。(1)使用循环结构赋初值。例如:Fori=1To10a(i)=0Nexti则a(1)~a(100)的初值均为0。(2)使用Array函数赋初值。Array函数的功能是返回一个Variant型的数组。格式:<数组名>=Array<列表>)上一页下一页返回任务1VB中的数据与运算其中:<列表>用于给Variant型的数组各元素赋值的值表(用“,”号分隔)。如省略,则建立一个长度为0的数组。<数组名>为已经声明过的Variant型可调用数组名。例如:DimAAsVariantA=Array(2,4,6)则A(1)=2,A(2)=4,A(3)=6,数组A的大小也就确定为3。上一页下一页返回任务1VB中的数据与运算2)数组的输入数组的输入一般通过文本框和InputBox函数输入。对于大型的数组,一般都采用文本框方式输入。3)数组的输出常使用循环结构输出数组的全部和部分元素。例如:PrivateSubForm_Click()Dima(3,3)AsIntegerFori=0To3ForJ=OTo3a(i,j)=Int(90*Rnd+10)上一页下一页返回任务1VB中的数据与运算NextjNextiFori=0To3t=a(i,0):a(i,0)=a(i,3):a(i,3)=tNextiFori=0To3Ifi-(3-i)<=0ThenPrintTab(i*3+1);a(i,i);Spc((2一2*i)*3+1);a(i,3一i)ElsePrintTab((3一i)*3+1);a(i,3一i);Spc((2*I一4)*3+1);a(i,i)EndIfNextiEndSub上一页下一页返回任务1VB中的数据与运算4)数组的整体赋值可以将已知数组整体赋值给另一个可调数组,并自动确定可调数组的大小。例如:DimA(3)AsString,B()AssiringA(0)="张三":A(1)="李四":A(2)="王五":A(3)="赵六"B=A则B数组的大小确定为4,且顺序与A的值相同。上一页下一页返回任务1VB中的数据与运算4.控件数组1)控件数组的概念控件数组是具有相同名称、类型以及事件过程的一组控件。例如,Label1(0),Label1(1),Label1(2)都是标签控件。每个控件具有一个唯一的索引。当数组中的一个控件识别某一事件时,它将调用此控件数组的相应时间过程,并把相应索引作为参数传递给事件过程。一个控件数组至少应有一个元素,在控件数组中可用到的最大索引值为32767。同一控件数组中的元素有自己的属性设置值。

上一页下一页返回任务1VB中的数据与运算2)控件数组的建立(1)设计时创建控件数组。在窗体上添加一个新控件,确定控件的类型和控件数组中的第一个控件。设置控件Name属性,为其命名。选择下述方法之一创建控件数组。方法一:选定控件,单击“复制”按钮,再单击“粘贴”按钮,弹出一个对话框,单击“是”按钮即可。方法二:创建一个同类型的新控件,设置新控件Name属性时,输入与上面的控件相同的名字,则同样弹出一个对话框,单击“是”按钮即可。直接将创建控件的索引值指定为0后按照方法一或方法二创建控件数组中的成员,不会弹出对话框。上一页下一页返回任务1VB中的数据与运算(2)运行时添加控件数组。通过Load方法向控件数组中添加新成员,并设置Visible属性为True。例如:单项选择题,如图2-2所示。PrivateSubCommand1Click()IfOplionl(2)=TrueThenMsg.Box"选择正确!"ElseMsg.Box"选择错误!"EndIfEndSubPrivateSubOption1Click(IndexAsInteger)EndSub参数Index选择控件数组的成员。上一页返回任务2VB函数在VB6.0中,有两类函数:内部函数(标准函数)和自定义函数。内部函数是系统提供的,可以直接使用。自定义函数是用户根据自己需要编制生成的。本节只介绍常用内部函数,其他内部函数可以从VB6.0的联机帮助中查找。2.2.1数学函数数学函数主要用于各种数学运算,如表2-7所示。下一页返回任务2VB函数2.2.2字符串函数字符串函数主要用于字符串的处理,如表2-8所示。说明:(1)C是字符型,N是数值型(N表示个数,N1表示起始位,M等于0表示区分大小写,M等于1表示不区分大小写。(2)带

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论