收藏 分销(赏)

Visual Basic 程序设计基础:第八章 文件.ppt

上传人:可**** 文档编号:7903256 上传时间:2025-01-25 格式:PPT 页数:30 大小:459.50KB 下载积分:10 金币
下载 相关 举报
Visual Basic 程序设计基础:第八章 文件.ppt_第1页
第1页 / 共30页
Visual Basic 程序设计基础:第八章 文件.ppt_第2页
第2页 / 共30页


点击查看更多>>
资源描述
,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,2025/1/25 周六,1,第八章 文件,掌握的内容,常用文件管理控件的应用,数据文件的操作,自学,文件操作语句与函数,3,8.1,文件管理控件,VB,提供了,3,种可直接浏览系统目录结构和文件的控件:,盘驱动器列表框、目录列表框、文件列表框。,盘驱动器列表框,目录,列表框,文件,列表框,4,驱动器列表框控件,通常只显示,当前驱动器名称,,单击向下箭头,就会下拉出当前系统拥有的所有磁盘驱动器,供用户选择。,1,重要属性,Drive,属性,用来设置当前驱动器或返回所选择的驱动器名。,使用格式:,对象,.Drive=,例如:,Drive1.drive=“C:”,8.1.1,盘驱动器列表框(,DriveListBox,),盘驱动器列表框控件的其它重要属性,2,、,List,属性,:,List,数组的每一个元素都是盘驱动器列表框控件的一个列表项,为一个驱动器名,数组下标从,0,ListCount-1,3,、,ListCount,属性,:表示系统中盘驱动器的个数,例如:,For i=0 To Drive1.ListCount-1,Print Drive1.List(i),Next i,注意:,三个属性都只能在程序运行时赋值,不能在设计时赋值。,6,2,重要事件,Change,事件,在程序运行时,当,选择一个新的驱动器,或,通过执行代码,改变,Drive,属性的设置时都会触发驱动器列表框的,change,事件发生。,8.1.1,驱动器列表框(,DriveListBox,),7,8.1.2,目录列表框(,DirListBox,),目录列表框控件用来显示,当前目录的上级目录顺序,结构及,当前目录,下的所有子目录。供用户选择其中一个目录为,当前目录,。,常用属性:,1,、,Path,属性:,字符串类型,用于设置当前目录,Dir1.Path=c:windows”,双击,目录列表框的某一个表项,则,Path,属性值自动设置为该目录。,目录列表框常用属性:,2,、,ListCount,属性:,表示,当前目录的一级子目录,的数量。(而不是目录列表框中列表项的个数),3,、,ListIndex,属性:,表示被选中表项的索引号。,遵循的规则:,当前目录对应索引号,-1,,当前目录的父目录对对应的索引号为,-2,,依次类推;当前目录的第一个子目录所对应的索引号为,0,,后一个为,1,,依次类推。最有一个子目录对应索引号为,ListCount-1,。,4,、,List,属性:,结合索引号,表示目录列表框中的一个表项,取值为,-n,ListCount-1,,其中,-n,为根目录对应的索引号。,目录列表框的常用事件,1,、,Change,事件:,当目录列表框的,Path,属性值发生变化时触发该事件。,2,、,Click,事件,注意:,当单击选中某个目录时,触发该事件,并且,ListIndex,属性值发生变化,但是,Path,属性并没有变化。如果想单击某个目录时,同时改变,Path,路径,就应该在,Click,事件的事件过程中写入语句:,Dir1.Path=Dir1.List(Dir1.ListIndex),。,10,8.1.3,文件列表框(,FilelistBox,),文件列表框控件用简单列表形式显示,Path,属性指定的目录中所有,指定,文件类型的文件。,Path,属性:,字符类型,用于返回或设置列表框内所显示文件的路径。,FileName,属性:,用于返回或设置被选定的文件名,(不含路径),。,Pattern,属性:,具有通配符的文件名字符串,缺省值为“*,.*”,,用于返回或设置列表框所显示的文件类型。,File1.Pattern=“*.frm”,(只显示*,.frm,文件),File1.Pattern=“*.exe;*.txt”,(,只显示*,.exe,文件和,.txt,文件),常用事件有:,PathChange,事件,,PatternChange,事件,,Click,事件和,DblClick,事件,11,说明:,要使驱动器、目录和文件列表框同步显示,可以编 写简单的代码就使它们之间彼此同步。,例:,文件系统控件的联动,Sub Drive1_Change(),Dir1.Path=Drive1.Drive,End Sub,Sub Dir1_Change(),File1.Path=Dir1.Path,End Sub,直接调用外部可执行文件的,Shell,函数,简单调用格式,call,shell,(,Windows_style),或者,shell,Windows_style,或者,shell,(,Windows_style),例如:,调用,Windows,应用程序中的画图板程序。,Call Shell(C:WINDOWSsystem32mspaint,“,1,),目录和文件操作语句:,ChDrive,、,MkDir,、,RmDir,、,ChDir,、,FileCopy,、,Kill,、,Name,、,GetAttr,、,SetAttr,、,FileDateTime,、,FileLen,等。,8.2,文件操作语句与函数,13,8.3.1,文件的基本概念,文件是数据信息在磁盘上的一种存储结构,,计算机系统中的不同文件以不同的文件标识符区分,即不同的文件全名(包括存储路径、主名、扩展名,3,部分组成。,8.3,数据文件的操作,14,文件:由,“,记录,”,构成。,记录:由若干个相互关联的数据项组成。,总分,物理成绩,语文成绩,数学成绩,姓名,学号,276,90,99,87,乙,002,275,88,95,92,甲,001,文件,8.3,数据文件的操作,15,按文件的存储格式不同,,文件分为两种:,文本文件,二进制文件,按照文件的访问类型不同,,文件分为三类:,顺序文件,随机文件,二进制文件,文件的基本概念,16,8.3.2,文本文件的顺序访问,顺序文件的概念:,按顺序依次把记录写入文件;按顺序依次把记录读出来,适用于读写在连续块中的文本文件,一行一条记录,记录可长可短,以“换行”字符为分隔符号。,顺序文件的访问是为普通的,文本文件,的使用设计的。,记录,1,记录,2,记录,n,文件结束标志,17,顺序文件的访问模式:,关闭文件,打开文件,读出或写入,Private Sub Form_Click(),Open“C:dd.txt”For Output As#1,Print#1,”ok”,89,Close#1,End Sub,8.3.2,文本文件的顺序访问,18,“打开文件”的语句格式:,Open “,文件名”,For,模式,Lock Lock_level As#,文件号,(,1,)模式:,Output,:,写操作(从内存写到外存),Input,:,读操作(从外存读到内存),Append,:,追加到文件末尾,(,2,),Lock_level,:,Read:,别的任务或进程不可读该文件,Write:,别的任务或进程不可写该文件,ReadWrite:,别的任务或进程不可读、写该文件,若缺省,则在,Input,模式下默认为,Write,,否则默认为,Read Write,(,3,)文件号:整数,1,511,8.3.2,文本文件的顺序访问,19,例如:,Open,“,C:TEMPA.TXT,”,For Input As#1,Open,“,C:TEMPB.TXT,”,For Output As#2,Open,“,C:TEMPC.TXT,”,For Append As#3,注意:,(,1,)模式为,Output,,打开文件时,会清空文件中的内容。,若文件不存在,会自动创建此文件。,(,2,)模式为,Input,,要打开的文件必须已经存在,否则会出错。,(,3,)模式为,Append,,打开文件时,会保留文件中原有的内容,把新数据追加到文件末尾。若文件不存在,会自动创建此文件。,8.3.2,文本文件的顺序访问,20,8.3.2,文本文件的顺序访问,使用,函数,Freefile,的返回值为系统中当前最小、未被其他文件所用的文件号。,比如:,N=,freefile,Open“C:TEMPA.TXT”For Input As,N,“关闭文件”的语句格式:,Close,文件号列表,例如:,Close#1,#2,#3,Close,注意:,在文件的读写操作完成后,要用,Close,来关闭文件。,8.3.2,文本文件的顺序访问,22,顺序文件的写操作:,Private Sub Command1_Click(),Open d:sssss.txt For Output As#1,Print#1,ok;89,效果与在窗口上类似,有紧凑与宽松之分,Write#1,ok,89,逗号与分号效果相同,字符串引号自动加,末尾无分隔符,则自动换行,Write#1,True,Write#1,False,Close#1,End Sub,(,1,),Print#,文件号,,表达式列表,(,2,),Write#,文件号,,表达式列表,8.3.2,文本文件的顺序访问,23,Private Sub Command1_Click(),Open d:abc.txt For Output As#1,Write#1,北京,38,20,Write#1,上海,35,16,Write#1,深圳,37,18,Write#1,西安,32,10,Write#1,拉萨,16,7,Close#1,End Sub,写入数据一般都使用,Write,语句,而不是,Print,语句,,因为,Write,语句能更好地区分记录中的数据项。,8.3.2,文本文件的顺序访问,24,顺序文件的读操作:,(,1,),Input#,文件号,变量列表,把读出的每个数据项(分隔符来区分)分别存放到所对应的变量,读完一行数据就停止。,Private Sub Command1_Click(),Dim s As String,a%,b%,Open d:abc.txt For Input As#1,Input#1,s,a,b,Print s;a;b,Close#1,End Sub,8.3.2,文本文件的顺序访问,关于数据间的分隔符:,读顺序文件时,由数据间的分隔符区分哪段字符与哪个变量对应,具体规则如下:,1,、除数字、小数点、正负号、,E,字符之外的字符可作为数值数据之间的分隔符。,2,、日期类型、逻辑类型数据的两端以,“,#,”,号作为分隔标识符,数据之间应有非空字符间隔,,其中逻辑类型必须大写,。,3,、逗号、换行符可以作为字符数据的分隔符,双引号作为字符数据分隔符必须成对出现。,26,(,2,),Line Input#,文件号,字符串变量,将文件的当前读写位置起至,换行符,或,文件结束符,前的所有字符读入到字符串变量。,顺序文件的读操作:,Private Sub Command1_Click(),Dim s As String,Open d:abc.txt For Input As#1,Line Input#1,s,Print s,Close#1,End Sub,8.3.2,文本文件的顺序访问,注意两点:,如果文件中的数据是直接在编辑器中输入的,需要为字符串加引号,日期、逻辑类型数据前后都加,”,#,”,号,所有不同数据之间加逗号。,如果文件中的数据是,Visual Basic,应用程序的输出结果,以采用,Write,语句输出而以,Input,语句输入为宜。,28,EOF(,文件号,),:,如果读写位置在文件末尾,,EOF,函数,返回,True,,否则为,False,。,LOF(,文件号,),:,返回文件的长度,(,总字节数,),。,常用的文件函数:,8.3.2,文本文件的顺序访问,29,Input$(n,#,文件号,):,从指定的文件中读取具有,n,个字符的字符串,作为函数的返回值。这里的字符包括逗号、回车符、换行符、引号等各种符号。,常用的文件函数:,Private Sub Command1_Click(),Dim s As String,Open d:sssss.txt For Input As#1,s=Input(LOF(1),#1),Close#1:Print s,End Sub,8.3.2,文本文件的顺序访问,30,EOF,函数在循环体中的应用:,Private Sub Command1_Click(),Dim s As String,Open“d:abc.txt For Input As#1,Do While Not EOF(1),s=s&Input(1,#1),Loop,Close#1,Print s,End Sub,8.3.2,文本文件的顺序访问,
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服