vb[1].net实验教程
- 格式:doc
- 大小:1.01 MB
- 文档页数:21
多线程操作步骤/例程1.定义线程Dim Thread_Process As System.Threading.Thread()2.定义委托函数进程运行过程中不可直接对控件进行操作,可通过定义并构造委托函数的形式操作控件 Sub Thread_SetLVText(ByVal SetString As String, ByVal Obj As TextBox) 3.构造委托函数/过程Sub SetLVTxt(ByVal SetString As String, ByVal Obj As TextBox)Dim OTemp As TextboxOTemp = ObjOTemp.Text = SetStringEnd Sub4.构造线程过程Private Sub ExampleThreading()…同一般过程…End Sub5.调用委托函数/过程a)封装在子过程/函数中,方便调用Sub SetLVTxt_Invoke(ByVal SetString As String, ByVal Obj As TextBox) Dim Obj_GetText As New Thread_SetLVText(AddressOf SetLVTxt)Invoke(Obj_GetText, SetString, Obj)End Subb)直接在进程过程中调用Dim Obj_GetText As New Thread_SetLVText(AddressOf SetLVTxt)Invoke(Obj_GetText, “abc”, TextBox1)6.启动新线程注意给进程赋值时”Address of”后面接线程过程名!!!Thread_Process(i) = New System.Threading.Thread(AddressOf ExampleThreading) Thread_Process(i).SetApartmentState(Threading.ApartmentState.STA) Thread_Process(i).Start()。
基础教程第一部分 Visual 基础1.vb. net介绍的优点3.新建一个项目4.编写第一个应用程序第二部分 的语法部分的Numeric数据类型的Byte数据类型的String数据类型的Boolean数据类型的Date数据类型的Object数据类型的用户自定义类型的数组定义的数组列表的多维数组类型转换函数第三部分 visual 的运算程序设计时经常用到的有6种运算:算术运算(Arithmetic)、赋值运算(Assignment)、二进制运算(Bitwise)、比较运算(Comparison)、连接运算(concatenation)及逻辑运算(Logical),下面对这6种运算进行简单介绍。
的算术运算的赋值运算符的二进制运算符的比较运算符的连接运算符和逻辑运算符运算符的优先级(一) Visual 的常量和变量的常量的变量(二) Visual 的流程和控制结构条件分支语句的循环语句(三) 的过程和函数的Sub过程的Funtion过程3.在中调用过程4.如何向过程传递参数(四)的类和对象基础第四部分 visual 的常用控件的Label控件的Button控件的Textbox控件的MainMenu控件的Checkbox控件的Radiobutton控件的GroupBox控件的PictureBox控件的ListBox控件的CheckedListBox控件的Combobox控件的ListView控件的TreeView控件的ImageList控件的Timer控件的HScrollBar和VScrollBar控件的ProgressBar控件的T oolBar控件的StatusBar控件20.Vs 2005的ToolStrip控件21.Vs 2005的StatusStrip控件22.Vs 2005的MenuStrip控件第六部分 的OOP结构1.什么是oop的面向对象性的共享成员(Share Members)4.类模块和标准代码模块的区别和比较5.对象浏览器(一)建立和使用对象对象的建立和销毁:对象的生命周期2.设置和重设的属性3.用方法来表现动作对象变量的声明5.对一个对象进行多种操作6.使用New关键字7.如何释放对对象的引用8.如何把对象传递到一个过程(二)在程序运行中得到一个类的信息:用一个字符名称调用一个属性或者方法(三) 中的类、继承与多态性中给一个类添加方法2.命名属性、方法和事件的事件和事件处理4.类的继承(Inheritance)继承的规则6.用继承建立一个继承类7.重载Windows控件8.什么时候使用继承9.什么是命名空间(Namespace)继承的例子中用继承实现多态性中用接口实现多态性第七部分数据库访问技术关于SQL语言的知识,请参考:sql语言教程及Sql语言基础1.数据库基础知识数据集(Datasets)的概念3.什么是dao4.Dao与Jet数据库引擎5.Dao对象模型6.远程数据对象RDO7.Rdo对象模型8.odbc api是什么9.ODBC的结构10.使用ODBC API访问数据库11.ado数据对象12.ado对象模型简介14.使用的基本方法第八部分 的多线程1.自由线程(Free Threading)2.关于线程的参数和返回值的问题的并发性问题第九部分 的文件和出错处理的出错处理的多种出错处理(Multiple Exceptions)的文件对象(file object)文件处理的出错处理5.检测文件的结束(Testing for End of File)6.文件的静态方法(Static File Methods)。
xx 大学本科生实验报告(五)姓名:XXX学院: 计算机科学学院专业: 信息管理与信息系统班级:2011 级信管班实验课程名称:程序设计实验日期:2012 年 5 月18 日指导教师及职称: XXX实验成绩:开课时间:2012-2013 学年第二学期实验管理中心印制实验题目图形应用程序开发小组合作2.掌握图形坐标系的变换方法。
3.掌握GDI+中的绘图工具。
4.掌握常用几何图形绘制方法。
5.掌握简单艺术图形的绘制方法。
6.了解GDI+的图像处理功能。
二.实验环境Microsoft Visual Studio 2008三、实验内容与步骤一、利用方法DrawEllipse在窗体上绘制艺术图案。
构造图案的算法为:把一个半径为r的圆周分为n份,以这个n个等分点为圆心,r1为半径绘制n个圆<径。
(1)进入应用程序的后,根据题目要求设计好窗体;(2)编辑代码,进行代码的调试,主要代码如下所示:# Buttonl ■ r dkkIn二巾广乜oTs teri. I ithD)gra.vkJi^亓5宅"< B:r#rieg:L'E-^C「氏2"! 玄EaHl_L ~~Suh BuK I onl_□ i cb'£B>¥al “證加A? S JTJ I H- Otjert. t Xs 呂”I R EvAfli^rci'l Kaidh. BicU i,jiit.CLidkI in £J L I Gruphi os 二IT &. MAaphi cs Um > Al f ML- lev P<JifE«L«>r.filllt) lini r M)S KP^I-= 10Q Hin JL ill I A I E現q* = 旳Jhn t 上^LKLtLe = 3M / i(Trmil H1^T TITII fflrn 勿1"1”1 f ir i - 1 r* nfin x 血9 1 (t > i)■in y hi Sin^il« r * $i n *= i.]a - E- 60T ■ y ■石Dr祚211曙応5# N y,辺GDIp SLEP41& 0 耳Diurps'ii-e [)- EW討-Ini Q4cc(3)实验结果如下图所示:□ syll- 1心|回|^3HUV J I^B二、设计应用练习,练习基本绘图指令。
实验四 程序设计基础和常用控件一、实验目的本实验主要了解面向对象程序设计语言基本语言元素包括集成开发环境、语言基础、基本控制结构、过程、常用控件和界面设计。
通过本实验,读者将学会一些主要的面向对象的设计方法并可以利用完成简单的应用程序开发。
二、实验环境Microsofe Visual Studio .NET 2008三、实验内容1.设计一个Visual 的应用程序,窗体上有一个多行文本框和3个命令按钮,程序界面如图1所示。
要求应用程序运行时,当单击窗体上【显示文本信息】按钮,文本框中显示红色文字“我喜欢,因为它简单易学,使用方便。
”当单击窗体上【改变背景色】按钮,文本框的背景色变为黄色。
当单击窗体上【结束】按钮,程序结束。
保存该应用程序。
【实验步骤】:1)创建工程:打开Visual Studio 后,点击左上角的新建项目,选中“模板”,展开选择Visual Basic,再选中Windows桌面,再在左边的类型中选择“Windows窗体应用程序”,在下方为此项目命名为“Win dowsApplication4.1”2)先打开“工具箱”:展开左上角的“视图”,点击工具箱。
3)修改Form1的名称:右键选中From1,点击“属性”,在新弹出的属性菜单栏中,找到“Text”这个属性,将右边的“From1”改为“第一个实验”即可。
4)设置一个普通文本框:在工具栏中,选中公共空间中的TextBox,然后拖入右边的设计窗口中,然后鼠标移到TextBox后,鼠标左键按住不放可以移动此控件。
5)调整文本框的大小:鼠标移动到文本框的左右边缘,鼠标箭头会变成一个左右的箭头,移动即可设置其宽度,而移动到文本框的上下边缘,此时还不能设置高度,因为它的属性是单行文本框,右键点击此文本框,选中“属性”,然后在新弹出的“属性窗口”中,找到“Mu tiline”属性,默认值为False,我们将其改为:True,即可实现多行功能,此时再将鼠标移至上下边缘,即可实现设置其高度的功能。
甘肃政法学院 本科学生实验报告 (一)
姓名 学院 计算机科学学院 专业 计算机科学与技术 班级 12级专升本班 实验课程名称 visual basic.NET 试验时间 2013 年 11 月 13 日 指导教师及职称 实验成绩 开课时间 2013—2014 学年 第一 学期 甘肃政法学院实验管理中心印制 实验题目 .NET环境和基本控股结构程序设计 小组合作 否
姓 名 班 级 学 号 一、实验目的: 1、了解VB.NET系统对计算机软、硬件的要求; 2、掌握启动与退出VB.NET的方法; 3、掌握建立、编辑和运行一个简单的VB.NET应用程序的全过程。
二、实验环境: 1、操作系统:Windows XP 2、VB.NET应用软件 三、实验内容与步骤: 1、启动VB.NET,创建一个“windows 应用程序”类型的应用程序,要求:在屏幕上显示“欢迎学习VB.NET ”,在文本框中输入你的姓名,在标签中显示输入的姓名。 设计界面如下:
Button事件核心代码:
Label3.Text = TextBox1.Text
运行结果如下: 2、分别随机生成3个正整数,其中一个一位数,一个两位数,一个三位数,计算它们的平均值,保留两位小数。 界面设计如下:
部分Button核心代码: Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click TextBox1.Text = Int(Rnd() * 20 + 0) TextBox2.Text = Int(Rnd() * 80 + 10) TextBox3.Text = Int(Rnd() * (999 - 100 + 1) + 100) End Sub Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click Dim avg! avg = (Val(TextBox1.Text) + Val(TextBox2.Text) + Val(TextBox3.Text)) / 3 Label4.Text = "三个数的平均值为:" & Format(avg, "0.00") End Sub Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click TextBox1.Text = "" TextBox2.Text = "" TextBox3.Text = "" Label4.Text = "三个数的平均值为:" End Sub End Class 运行结果如下: 3、利用计算机解决古代数学问题“鸡兔同笼”,即已知在同一个笼子里有总数为M只鸡兔,鸡和兔的总脚数为N,求鸡和兔各有多少只? 设计界面为:
Function过程使用方法详解• Function过程使用方法详解 Function过程和Sub过程一样,也是一个独立的过程。
可以进行一系列语句的执行并对其的参数进行修改。
我们可以在这里学到这一过程的具体用法。
编程语言的出现,在一定程度上改变了编程人员的编程方式,提高了编程人员的开发效率。
在这里我们将会了解到 Function过程的相关应用方法,希望可以帮助大家提高对这一语言的认识。
包含内置的或内部的函数,如MsgBox、CStr等。
此外,还可用Function语句编写自己的 Function过程。
函数过程的语法是:1.{Private|Public|Friend|}2.Function functionname3.(argument list)[As data type]4.5.Statements6.7.End Function与Sub过程一样, Function过程也是一个独立的过程,可读取参数、执行一系列语句并改变其参数的值。
与Sub过程不同的是,Function过程可返回一个值到调用的过程。
在Sub过程与Function过程之间有三点区别:•鼠标手势实现技巧分享•组件叠加具体应用方法详解•存取数据库图片相关方法介绍•多维数组基本概念详解•调整控件实现技巧轻松掌握(1)一般来说,语句或表达式的右边包含函数过程名和参数(returnvalue=function),这就调用了函数。
(2)与变量完全一样,函数过程有数据类型。
这就决定了返回值的类型(如果没有As子句,缺省的数据类型为Object)。
(3)可以给functionname赋一个值,即为返回的值。
Function过程返回一个值时,该值可成为表达式的一部分。
例如,下面是已知直角三角形直角边的值,计算第三边(斜边)的函数:1.Function Hypotenuse(A as2.Integer,B As Integer)3.As String4.5.Hypotenuse=Math.6.Sqrt(A^2+B^2)7.8.End Function在Visual Basic中调用 Function过程的方法和调用任何内部函数的方法是一样的:bel1.Text=CStr(Hypotenuse2.(CInt(Text1.Text),3.CInt(Text2.Text)))4.5.strX=CStr(Hypotenuse6.(Width,Height))【责任编辑:曹凯。
实验一我的第一个应用程序实验目的1.熟悉IDE集成开发环境2.实现我的第一个应用程序的设计3.熟悉常用属性和基本事件4.掌握使用随机帮助的方法知识点1.Microsoft Visual Studio .net的启动和退出2.Visual Studio .net的集成开发环境3.解决方案的建立、项目的建立在Visual Studio .net的启动界面中,单击“新建项目”,在左面对话框中选Visual Basic项目,在右面对话框中选“Windows应用程序”,名称会自动赋值为“WindowsApplication1”,将它改为“我的第一个应用程序”,选择存放位置,按“确定”按钮。
4.Visual Studio .net的三种工作模式5.窗体设计窗口窗体设计窗口是Visual Basic .net集成开发环境中央的主窗口,在此窗口中,可以设计和编辑应用程序的用户界面。
6. 工具箱的隐藏和调出7.“属性”窗口“属性”窗口包含了窗体或所有控件的属性设置,可以在设计状态下设置或修改它们的属性值。
若要不显示“属性”窗口,可以单击窗口上方的“关闭”按钮。
若要再显示,选择“视图”菜单中的“属性窗口”命令。
“属性”窗口列出了所有对象在设计模式下可更改的属性及其默认值。
不同的对象所列出的属性也不相同。
用户可以选定某一属性,然后对该属性值进行修改或设置。
8.“解决方案资源管理器窗口”的隐藏、显示和使用“解决方案资源管理器窗口”简称工程窗口,位于Visual Studio .net集成开发环境的右上方。
它列出了当前应用程序所包含的文件清单。
若要不显示“解决方案资源管理器窗口”,可以单击窗口上方的“关闭”按钮,若要再显示,选择“视图”菜单中的“工程资源管理器”命令。
“解决方案资源管理器窗口”下面有三个按钮,单击“查看代码按钮”可以切换到代码窗口。
单击“查看对象按钮”可以切换到窗体窗口。
单击“切换文件夹按钮”,可以切换文件夹显示方式。
课件生成器实验教程一、实验目的(1) 加深对软件工程、软件产品线的理解,体验软件开发的方法、流程。
(2) 感受软件开发环境和工具的选择,了解VS 2005 集成开发环境。
(3) 掌握语言的应用,了解该语言可视化编程的特点。
(4) 激发同学们对软件开发的兴趣,进一步提高编程的能力。
二、实验设备及环境(1) PC一台;(2) 操作系统: Windows 2000/ Windows XP/ Windows Vista;(3) 开发环境:Visual 2005;三、实验内容及步骤(1)实验内容要求及成品展示:运用语言开发一个课件自动生成器和播放器,以实现课件的生成和播放功能。
课件生成器负责收集资料,课件播放器负责显示。
下面为这两个软件的结构和功能要求:课件生成软件的结构(软件产品线)生成器○1结构视图:○2成品视图:播放器:○1结构视图:○2成品视图:相关说明:生成器运行结果产生:基本配置文件config.txt ,背景图片路径文件pic.txt ,背景音乐路径文件musci.txt ,课件子目录(其中包括播放器执行文件,二级目录),其中二级目录包括基本配置文件目录,背景图片文件目录,背景音乐文件目录,章节文件目录(第一章的文件名定义为1.doc ,第二章的文件名定义为2.doc ,依此类推),其他辅助文件目录。
该目录的名称为课件的名称,播放器的名称也为课件的名称。
config.txt 的结构:XXX----课件名称N----课件章数K1----第一章节数K2----第二章节数……pic.txt的结构:\课件名\背景图片路径文件\1.JPG\课件名\背景图片路径文件\2.JPG……musci.txt的结构:\课件名\背景音乐路径文件\1.mp3\课件名\背景音乐路径文件\2.mp3……XXX课件目录的结构:\XXX课件\(该目录下放XXX课件的执行文件)\基本配置文件(包括config.txt,pic.txt,musci.txt三个文件)\背景图片文件(包括1.JPG,2.JPG….它们是背景图片文件)\背景音乐文件(包括1.mp3,2.mp3….它们是背景音乐文件)\章节文件(包括1.doc,2.doc,….它们是课件的章节内容)被生成的配置文件:1.基本配置文件,格式txt,文件第一行为课件名称,第二行为章数。
2.背景图片路径文件,格式txt,文件的每一行为背景图片的路径。
第一行为播放器的背景图片。
3.背景音乐路径文件,格式txt,文件的每一行为背景音乐的路径。
第一行为播放器的背景音乐。
(2)实验前基础知识准备:○1关于软件开发:软件产品线:软件产品线是一组具有共同体系构架和可复用组件的软件系统,它们共同构建支持特定领域内产品开发的软件平台。
软件产品线的产品则是根据基本用户需求对产品线架构进行定制,将可复用部分和系统独特部分集成而得到。
软件产品线方法集中体现一种大规模、大粒度软件复用实践,是软件工程领域中软件体系结构和软件重用技术发展的结果。
在本实验中,课件生成器便相当于一个小型的软件产品线。
它相当于我们日常生活中的产品流水线,为各种课件的生成提供了一个平台。
○2关于VS 2005:进行本实验需要首先安装VS 2005。
VS 2005作为一个强大的开发工具,向用户提供了强大的集成开发环境。
在实验开始之前,读者最好先了解它的基本用法。
(2)操作步骤及源代码:安装好VS 2005后,我们可以开始编写本实验了课件生成器编写步骤○1打开VS 2005 ,新建一个VB windows 应用程序窗体,命名为课件生成器,如下图所示:点击确定后,我们便新建了一个windows应用程序项目。
○2在刚刚新建的项目窗体Form1 上添加6个标签(Lable)、5个文本框(TextBox)、9个按钮(Button),如下图所示:○3在属性窗口处为Form1及各按钮、标签、文本框改名、改Text值:(属性栏)(改了Text值后的窗体)PS:外观设置都在属性栏设置,读者可选择自己喜欢的背景、颜色、图片、Icon 图标等。
○4至此,我们已经基本完成了课件生成器的外观的设置,下面我们要考虑它的功能实现了。
我们希望当我们点击浏览按钮时,会自动弹出一个对话框,让我们选择课件的素材,比如:图片、音乐、Word文档等。
当我们选择好素材后,我们希望将选择的素材的路径返回到对应的文本框中去,当我们点击“确定”按钮时,程序自动将选择的素材路径复制到我们事先准备好的txt文本中去。
当我们选择错误时,点击“重置”按钮能将对话框中的textbox中的值全部清空。
当我们点击“确定”按钮后才发现我们的选择错误时,考虑到这是程序已经自动将该素材的路径保存到了txt中,这时我们要重新清空txt中的数据,“重新生成数据”就是用来实现这一功能的。
当我们点击“完成”,表示我们的素材已经全部选择完毕,那么这时我们要生成目标文件了。
在这里,目标文件是一个包含各种素材的文件夹。
目标文件的具体内容请参考前面的“实验内容要求及成品展示”部分○5实现“浏览”按钮功能首先,为窗体添加一个OpenFileDialog控件,如下图所示:然后在窗体中双击第一个“浏览”按钮,添加如下代码:OpenFileDialog1.InitialDirectory = "c:\"OpenFileDialog1.Filter = "images files (*.jpg)|*.jpg|All files (*.*)|*.*"OpenFileDialog1.FilterIndex = 1OpenFileDialog1.RestoreDirectory = TrueIf OpenFileDialog1.ShowDialog() = Windows.Forms.DialogResult.OK ThenTextBox3.Text = OpenFileDialog1.FileNameEnd If如下图所示:那么我们就实现了“浏览”按钮的功能,读者可以尝试运行(点击工具栏上的运行按钮)。
所有“浏览”按钮的功能都是一样的,只是路径保存到的textbox不一样。
为所有“浏览”按钮添加上述代码,改变OpenFileDialog1.Filter 中的代码(如背景音乐为“mp3”,课件章节为“doc”)和保存的路径(即TextBox3.Text = OpenFileDialog1.FileName 中的TextBox文本框名,我这里分别是TextBox4和TextBox5)○6实现“确定”按钮功能先在public class Form1 类前添加Imports system.io,导入system.io。
接着双击“确定”按钮,添加下面的代码:Dim f As StreamWriter = New StreamWriter("pic.txt", True)Dim str = Me.TextBox3.Text ‘TextBox3是背景图片的对话框。
f.WriteLine(str, System.Text.Encoding.UTF8)f.Close()如图:最后,别忘了在本程序的debug文件夹上创建一个txt文档,命名为"pic.txt".如图:至此,我们又实现了“确定”按钮的功能,读者也可以尝试运行(点击工具栏上的运行按钮),先点击“浏览”选择素材,再点击“确定”将其路径保存到txt 中。
所有“确定”按钮的功能都是一样的,只是路径保存到的textbox不一样。
为所有的确定按钮添加上述代码(注意改变素材保存的路径,即Dim f As StreamWriter = New StreamWriter("pic.txt", True)中双引号之间的文件名,同时在debug文件夹下创建相对应的txt文档)。
○7实现“重置”按钮功能重置功能比较简单,只需将所有文本框中的内容清空即可。
双击该按钮,添加如下代码:Me.TextBox1.Text = ""Me.TextBox2.Text = ""Me.TextBox3.Text = ""Me.TextBox4.Text = ""Me.TextBox5.Text = ""○8实现“重新生成数据”按钮功能这个功能比“重置”稍微复杂一点,因为要打开txt文档。
这里我们采用一种比较简便的方法------直接写空。
双击该按钮,添加如下代码:Dim sw1 As StreamWriter = New StreamWriter("pic.txt")sw1.Write("")sw1.Flush()sw1.Close()Dim sw2 As StreamWriter = New StreamWriter("music.txt")sw2.Write("")sw2.Flush()sw2.Close()Dim sw3 As StreamWriter = New StreamWriter("content.txt")sw3.Write("")sw3.Flush()sw3.Close()Dim sw4 As StreamWriter = New StreamWriter("config.txt")sw4.Write("")sw4.Flush()sw4.Close()○9实现“完成”按钮功能这个按钮是生成器中最为复杂的,因为它要实现的功能最多。
它必须创建一个目标文件夹(以用户输入的课件名称命名),用以存放生成的各种资料。
XXX课件目录的结构:\XXX课件\(该目录下放XXX课件的执行文件)\基本配置文件(包括config.txt,pic.txt,musci.txt三个文件)\背景图片文件(包括1.JPG,2.JPG….它们是背景图片文件)\背景音乐文件(包括1.mp3,2.mp3….它们是背景音乐文件)\章节文件(包括1.doc,2.doc,….它们是课件的章节内容)全部代码如下(双击“完成”按钮,添加如下代码):Dim f As StreamWriter = New StreamWriter("config.txt", True)Dim str1 = Me.TextBox1.TextDim str2 = Me.TextBox2.Textf.WriteLine(str1, System.Text.Encoding.UTF8)f.WriteLine(str2, System.Text.Encoding.UTF8)f.Close()If Me.TextBox1.Text = "" ThenMsgBox("请输入课件名称!")ElseIf Me.TextBox2.Text = "" ThenMsgBox("请输入课件章节数!")Else'myname = Me.TextBox1.TextDirectory.CreateDirectory(str1)Directory.CreateDirectory(str1 & "\基本配置文件")Directory.CreateDirectory(str1 & "\背景图片文件")Directory.CreateDirectory(str1 & "\背景音乐文件")Directory.CreateDirectory(str1 & "\章节文件")'下面复制指定文件'复制图片路径文件及图片Dim num1 As Integernum1 = 1Dim sr1 As StreamReader = New StreamReader("pic.txt", System.Text.Encoding.UTF8)Dim fileline1 As String = ""Dofileline1 = sr1.ReadLineIf fileline1 <> "" ThenFileSystem.FileCopy(fileline1, str1 & "\背景图片文件\" & num1 & ".jpg")'File.Copy(fileline1, "e:\", True)End Ifnum1 = num1 + 1Loop While fileline1 <> "" '判断语句不能用sr1.ReadLine<> "" ,绝对不能!'复制音乐路径文件及音乐Dim num2 As Integernum2 = 1Dim fileline2 As StringDim sr2 As StreamReader = New StreamReader("music.txt", System.Text.Encoding.UTF8)Dofileline2 = sr2.ReadLine'readline 是从开始起一行一行读下来,不是每次都读同一行If fileline2 <> "" ThenFileSystem.FileCopy(fileline2, str1 & "\背景音乐文件\" & num2 & ".mp3")End Ifnum2 = num2 + 1Loop While fileline2 <> ""'判断语句不能用sr1.ReadLine<> "" ,绝对不能!'复制章节路径图片及章节文件Dim num3 As Integernum3 = 1Dim fileline3 As StringDim sr3 As StreamReader = New StreamReader("content.txt", System.Text.Encoding.UTF8)Dofileline3 = sr3.ReadLine'readline 是从开始起一行一行读下来,不是每次都读同一行'MsgBox(fileline3)If fileline3 <> "" ThenFileSystem.FileCopy(fileline3, str1 & "\章节文件\" & num3 & ".doc")End Ifnum3 = num3 + 1Loop While fileline3 <> ""'判断语句不能用sr1.ReadLine<> "" ,绝对不能!'复制基本配置文件FileSystem.FileCopy("config.txt", str1 & "\基本配置文件\config.txt")FileSystem.FileCopy("pic.txt", str1 & "\基本配置文件\pic.txt")FileSystem.FileCopy("music.txt", str1 & "\基本配置文件\music.txt")FileSystem.FileCopy("content.txt", str1 & "\基本配置文件\content.txt")至此,课件生成器的功能就基本实现了,但是作为软件,它还远没有全部完成。