




已阅读5页,还剩5页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第七课使计算机执行某种操作:编写您的第一个过程Visual Studio 2008 其他版本 Visual Studio 2005 更新:2007 年 11 月在本课中,您将学习如何创建“过程”(即可以从其他代码块运行的独立代码块)。 然后,您将学习如何为过程创建参数。过程就是通知程序执行某项操作的代码块。虽然您可能还没有意识到,但您在以前的课程中已经使用了过程。例如,MsgBox 函数就是一个内置过程,此过程执行显示对话框的操作。虽然 Visual Basic 有很多内置过程可用来执行常见操作,但总会存在一些情况,您希望程序执行内置过程无法处理的操作。例如,MsgBox 函数无法显示包含图片的对话框。您必须自己编写过程来完成此任务。什么是过程? 过程是可以从其他代码块中运行的自我包含的代码块。一般而言,每个过程都包含完成一项任务所需的代码。例如,您可能有一个名为 PlaySound 的过程,此过程包含播放波形文件所需的代码。虽然您可以在程序每次需要发出声音时编写相同的代码来播放声音,但创建一个可以从程序中的任何位置调用的过程更有意义。过程是通过在代码中调用它来运行或执行的。例如,若要运行 PlaySound 过程,只需向程序中添加一行包含过程名称的代码,如此处所示。PlaySound() 这样就可以了!当程序运行到该行时,它将跳至 PlaySound 过程并执行其中所包含的代码。然后程序将跳回至紧跟在 PlaySound 调用后的下一行。您可以随意调用任意多个过程。过程将按调用的顺序运行。例如,您可能还有一个名为 DisplayResults 的过程;若要在执行 PlaySounds 过程后执行它,请按此处所示调用这两个过程。PlaySounds() DisplayResults() 函数和 Sub 有两种过程:函数和子例程(有时也称为“Sub”)。函数对调用它的过程返回一个值,而 Sub 只执行代码。如下例所示,当向程序中添加一行包含 Sub 的名称的代码时,将调用对应的 Sub。DisplayResults 函数则不同,因为函数不仅执行代码,还要返回一个值。例如,设想一个名为 GetDayOfWeek 的函数,它返回一个 Integer 以指示当天是星期几。可以按如此处所示的方式调用此函数:先声明一个存储返回值的变量,然后将返回值赋给该变量以供以后使用。Dim Today As Integer Today = GetDayOfWeek 在本示例中,将函数返回的值复制到名为 Today 变量中并存储以便稍后使用。编写过程 通过先编写过程声明来编写过程。 过程声明将执行以下几项任务。指出过程是一个函数还是一个 Sub,命名过程,并详细说明过程可能具有的任何参数。(本课后面将详细讨论参数)。下面是一个简单过程声明的示例。VB C# C+ F# JScript 复制 Sub MyFirstSub()End SubSub 关键字通知程序此过程是一个 Sub 并且不返回值。紧接着是 Sub 的名称 (MyFirstSub),空括号表示此过程没有任何参数。 最后,End Sub 关键字表示此例程的结尾。此 Sub 要执行的所有代码都放在这两行之间。声明函数与此类似,但还有一个额外的步骤,即必须指定返回类型(例如 Integer、String 等)。例如,返回一个 Integer 的函数可能如下所示。VB C# C+ F# JScript 复制 Function MyFirstFunction() As IntegerEnd FunctionAs Integer 关键字表示此函数将返回一个 Integer 值。要从函数中返回值,请使用 Return 关键字,如下例所示。VB C# C+ F# JScript 复制 Function GetTheNumberOne() As Integer Return 1End Function此过程将返回数字 1。试一试! 创建过程1. 在“文件”菜单上单击“新建项目”。2. 在“新建项目”对话框的“模板”窗格中,单击“Windows 应用程序”。3. 在“名称”框中键入 MyFirstProcedure,然后单击“确定”。一个新的 Windows 窗体项目随即打开。4. 双击该窗体以打开代码编辑器。5. 在代码编辑器中,找到 End Class 行。这是组成窗体的代码部分的结尾。在紧靠此行的前面,添加下面的过程:VB C# C+ F# JScript 复制 Function GetTime() As String Return CStr(Now)End Function此函数使用内置的 Now 过程接收当前时间,然后使用 CStr 函数将 Now 返回的值转换为用户可以理解的 String。最后,该 String 值作为函数的结果被返回。6. 在上一步中添加的函数上方,添加下面的 Sub。VB C# C+ F# JScript 复制 Sub DisplayTime() MsgBox(GetTime)End Sub此 sub 调用函数 GetTime 并将其返回的结果显示在消息框中。7. 最后,向调用 DisplayTime Sub 的 Form1_Load 事件处理程序中添加一行,如此处所示。VB C# C+ F# JScript 复制 DisplayTime()8. 按 F5 运行程序。当程序启动时,将执行 Form1_Load 事件过程。此过程调用 DisplayTime sub,因此程序执行跳至 DisplayTime sub 过程。此 sub 接着调用 GetTime 函数,因此程序执行随后跳至 GetTime 函数。此函数返回一个 String 表示 DisplayTime sub 过程的时间,此 sub 过程随后将在一个消息框中显示该字符串。此 sub 执行完毕后,程序继续正常执行并显示窗体。函数和 Sub 中的参数 有时您必须为过程提供其他信息。例如,在 PlaySound 过程中,您可能想要播放几种不同声音中的一种。您可以通过使用参数提供有关要播放的声音的信息。参数与变量非常相像。它们有类型和名称,并像变量一样存储信息。它们可以像变量一样在过程中使用。参数和变量的两个主要区别如下所示: 参数是在过程声明中声明的,而不是在单个代码行中声明的。 参数只能在声明它们的过程中使用。在过程声明中,参数在紧跟着过程名的括号中声明。As 关键字用来声明类型,并且每个参数前面一般都有 ByVal 关键字。如果您不添加此关键字,Visual Basic 会自动添加它,并且它有一个相当高级的函数(不在本课讲解的范围内)。此处显示了一个带有参数的 Sub 的示例。VB C# C+ F# JScript 复制 Sub PlaySound(ByVal SoundFile As String, ByVal Volume As Integer) My.Computer.Audio.Play(SoundFile, Volume)End Sub您随后就可以按此处所示用这些参数的值调用此 Sub。VB C# C+ F# JScript 复制 PlaySound(Startup.wav, 1)也可以用与声明 Sub 参数相同的方式声明函数参数。试一试! 创建带有参数的函数1. 在“文件”菜单上单击“新建项目”。2. 在“新建项目”对话框的“模板”窗格中,单击“Windows 应用程序”。3. 在“名称”框中键入 parameters,然后单击“确定”。一个新的 Windows 窗体项目随即打开。4. 将两个“Textbox”控件从“工具箱”中拖动到窗体上。5. 将一个“Button”控件从“工具箱”中拖动到窗体上。6. 双击该“Button”以打开代码编辑器。7. 紧接着 Button1_Click 事件处理程序的 End Sub 行后面,添加下面的过程:VB C# C+ F# JScript 复制 Function AddTwoNumbers(ByVal N1 As Integer, ByVal N2 As Integer) _ As Integer Return N1 + N2End Function8. 在 Button1_Click 过程中,添加下面的代码:VB C# C+ F# JScript 复制 Dim aNumber As Integer = CInt(Textbox1.Text)Dim bNumber As Integer =
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026中国民生银行长沙分行全球校园招聘笔试备考试题及答案解析
- 2025广东广州海珠区沙园街道招聘雇员2人笔试模拟试题及答案解析
- 2026华能(上海)电力检修有限责任公司校园招聘笔试模拟试题及答案解析
- 2025年皮肤科痤疮皮肤护理的注意事项模拟测试卷答案及解析
- 2025江苏南京财经大学招聘工作人员4人笔试模拟试题及答案解析
- 2025河南郑州航空港经济综合实验区公立医疗机构招聘人事代理工作人员36人笔试备考试题及答案解析
- 2025浙江舟山市定海区文化和广电旅游体育局招聘编外用工人员笔试模拟试题及答案解析
- 2026中国葛洲坝集团电力有限责任公司校园招聘笔试参考题库附答案解析
- 2025年急诊科学科心肺复苏操作流程评估模拟试卷答案及解析
- 2025年麻醉科药物应用及剂量把握模拟考试卷答案及解析
- AIGC基础与应用第6章-AIGC造就绘画大师
- 《炼油与化工装置机泵 在线监测系统技术规范》
- 羽毛球竞赛编排知识与方法
- 2023数据标准管理实践
- 非洲水坝施工方案
- Unit 3 Understanding ideas The Road to Success课件 2023-2024学年高中英语外研版选择性必修第一册
- 项目需求分析文档(模板)
- 长阳清江画廊
- 四川2023年专业技术人员公需科目“数字经济与驱动发展”参考答案(通用版)
- 液压泵站使用说明书
- 职工三级安全教育卡模版
评论
0/150
提交评论