Visual Basic 程序设计教程 (第3版) 同济大学计算机系基础学科组 http://jsjjc.tongji.edu.cn 021-65980204
目 录 第1章 Visual Basic程序设计概述 第2章 VB可视化编程基础 第3章 VB语言基础 第4章 VB控制结构 目 录 第1章 Visual Basic程序设计概述 第2章 VB可视化编程基础 第3章 VB语言基础 第4章 VB控制结构 第5章 数组和自定义类型 第6章 过 程 第7章 用户界面设计 第8章 数据文件 第9章 图形操作 第10章 数据库应用基础
教学安排 章 内 容 学时 实验与学时 第1章 Visual Basic程序设计概述 1 实验1 1+1 第2章 VB可视化编程基础 2 内 容 学时 实验与学时 第1章 Visual Basic程序设计概述 1 实验1 1+1 第2章 VB可视化编程基础 2 实验2 2+2 第3章 vb语言基础 3 实验3 2+2 第4章 VB控制结构 6 实验4 2+2 第5章 数组和自定义类型 5 实验5 2+2 第6章 过 程 4 实验6 1+1 第7章 用户界面设计 实验7 2+2 第8章 数据文件 实验8 2+2 第9章 图形操作 实验9 2+2 合计 16周48学时(32+16)+课外16 32 16 + 16 * 第10章 数据库应用基础 实验10 2+4
教师通知
第1章 Visual Basic程序设计概述 1.1 Visual basic 简介 1.2 VB集成开发环境 1.3 建应用程序过程 1.4 VB帮助系统
1.1 Visual basic 简介 程序设计基本概念 Visual Basic的发展 Visual Basic的特点 本章目录
1.1.1 Visual Basic的发展 20世纪60年出现Basic语言; 20世纪80年代,True Basic、Quick Basic和Turbo Basic等; 1991年Microsoft公司推出Visual Basic1.0,以可视化工具为界面设计、结构化Basic语言为基础,以事件驱动为运行机制。从1991年的VB1.0至1998年的V B6.0的多次版本升级,功能更强大、完善,应用面更广; 2002年正式发布Visual Basic.NET。 本章目录
1.1.2 VB的特点 例1 设计一个滚动文字的广告程序,一行文字在具有背景图案的窗体上、下移动。 设计思路: 在窗体上使用标签Label对象来存放文字; 利用Timer控件来快速触发移动; 利用单击按钮来手动触发移动. 本章目录
如果改变标签的左上角坐标就可移动标签,即移动文字。 当一个标签放在窗体上时,标签的左上角坐标(用Left、Top表示)就被指定了。 0,0 Top Left 欢迎使用VB 如果改变标签的左上角坐标就可移动标签,即移动文字。 例如: Label1.Top=Label1.Top+50可使标签Label1向下移动50单位 本章目录
实现连续移动,可通过时钟对象Timer,在规定的时间间隔执行: Label1.Top =Label 1.Top+50 时钟对象的Interval可指定时间间隔,1秒为1000单位。每隔0.2秒移动一次可设置Interval=200 本章目录
窗体 程序进一步改进: 连续循环移动,首先要能判断出标签是否超出窗体范围。 Height 欢迎光临 该点在Top方向上的坐标为: 窗体的高度Height 如果标签的Top>窗体的高度,表示已越出窗体范围,可将标签移到窗体上方,此时标签的Top=? 本章目录
VB功能特点 具有基于对象的可视化设计工具 事件驱动的编程机制 提供了易学易用的应用程序集成开发环境 支持结构化程序设计语言 强大的网络、数据库、多媒体功能 完备的帮助功能 本章目录
1.2 VB集成开发环境 VB系统的安装 VB系统的启动 VB集成开发环境的使用 本章目录
安装 VB6.0有学习版、专业版和企业版三种版本。执行VB6.0的Setup.exe,在安装程序的提示下进行,初学者可采用典型安装方式。 VB6.0联机帮助文件使用MSDN文档格式,联机帮助文件不在VB6.0系统盘上,而与Visual Studio产品的帮助集合在两张CD盘上,安装过程中,系统会提示插入MSDN盘。 本章目录
启动 启动VB选择开始菜单中的 Microsoft Visual Basic 6.0中文版程序。 VB 6.0窗口列出了VB能够建立的应用程序类型,初学者只要选择默认标准.EXE。 单击新建按钮,就可创 建该类型的应用程序。 本章目录
1.2.1集成开发环境使用 本章目录
1.2.2 主窗口 三种工作模式 设计模式 界面的设计和代码的编制 运行模式 运行应用程序 中断模式 暂时中断程序运行,调试程序 设计模式 界面的设计和代码的编制 运行模式 运行应用程序 中断模式 暂时中断程序运行,调试程序 2. 菜单栏 包括13个下拉菜单 3. 工具栏 本章目录
1.2.3 窗体设计窗口 窗体是建立VB应用程序的主要部分,一个应用程序至少有一个窗体窗口。 每个窗体必须有一个唯一的窗体名,默认名为Form1. 设计状态的窗体由网格点构成,方便用户对控件的定位,网格点间距可以通过工具|选项|通用进入窗体网格设置. 运行时可通过属性控制窗体的可见性(窗体的网格始终不显示)。 本章目录
代码设计窗口 用来进行代码设计:各种事件过程、过程代码的编写和修改。 打开代码设计窗口的方法: 双击窗体、控件 资源管理器窗口的 ”查看代码” 本章目录
1.2.4 属性窗口 设置窗体或控件的属性,如 颜色、字体、大小等。 本章目录
1.2.5 工程管理器窗口 保存一个应用程序所有属性以及组成这个应用程序所有的文件。 工程文件的扩展名为.VBP,工程文件名显示在工程文件窗口的标题框内。 已存盘 未存盘 本章目录
1.2.6 工具箱窗口 由21个被绘制成按钮形式的图标构成,利用这些工具,用户可以在窗体上设计各种控件。其中20个控件称为标准控件(注意,指针不是控件,仅用于移动窗体和控件,以及调整它们的大小)。 也可通过工程|部件命令将第3方开发的其他控件装入到工具箱。 本章目录
1.3 创建应用程序的过程 建立一个应用程序分为以下几步: (1) 建立用户界面的对象 (2) 对象属性的设置 (3) 对象事件过程及编程 1.3 创建应用程序的过程 建立一个应用程序分为以下几步: (1) 建立用户界面的对象 (2) 对象属性的设置 (3) 对象事件过程及编程 (4) 保存和运行程序 例1.2 编写一个人民币与美元兑换的程序。 要求:通过输入兑换比率与人民币或美元金额,单击命令按钮显示兑换结果。 本章目录
按钮Command的Click事件执行处理命令。 设计思路: 建立用户界面的对象 输入使用文本框TextBox; 提示使用标签Label; 按钮Command的Click事件执行处理命令。 本章目录
1.4 使用帮助系统 使用MSDN Library查阅器 通过VB的帮助菜单,选择内容、索引或搜索菜单项
本章小节 Visual Basic 6.0 vb的三种工作模式 设计模式、运行模式、中断模式 VB程序组成 一个基于对象的可视化设计工具 控件和属性设置 窗体文件 工程 事件代码 模块文件 本章目录
第2章 VB可视化编程基础 2.1 VB对象概念 2.2 窗体和基本控件 2.3 综合应用
2.1 VB对象的概念 2.1.1 对象和类 对象指现实世界中的实体。如一个人、一辆 汽车、一台电脑、一份报表等。 2.1.1 对象和类 对象指现实世界中的实体。如一个人、一辆 汽车、一台电脑、一份报表等。 每个对象有自己的特征(属性)、行为(方法)和发生在该对象上的活动(事件)。 例如人具有身高、体重等特征; 具有行走、说话等行为; 外界作用在人对象上的各种活动,如下雨等。 本章目录
类的概念 在现实世界中,许多对象具有相似的性质,执行相同的操作,称之为同一类对象。类是对同一种对象的集合与抽象。 如人类是“人”的抽象。 类是创建对象实例的模板,对象则是类的一个实例。 类包含所创建对象的属性数据,以及对这些数据进行操作的方法。 本章目录
VB工具箱中的可视图标是VB系统设计好的标准控件类。 窗体上画一个控件,就将类实例化为对象 本章目录
2.1.2 对象的属性、事件和方法 如窗体、按钮、菜单、文本框等。 2.1.2 对象的属性、事件和方法 对象: 代码和数据的集合。 如窗体、按钮、菜单、文本框等。 对象名: 如Form1、Command2、 Menu1、Text3等默认名 对象的三要素:属性、事件和方法构成 本章目录
属性 属性名: 如Caption、Width、Font、Color 对象属性的设置方法: 程序运行时 通过语句 对象名.属性名=属性值 属性: 对象的一组特征,如:标题、宽度、字体等 属性名: 如Caption、Width、Font、Color 对象属性的设置方法: 设计阶段 利用属性窗口直接设置属性值 程序运行时 通过语句 对象名.属性名=属性值 例如:Command1.Caption = "确定" 本章目录
事件 事件: 在对象上所发生的事情 同一事件,对不同的对象,会引发不同的反应: VB为对象预先定义了一系列的事件。例如,单击Click、获取焦点GotFocus 、按下键盘KeyPress 等。 教师_铃声() 讲课 End Sub 学生_铃声() 听讲 End Sub 其他人员_铃声() 可不于响应 End Sub 本章目录
Sub 对象名_事件(参数) … 事件过程代码 End Sub 事件过程:发生某事件后所要执行的程序代码 应用程序设计的主要工作就是为对象 编写事件过程的代码。 事件过程的形式如下: Sub 对象名_事件(参数) … 事件过程代码 End Sub 本章目录
一个动作可能同时发生多个事件。例如单击鼠标同时发生了: Click、MouseDown、MouseUp事件 例:单击按钮 ,使Text1的字体为20磅. Sub Command1_Click() Text1.FontSize = 20 End Sub 一个动作可能同时发生多个事件。例如单击鼠标同时发生了: Click、MouseDown、MouseUp事件 编程时,只要对需要的事件过程编码。 注意:在代码窗,自动产生事件过程的模板,不要修改模板的内容,只需键入过程的代码。 模板产生 用户输入 本章目录
事件驱动 程序执行的次序与程序设计者无关,取决于用户的操作,这就是事件驱动程序设计方式。 VB程序的执行步骤如下: ① 启动应用程序,装载和显示窗体; ② 窗体(或窗体上的控件)等待事件的发生; ③ 事件发生时,执行对应的事件过程; ④ 重复执行步骤②和③。 本章目录
方法 面向对象的程序设计语言,为程序设计人员提供了一种特殊的过程和函数,称为方法。 方法是面向对象的,调用时一定要指明对象。对象方法的调用格式为: [对象.]方法 [参数名表] 若省略对象,表示当前对象,一般指窗体。 例如:Text1.SetFocus 此语句使Text1控件获得焦点,光标在本文框内闪烁。 本章目录
2.2 窗体和基本控件 窗体和控件具有基本属性 例2.1 (1) Name 名称属性 所创建的对象名称,在程序中引用。 窗体和控件具有基本属性 例2.1 (1) Name 名称属性 所创建的对象名称,在程序中引用。 (2) Caption 标题属性 该属性决定了对象上显示的内容。 (3) Height、Width、Top和Left属性 决定对象的高度、宽度,和位置。 本章目录
FontName字体、FontSize大小 FontBold粗体、FontItalic斜体、 FontStrikethru 删除线、 (4) Enabled 属性 对象是否允许操作 (5) Visible 属性 对象是否可见 (6) Font 属性组 文本的外观 FontName字体、FontSize大小 FontBold粗体、FontItalic斜体、 FontStrikethru 删除线、 FontUnderline 下划线 本章目录
(9) MousePointer 鼠标指针类型 设置值范围0~15,由系统指定 。若为99,由用户提供的图形文件定义鼠标指针形状。 (7) ForeColor属性 前景颜色 (8) BackColor属性 背景颜色 (9) MousePointer 鼠标指针类型 设置值范围0~15,由系统指定 。若为99,由用户提供的图形文件定义鼠标指针形状。 (10) MouseIcon属性 在MousePointer属性值为99时,存放自定义的鼠标图标文件(.ico或.cur)。图标库在Graphics目录下。 本章目录
所谓默认属性是程序运行时,可以改变某控件的值,而不必指定该控件的哪个属性。 控件默认属性 所谓默认属性是程序运行时,可以改变某控件的值,而不必指定该控件的哪个属性。 控 件 默认属性 文本框 命令按钮 单选按钮 Text Default Value 标签 图形、图像框 复选框 Caption Picture 例如,下面两条语句是等价的: Text1.Text="Visual BASIC" Text1 ="Visual BASIC" 本章目录
2.2.2 窗体 窗体是一块画布,是所有控件的容器,用户可以根据自己的需要利用工具箱上的控件在画布上画界面。 窗体属性决定了窗体的外观和操作。 本章目录
窗体-事件 Load:是在窗体被装入工作区时触发的事件。 常用的事件:Click、DblClick和Load。 作用:一般用于在启动应用程序时对属性和变量 进行初始化。 例2.2 初态:窗体无最大化按钮和最小化按钮; Load事件:在标题栏显示“装入窗体”,并装入一背景图; Click事件:标题栏显示“单击窗体”,装入另一图 DblClick 事件:标题栏显示“双击窗体” ,清除背景图。 本章目录
窗体-方法 使用方法的语法形式: [对象.]方法 [参数列表] Cls方法 Move方法 可移动窗体或控件,并可改变其大小。 语法格式如下: [对象.]Move 左边距离[,上边距离[,宽度[,高度]]] 本章目录
2.2.3 标签 标签用来显示文本信息(不能输入) 主要属性:Caption,存放文字 例2.3 标签属性演示 本章目录
2.2.4 文本框 文本框是一个文本编辑区域,可以在该区域输入、编辑、修改和显示正文内容。 (1) Text 显示或输入的正文内容 2.2.4 文本框 文本框是一个文本编辑区域,可以在该区域输入、编辑、修改和显示正文内容。 (1) Text 显示或输入的正文内容 (2) Maxlength 设置文本框可输入的文字最大长度。默认值为0,表示可以输入任意长字符串。 注意:在VB中字符长度以字为单位,也就是一个西文字符与一个汉字都是一个字,长度为1。 本章目录
设置为True时,文本框可以输入或显示多行正文,同时具有文字处理器的自动换行功能,按Enter键可插入一空行。 (3) MultiLine 多行属性 设置为True时,文本框可以输入或显示多行正文,同时具有文字处理器的自动换行功能,按Enter键可插入一空行。 (4) ScrollBars 滚动条属性 None 无滚动条 Horizontal 水平滚动条 Vertical 垂直滚动条 Both 同时加水平和垂直滚动条 当MultiLine为True时,ScrollBars才有效 本章目录
当MultiLine为True时,该属性不起作用,密码不允许多行。 (5) PassWordChar 设置显示文本的替代符。例如,当设置为“*”,则在文本框输入的内容均以“*”显示,而存储的值是用户输入的原文。一般用于设置口令的输入。 当MultiLine为True时,该属性不起作用,密码不允许多行。 (6) Locked 指定文本控件是否可被编辑,默认值为False(可编辑),当设置为True时,文本控件相当于标签控件的作用。 本章目录
这3个属性互相关联,例如设置SelStart、SelLength后,SelText 自动存放指定的文本。 (7)文本内容进行选择操作 SelStart 选定的正文开始位置 SelLength 选定的正文长度 SelText 选定的正文内容 这3个属性互相关联,例如设置SelStart、SelLength后,SelText 自动存放指定的文本。 例2.4 利用属性实现文本信息的复制。 本章目录
文本框-事件 (1) Changed事件 当Text属性值发生改变时引发该事件 例 在文本框每输入一个字符就引发一次事件 例 在文本框每输入一个字符就引发一次事件 (2) KeyPress事件 按下并且释放键盘上的一个键时,引发焦点所在控件的KeyPress事件,所按键的值存放在参数KeyAscii中 例 对回车的判断 KeyAscii=13 本章目录
对象失去焦点时发生LostFocus事件 该事件主要是用来对数据进行验证和确认,常用于检查Text属性的内容。 (4) GotFocus事件 GotFocus事件与LostFocus事件相反,当一个对象获得焦点时发生 本章目录
文本框-方法 文本框最有用的方法是SetFocus,把光标移到指定的文本框中。其形式如下: [对象.] SetFocus SetFocus还可以用于如CheckBox、CommandButton、ListBox、ComboBox等控件。 例2.5 对输入的数据进行合法性检验,过滤不合法的数据。 本章目录
2.2.5 命令按钮 用于程序运行时执行相应的事件 1. 属性 (1) Caption 命令按钮上显示的文字 (2) Style 按钮样式 2.2.5 命令按钮 用于程序运行时执行相应的事件 1. 属性 (1) Caption 命令按钮上显示的文字 (2) Style 按钮样式 0 —— Standard:默认,按钮上不能显示图形 1 —— Graphical:按钮上可以显示图形和文字 (3) Picture 在按钮装入图形 (4) ToolTipText 加以文字提示 2. 事件 命令按钮一般接收Click事件 本章目录
2.3 综合应用 例2.6建立一个类似记事本的应用程序,提供: (1) 剪切、复制和粘贴的编辑操作 (2) 字体大小的格式设置 分析: 2.3 综合应用 例2.6建立一个类似记事本的应用程序,提供: (1) 剪切、复制和粘贴的编辑操作 (2) 字体大小的格式设置 分析: (1) 建立一个文本框输入文本,文本框应该有滚动条,为了便于调试,程序运行时文本框有初始值。 (2) 利用文本框的SelText属性实现“剪切、复制和粘贴”的编辑操作。 (3) “格式”设置利用Font对象实现。 本章目录
本章小节 类是同种对象的集合与抽象,包含所创建对象的属性描述和行为特征的定义,是创建对象实例的模板。 对象三要素:属性、事件、方法 窗体 是所有控件的容器 基本控件 标签、文本框、命令按钮 本章目录
第三章 VB语言基础 3.1 数据类型 3.2 变量和常量 3.3 运算符和表达式 3.4 程序结构和编码规则 3.5 综合应用 本章目录
3.1 数据类型 本章目录
1、整数 定义:不带小数点和指数符号的数。 特点:数精确表示,但数范围有限。 类型:整型Integer或%(默认) 长整型Long或& 。 例: 123、123%、123& 、+123 正确的整数 123.0 、1,230 错误
2、实数: 定义:带小数点或指数符号的数。 特点:数精不精确表示,但数范围大。 类型:单精度 Single或!, 双精度Double或# 。 尾数可以整数(必须要求指数)也可以小数 例: 123.45、 123.45!、0.12345E+3、 12345E-2 、 0.12345D+3 都是 同值实数
3、逻辑型数据(Boolean) 真(True)和假(False) 逻辑型数据只有两个值: 注意: 当把数值型数据转换为逻辑型数据时,0 转换为False,非0值转换为True。 当把逻辑型数据转换为数值型数据时, False转换为0,True转换为-1。
思考: 下列语句的执行结果是: Dim Tag As Boolean Tag = 6 < 8 Print Tag 结果为: True
4、日期型数据(Date) 形式: #……# 一般为:月/日/年 例: 下面的 Date/Time 值全部有效。 形式: #……# 一般为:月/日/年 VB接受许多种日期时间格式 例: 下面的 Date/Time 值全部有效。 #3-6-93 13:20# #March 27,1993 1:20am# #Apr-2-93# #14 April 1993# #12/18/1999#
5、字符串型数据(String) 形式: "字符串“ 例: "abc" "ABC" "计算机" "12.34" "3+2" ""(空串) "12.34" "3+2" ""(空串) 注意:如果字符串本身包括双引号,可用连续两 个双引号表示。 例: 要打印以下字符串: "You must study hard", he said. 在程序中需要将该字符串表示成: " ""You must study hard"" , he said. "
3.2 变量和常量 表达式: s=3.14*r*r 其中:r、s是变量,3.14是常量 变量 :在程序运行中其存储的值可以改变 3xy ' 数字开头 y - z ' 不允许出现减号 Wang Ping ' 不允许出现空格 Dim ' VB.NET的关键字 Cos '标准函数名 3.2 变量和常量 表达式: s=3.14*r*r 其中:r、s是变量,3.14是常量 变量 :在程序运行中其存储的值可以改变 变量名命名规则: 必须以字母或汉字开头,由字母、汉字、数 字 或下划线组成,长度小于等于255个字符 不能使用VB中的关键字 VB不区分变量名的大小写,一般变量名首字母用大写,其余用小写字母表示;常量全部用大写字母表示 非法变量名 本章目录
变量声明 (1)用Dim语句显式声明变量 Dim 变量名 [As 类型] As部分缺省,创建的变量为变体类型 例如:Dim m,n As Integer, x,y As Single 则创建了变体型变量m、x,整型变量n和单精度型变量y 本章目录
在模块的声明段中使用语句: Option Explicit 如果设置: 工具→选项→编辑器→要求变量声明,则在后续模块中自动插入 (2) 隐式声明(默认) 不声明直接使用。 为可变类型,易出错、浪费空间 (3) 强制显式声明 在模块的声明段中使用语句: Option Explicit 如果设置: 工具→选项→编辑器→要求变量声明,则在后续模块中自动插入 Option Explicit
例: Dim Sum As Long Dim Address As String ‘不定长度 Dim No As String * 8 ‘固定长度8 Dim Num, Total As Integer 'Num为可变类型 Dim Average As Single
也可以用常用的类型说明符来定义: 整型 : % 长整型 : & 单精度: ! 双精度: # 货币型: @ 字符型: $
例: Dim a as integer Dim a% Dim B as integer,stname as string Dim B%,stname$
常量 常量是在程序运行中不变的量,VB有三种常量: 直接常量 其常数值直接反映了其类型 符号常量 用户声明,便于程序阅读或修改 直接常量 其常数值直接反映了其类型 符号常量 用户声明,便于程序阅读或修改 Const 符号常量名 [As 类型] = 表达式 例如: Const PI = 3.14159 系统常量 系统提供许多内部常量 例如:vbCrLf 回车/换行组合符 本章目录
3.3 运算符和表达式 运算符和表达式 : 结果类型 字符串运算符与字符串表达式 字符串 关系运算符与关系表达式 逻辑 运算符和表达式 : 结果类型 算术运算符与算术表达式 数值 字符串运算符与字符串表达式 字符串 关系运算符与关系表达式 逻辑 逻辑运算符与逻辑表达式 逻辑 本章目录
1、算术运算符 注意:对算术运算符两边的操作数应是数值 型,若是数字字符或逻辑型,则自动转换成 数值类型后再运算。 例如: 30-True 结果是31,逻辑量True转为数值-1, False转为数值0 False + 10 + "4" 结果是14 例:5+10 mod 10 \ 9 / 3+2 ^2 结果:10 本章目录
2、字符串运算符 & 两旁的操作数可任意,转换成字符型后再连接 + 两旁的操作数应均为字符型; 1)数值型:则进行算术加运算 2)一个为数字字符,另一个为数值,自动将数 字字符转换为数值后进行算术加 3)一个为非数字字符,另一个为数值型,出错 例如: 操作 结果 操作 结果 "ab" & 123 "ab123 " "ab" + 12 出错 "12" & 456 " 12456 " "12" + 456 468 "12" & True "12True" "12" + True 11 本章目录
2、关系运算符 关系运算符是双目运算符,作用是对两个操作数进行大小比较,若关系成立,则返回True,否则返回False。操作数可以是数值型、字符型。 运算符 例 结果 = " ABCDE " = " ABR " False > " ABCDE " > " ABR " >= " bc" >= "abcde " True < 23<3 <= " 23 " < " 3 " <> " abc" <> "abcde " 本章目录
3、逻辑运算符 逻辑运算符除Not是单目运算符外,其余都是双目运算符,作用是将操作数进行逻辑运算,结果是逻辑值True或False。 本章目录
表达式 组成 : 变量、常量、函数、运算符和圆括号 书写规则: 运算符不能相邻 例a+ -b是错误的 组成 : 变量、常量、函数、运算符和圆括号 书写规则: 运算符不能相邻 例a+ -b是错误的 乘号不能省略 例x 乘以y 应写成:x*y 括号必须成对出现(均使用圆括号) 表达式从左到右在同一基准上书写,无高低、大小 不同数据类型的转换 运算结果的数据类型向精度高的数据类型靠 Integer<Long<Single<Double<Currency 优先级 算术运算符>=字符运算符>关系运算符>逻辑运算 本章目录
a*b*c*d/e/f/g 或 a*b*c*d/(e*f*g) 表达式书写举例 a*b*c*d/e/f/g 或 a*b*c*d/(e*f*g) sin(45*3.14/180)+(exp(10)+log(10))/sqr(x+y+1) 例逻辑表达式书写,选拔优秀生的条件为:年龄(Age)小于19岁,三门课总分(Total)高于285分,其中有一门为100分,如果其表达式写为: Age<19 And Total>285 And ( Mark1=100 Or Mark2 =100 Or Mark3=100 ) 如果取消括号有何问题?请读者考虑。 本章目录
3.3.3 常用函数 调用函数的形式: 函数名[(参数列表)] VB函数: 内部函数和用户自定义函数 数学函数 内部函数 转换函数 3.3.3 常用函数 VB函数: 内部函数和用户自定义函数 数学函数 转换函数 字符串函数 日期函数 格式输出函数 内部函数 调用函数的形式: 函数名[(参数列表)] 本章目录
数学函数 -4 3 Int(-3.5) Int(3.5) 取小于或等于 N的最大整数 Int(N) 2.3 Log(10) 自然对数 Log(N) -3 Fix(-3.5) Fix(3.9) 取整 Fix(N) 20.086 Exp(3) en Exp(N) 1 Cos(0) 余弦函数 Cos(N) 3.5 Abs(-3.5) 取绝对值 Abs(N) 结果 实例 含义 函数名 本章目录
数学函数 Tan(0) 正切函数 Tan(N) 3 Sqr(9) 平方根 Sqr(N) -1 Sgn(-3.5) 符号函数 Sgn(N) Tan(0) 正切函数 Tan(N) 3 Sqr(9) 平方根 Sqr(N) -1 Sgn(-3.5) 符号函数 Sgn(N) Sin(0) 正弦函数 Sin(N) -4 4 Round(-3.5) Round(3.5) 四舍五入取整 Round(N) [0,1)之间的数 Rnd 产生随机数 Rnd[(N)] 结果 实例 含义 函数名 Rnd函数返回0和1(包括0但不包括1)之间的双精度随机数. 每次运行时,要产生不同序列的随机数,先执行Randomize 语句。产生a~b的之间的随机整数:Int(Rnd *(b-a)+a) 本章目录
转换函数 "ABC" Ucase$("abc") 小写字母转为大写字母 Ucase(C) "144" Oct$(100) 十进制转换成八进制 Oct](N) "123.45" Str$(123.45) 数值转换为字符串 Str(N) 123 Val("123AB") 数字字符串转换为数值 Val(C) "abc" Lcase$("ABC") 大写字母转为小写字母 Lcase$(C) 64 Hex(100) 十进制转换成十六进制 Hex(N) "A" Chr$(65) ASCII码值转换成字符 Chr(N) 2003-11-13 CDate("2003/11/13") 转换成日期型 CDate 65 Asc("A") 字符转换成ASCII码值 Asc(C) 结果 实例 功能 函数名 本章目录
字符串函数 "BCD" Mid("ABCDE",2,3) 取字符子串 Mid(C,N1[,N2]) "ABCD" Trim("ABCD") 去掉字符串两边空格 Trim(C) "A3AB3" Replace("ACDABCD","CD","3") 用C2替代C1 Replace(C,C1,C2) "" Space(3) 产生N个空格的字符串 Space(N) 4 Len("AB教育") 字符串长度 Len(C) "ABC" Left("ABCDE",3) 取字符串左边n个字符 Left(C,N) 7 InStr(2,"EFABCDEFG","EF") 从n开始,在C1中找C2 InStr([N,]C1,C2[,M]) 结果 实例 说明 函数名 本章目录
字符串函数 "ABCD" TRim(“ABCD") 去掉字符串两边的空格 TRim(C) "DCBA" StrReverse("ABCD") 将字符串反序 StrReverse(C) "AAA" String(3,"ABC") 重复首字符n次 String(N,C) S(0)="123" S(1)=“ab" S=Split("123,ab",",") 将字符串分隔成字符数组。与Join作用相反 Split(C[,D]) “" Space(3) 产生n个空格的字符串 Space(N) RTrim("ABCD") 去掉字符串右边空格 RTrim(C) “BCD" Right("ABCD",3) 取字符串右边n个字符 Right(C,N) 结果 实例 说明 函数名 本章目录
日期函数 例 计算从当前日期到2007年6月30日有多少天?表达式为: DateDiff("d", Now, #6/30/2007#) Second(#1:12:56PM#) 返回秒(0~59) Second(C|N) Time 返回系统时间 Time[()] Year(365) 返回年代号(1753~2078) Year(C|N) Now 返回系统日期和时间 Month("2003,05,01") 返回月份代号(1~12) Month(C|N) Minute(#1:12:56PM#) 返回分钟(0~59) Minute(C|N) Hour(#1:12:56PM#) 返回小时(0~24) Hour(C|N) Day("2003,05,01") 返回日期代号(1~31) Day(C|N) Date 返回系统日期 Date[()] 实例 说明 函数名 例 计算从当前日期到2007年6月30日有多少天?表达式为: DateDiff("d", Now, #6/30/2007#) 本章目录
Shell函数 Shell函数可调用各种应用程序。格式如下: Shell(命令字符串[,窗口类型]) 命令字符串为要执行的应用程序名(包括路径),必须是可执行文件(.com、.exe、.bat)。 窗口类型表示执行应用程序的窗口状态,0~4,6的整型数值,1表示正常窗口状态。 函数调用成功返回一个任务标识ID,不成功,则返回0。 例 i = Shell( "calc.exe") 本章目录
3.4 程序结构和编码规则 本章目录
编码规则 (1) VB代码不区分字母的大小写 关键字 首字母自动转换成大写,其余字母转换成小写。 用户自定义的变量、过程名,以第一次定义的为准,以后输入的自动向首次定义的形式转换。 (2) 语句书写自由 一行上可书写多句语句(用冒号分隔),一行最多255个字符。 单行语句可分若干行书写,在本行后加入续行符(空格和下划线)。 本章目录
3.5 综合应用 例3.1 模仿字处理软件中字符串替换功能。 设计思路: 3.5 综合应用 例3.1 模仿字处理软件中字符串替换功能。 设计思路: 利用Shell函数调用winword.exe执行Word程序实现替换功能 利用查找(InStr)、取子串(Left、Mid)等函数实现替换功能 利用替换(Replace)函数实现替换功能 本章目录
本章小节 变量:在程序运行中其存储的值可以改变 变量声明 Dim 变量名 [As 类型] 运算符 算术运算符、字符串运算符、关系运算符和逻辑运算符 函数 内部函数、用户自定义函数 调用函数形式:函数名[(参数列表)] Shell函数 调用各种应用程序 本章目录
结 束 同济大学计算机系基础学科组 http://jsjjc.tongji.edu.cn 021-65980204 结 束 同济大学计算机系基础学科组 http://jsjjc.tongji.edu.cn 021-65980204