首页 VB-NET-第8章

VB-NET-第8章

举报
开通vip

VB-NET-第8章第8章文件系统主要内容文件的概念顺序文件随机文件实验自测题第8章文件系统学习目标理解文件的概念熟练掌握顺序文件的应用熟练掌握随机文件的应用8.1文件的概念——什么是文件?内部(内存)数据和外部(外存)数据。 内部数据以常量、变量、结构和对象(控件,窗体等)的形式使用,外部数据则以文件的形式保存。计算机内存中的数据是暂时性的,关机后全部消失。要永久性保存数据,必须使用文件。文件(File) 是存储在外部介质上数据的集合,按名存取,文件的使用和管理要依赖操作系统的支持.从物理上说,文件是一系列相...

VB-NET-第8章
第8章文件系统主要内容文件的概念顺序文件随机文件实验自测题第8章文件系统学习目标理解文件的概念熟练掌握顺序文件的应用熟练掌握随机文件的应用8.1文件的概念——什么是文件?内部(内存)数据和外部(外存)数据。 内部数据以常量、变量、结构和对象(控件,窗体等)的形式使用,外部数据则以文件的形式保存。计算机内存中的数据是暂时性的,关机后全部消失。要永久性保存数据,必须使用文件。文件(File) 是存储在外部介质上数据的集合,按名存取,文件的使用和管理要依赖操作系统的支持.从物理上说,文件是一系列相关外存区域(如磁盘扇区)中存储的数据;从逻辑上说,文件是一系列相关的 记录 混凝土 养护记录下载土方回填监理旁站记录免费下载集备记录下载集备记录下载集备记录下载 (信息单元)的集合。8.1文件的概念——文件的操作2.文件的操作写:将内存数据保存到文件的过程称为写(输出)操作读:将文件中数据取到内存中的过程称为读(输入)操作。在内存中建立文件缓冲区与外存文件关联。读或写内存中的文件缓冲区。内存中文件缓冲区数据写入外存文件,释放内存。3.存取文件三步曲:打开文件、读写文件和关闭文件。(1)顺序文件记录不定长,用分隔符,;空格等分开;按顺序依次把记录写入文件;按顺序依次读记录,不能直接定位某条记录。(2)随机文件记录长度相同,不用分隔符。根据记录号访问,可以直接访问文件中的任意一个记录。另外:文本文件可以按顺序文件访问,一行一条记录,记录可长可短,以“换行”符为分隔符。8.1文件的概念——文件的分类8.1文件的概念——文件的类型(3)二进制文件 任何一个文件都可以以二进制模式访问。二进制文件在访问方式上与随机文件类似,可以看成是记录长度为1个字节的随机文件。一般将图象、声音等文件以二进制文件存取。顺序文件操作的主要语句:记录不定长,用分隔符,;空格等分开;按顺序依次把记录写入文件;按顺序依次读记录,不能直接定位某条记录。8.2顺序文件Fileopen()Print()或Write()Input()FileClose()8.2顺序文件——操作1)打开文件:FileOpen(文件号,文件名,打开模式)文件号是一整数,在文件关闭之前,文件号代 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 该文件;文件名可以包含路径;打开模式:指定文件的输入(读)或输出(写)方式。例:FileOpen(1,”c:\abc.txt”,OpenMode.Output)以输出方式打开c:\abc.txt文件,文件号设置为1。注:如果c:\abc.txt文件不存在,创建新文件;如果c:\abc.txt文件存在,清空,新数据将覆盖原数据。OpenMode.Output新建文件用于输出数据;若有同名文件,则清空原文件的内容。OpenMode.Append打开已有文件,用来添加新数据(追加);若文件不存在,出错。OpenMode.Input打开已有文件,用来读取数据;若文件不存在,出错。OpenMode.Random新建或读写随机文件。OpenMode.Binary新建或读写二进制文件。2)写操作Print(文件号,[输出列表])写数据每个数据占14列PrintLine(文件号,[输出列表])写数据后换行Write(文件号,[输出列表])写数据WriteLine(文件号,[输出列表])写数据后换行区别:Write以紧凑格式写入数据:数据项之间自动插入逗号,并给字符串加上双引号。命令文件内容Print(1,”One”,”Two”,123)OneTwo123Write(1,”One”,”Two”,123)“One”,”Two”,1238.2顺序文件——操作3)读操作Input语句:Input(文件号,变量)读取以紧凑格式写入文件的数据,读取一个数据到变量中。LineInput函数:变量=LineInput(文件号)读一行数据赋值给变量,不包括换行符。InputString函数:变量=InputString(文件号,字符数)读取指定数量字符,赋值给字符串变量。8.2顺序文件——操作4)关闭文件FileClose(文件号[,文件号列表])可以一次关闭多个文件。5)检测顺序文件结束的2个函数EOF(文件号):测试顺序文件是否到文件尾,如果文件结束(末尾),则EOF函数返回True,否则为FalseLOF(文件号):以字节数形式返回文件大小。8.2顺序文件——操作8.2顺序文件——举例【例8-1】写顺序文件8.2顺序文件PrivateSubbtnOpen1_Click(……)HandlesbtnOpen.Click‘打开文件过程IfrbtnOutput.CheckedThenFileOpen(1,"c:\test_file.txt",OpenMode.Output)'新建文件ElseFileOpen(1,"c:\test_file.txt",OpenMode.Append)'打开文件(追加记录)EndIfbtnWrite.Enabled=True '可以写数据了btnOpen.Enabled=False ‘不能再打开文件了tslStatus.Text="文件c:\test_file.txt已在1#缓冲区打开!"'在状态条显示文件当前状态i=0EndSub8.2顺序文件PrivateSubbtnWrite_Click(……)HandlesbtnWrite.Click‘写文件i=i+1IfrbtnWrite.CheckedThen'以紧缩格式写WriteLine(1,i,txtName.Text,txtSex.Text,Val(txtage.Text))Else'以标准格式写PrintLine(1,i,txtName.Text,txtSex.Text,Val(txtage.Text))EndIfbtnClose.Enabled=True'在状态条显示文件当前状态tslStatus.Text="第"&i&"个记录写入文件c:\test_file.txt!"EndSub8.2顺序文件PrivateSubbtnClose_Click(……)HandlesbtnClose.Click '关闭文件FileClose(1) btnClose.Enabled=FalsebtnWrite.Enabled=FalsebtnOpen.Enabled=Truei=0tslStatus.Text="文件c:\test_file.txt已关闭!"'在状态条显示文件状态EndSub8.2顺序文件【例8-2】读顺序文件8.2顺序文件PrivateSubbtnInput_Click(……)HandlesbtnOpen.Click FileOpen(1,"c:\test_file.txt",OpenMode.Input) '打开文件tslStatus.Text="文件c:\test_file.txt被以Input方式打开"btnOpen.Enabled=False'使打开文件按钮无效,此时不能再打开文件btnInput.Enabled=True '使读数据按钮无效,此时不能读文件i=0EndSub8.2顺序文件PrivateSubbtnDataIn_Click(……)HandlesbtnInput.Click DimiAsInteger,nameAsString,sexAsString,ageAsIntegerIfNotEOF(1)Then '如果没到文件结尾,读数据项Input(1,i):Input(1,name):Input(1,sex):Input(1,age) ‘读序号,姓名,性别,年龄等数据项 txtName.Text=name:txtSex.Text=sex:txtage.Text=age ‘显示姓名,性别,年龄等数据项tslStatus.Text="从文件c:\test_file.txt中读出了第"&i&"记录" Else tslStatus.Text="文件c:\test_file.txt已经读到了结尾" txtName.Text=“”:txtSex.Text=“”:txtage.Text=“”tslStatus.Text="“:btnInput.Enabled=False EndIfbtnClose.Enabled=TrueEndSub8.2顺序文件PrivateSubbtnClose_Click(……)HandlesbtnClose.ClickFileClose(1) '关闭文件btnInput.Enabled=FalsebtnClose.Enabled=FalsebtnOpen.Enabled=TruetslStatus.Text="就绪"EndSubVB.NET提供多个标准对话框,以方便在应用程序中打开文件、保存文件、设置颜色/字体等。工具箱中的OpenFileDialog和SaveFileDialog控件做为文件打开和关闭的用户交互界面,方便用户指定文件路径及文件名。注意:文件的打开、读和写、关闭等操作仍需要编写代码来完成。使用通用对话框OpenFileDialog和SaveFileDialog控件属性FileName属性Filter属性InitialDirectory属性Title属性InitialDirectory属性出现在“查找范围”列表框中Title属性出现在标题栏中Filter属性出现在文件类型列表框中FileName属性出现在文件名列表框中 方法 快递客服问题件处理详细方法山木方法pdf计算方法pdf华与华方法下载八字理论方法下载 ShowDialog方法:显示对话框。Reset方法:把所有的属性设置为默认值。事件FileOK事件:用户单击对话框的Open和Save按钮时触发。OpenFileDialog和SaveFileDialog控件方法和事件使用OpenFileDialogPrivateSubButton1_Click()HandlesButton1.ClickDiminputdataAsStringOpenFileDialog1.InitialDirectory="c:\"'设置初始路径OpenFileDialog1.Filter="TextFiles(*.Txt)|*.Txt|AllFiles(*.*)|*.*"'设置文件列表框中显示的文件类型OpenFileDialog1.FilterIndex=2'设置初始选定第2组文件类型OpenFileDialog1.ShowDialog()'显示“打开文件”对话框FileOpen(1,OpenFileDialog1.FileName,OpenMode.Input)'打开选定的文件TextBox1.Text=""DoWhileNotEOF(1)inputdata=LineInput(1)'读一行数据TextBox1.Text=TextBox1.Text+inputdata+vbCrLfLoopFileClose(1)EndSub使用SaveFileDialogPrivateSubButton2_Click(…)HandlesButton2.ClickSaveFileDialog1.FileName="Default.txt"'设置默认文件名SaveFileDialog1.DefaultExt="Txt"'设置默认扩展名SaveFileDialog1.ShowDialog()'显示“保存文件”对话框FileOpen(1,SaveFileDialog1.FileName,OpenMode.Output)'打开文件Print(1,TextBox1.Text)'将文本框的内容写入文件FileClose(1)EndSub结束东华大学计算机学院2011年12月3日8.3随机文件(1)定义记录操作随机文件前应先定义记录的结构,然后声明记录变量,通过结构变量读、写随机文件中的记录。例如:定义一个存储个人信息的结构PersonalRecordStructurePersonalRecord <VBFixedstring(12)>DimnameAsString <VBFixedstring(6)>DimsexAsString DimageAsintegerEndStructureDimpersonAsPersonalRecord 随机文件的记录长度相同,根据记录号访问,可以直接访问文件中的任意一个记录。说明:因为随机文件每个记录长度相同,所以在定义记录的类型结构时长度要明确.例本例记录长度为:22(FixedString12+Single6+Integer4)属性说明符VBFixedString用于声明定长字符串.8.3随机文件(2)打开文件Fileopen(文件号,文件名,OpenMode.Random,,,记录长度)由于记录一般由结构定义,记录长度就是相应结构的大小,一般用Len()函数计算,例如:FileOpen(1,"c:\test_file.dat",OpenMode.Random,,,Len(person))(3)关闭文件方法和形式与顺序文件相同,可以一次关闭多个文件。FileClose(文件号[,文件号列表])例如:FileClose(1,2)1)写操作:FilePut(文件号,变量名,[记录号])将记录变量内容写入指定的记录处;如果无记录号,则在当前记录前插入一条记录。例如:person.name=“王洪”person.sex=“女”person.age=15FilePut(1,stuCurrent,2)把person写入1号随机文件的第2个记录。如果该记录已经存在,将会覆盖原记录。8.3随机文件2)读操作:FileGet(文件号,变量名,[记录号])将文件中指定的记录读入变量中;如果无记录号,读当前记录后的一条记录。例如:FileGet(1,stuCurrent,2)TextBox1.text=person.nameTextBox2.text=person.sexTextBox3.text=person.age从随机文件中读取第2个记录,并把数据保存在变量person中,然后通过文本框显示出来。8.3随机文件8.3随机文件3)定位记录位置相关函数(1)返回和移动文件指针,定位文件指针的字节位置Seek(文件号[,位置])(2)返回当前读/写位置(记录号)LOC(文件号)(3)以字节数形式返回文件大小LOF(文件号)说明:文件操作时,有个内部变量称为文件指针。指向当前记录,每读写一条记录,指针移向后一条记录。文件刚打开时,指针指向第1条记录。但文件记录号为-1时,如果写记录则在文件末尾添加新记录;如果读记录,则读取当前记录。Seek()函数可以用来设置或返回文件指针位置。注意文件指针的位置单位是字节,不是记录。8.3随机文件【例8-3】读写随机文件8.3随机文件定义记录结构和相关变量StructurePersonRecord<VBFixedString(12)>DimnameAsString<VBFixedString(6)>DimsexAsStringDimageAsIntegerEndStructureDimpersonAsPersonRecord‘声明保存记录的变量DimisFileOpenedAsBoolean‘文件打开标志8.3随机文件打开文件PrivateSubbtnOpen_Click(……)HandlesbtnOpen.ClickIfisFileOpenedThenReturn‘如果文件已打开则返回FileOpen(1,"c:\test_file.dat",OpenMode.Random,,,Len(person)) '打开文件tslStatus.Text="文件c:\test_file.dat已打开,记录数为:"&LOF(1)/Len(person)isFileOpened=True '设置文件打开标志EndSub8.3随机文件读取记录PrivateSubbtnGet_Click(……)HandlesbtnFileGet.Click DimrecordNoAsLongIfNotisFileOpenedThenReturnrecordNo=Val(txtRecordNo.Text)IfrecordNo>0AndrecordNo<=LOF(1)/Len(person)Or(recordNo=-1AndNotEOF(1))ThenFileGet(1,person,recordNo) '读取记录txtRecordNo.Text=recordNotxtName.Text=person.nametxtSex.Text=person.sex:txtAge.Text=person.agetslStatus.Text="读取记录"&recordNo'显示状态 EndIfEndSub8.3随机文件写入记录PrivateSubbtnFilePut_Click(……)HandlesbtnFilePut.Click DimrecordNoAsLongIfNotisFileOpenedThenReturnrecordNo=Val(txtRecordNo.Text)person.name=tName.Textperson.sex=txtSex.Textperson.age=Val(txtAge.Text)IfrecordNo=-1Then‘在末尾插入一条记录 FilePut(1,person):tslStatus.Text="增加一条记录"EndIfIfrecordNo>0AndrecordNo<=LOF(1)/Len(person)Then FilePut(1,person,recordNo) ‘写记录覆盖当前记录tslStatus.Text="写入记录"&recordNo'显示状态EndIfEndSub8.3随机文件关闭文件PrivateSubbtnClose_Click(……)HandlesbtnClose.Click IfNotisFileOpenedThenReturnFileClose(1)'关闭文件isFileOpened=False'设置文件关闭标志 txtName.Text=""txtSex.Text=""txtAge.Text=""tslStatus.Text=“就绪”‘显示EndSub实验实验内容实验八第1题、第2题、第3题按书中例调试好后,可以尝试将文件记录改为:学号、姓名、成绩,再调试。测试题测试目的学生学习本章后,完成测试题以检验自己是否掌握主要知识点。测试方法在“幻灯片放映”状态下,点击链接VB-NET-第8课-自测题.xls启动测试,在“安全警告”对话框中选择“启用宏”按钮,再次点击链接,在Excel文档中的答案区绿色文本框填写学生信息及正确答案(A~D)。点击“评分”按钮检查答案是否正确。完成后执行菜单命令”文件|另存为“保存Excel文件到保存实验的学生目录下,和实验一起压缩打包上传服务器。
本文档为【VB-NET-第8章】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_021020
暂无简介~
格式:ppt
大小:6MB
软件:PowerPoint
页数:0
分类:互联网
上传时间:2017-11-16
浏览量:27