版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、VB 编程班第十七课1、 介绍:文件操作顺序文件,随机文件,二进制文件的操作2、 说明:顺序文件在程序中对文件的操作,通常按 3 个步骤进行:顺序文件的打开与关闭1。打开顺序文件其使用格式如下:Open FileName For Input | Output | Append LockAs filenumber Len = Buffersize各参数的意义Open文件名 For 打开方式 As#文件号文件名。打开方式包括以下 3 种。InputOutputAppend(3)文件号。是一个 1511 之间的整数。它用来代表所打开的文件,文件号可以是整数或数值型变量。例如: Opend:shu1.
2、datForInputAs#1该语句以输入方式打开文件 shu1.dat,并指定文件号为 1。 Opend:shu2.datForOutputAs#5件 shu2.dat 进行写操作,并指定文件号为 5。 As#7件 shu3.dat 添加数据,并指定文件号为 7。该语句以输出方式打开文件 shu2.dat,即 Opend:shu3.datForAppend该语句以添加方式打开文件 shu3.dat,即例如:OPEN“C:TEMPA.TXT “ FOR Input AS #1 OPEN“C:TEMPB.TXT “ FOR Output AS #2 OPEN“C:TEMPC.TXT “ FOR
3、Append AS #12、关闭文件Close 语句使用格式如下:Close filenumberlist读出或写入关闭文件打开文件其中:filenumberlist:可选项,为文件号列表,如:#1, #2, #3,如果省略,则将关闭 Open 语句打开的所有活动文件。例如:Close #1,#2,#3Close顺序文件的读写操作件写入内容使用 Pr# 语句或 Write#语句,在程序是数据输出。1Pr语句使用格式:PR#,说明:文件号为以写方式打开文件的文件号;输出列表为用分号或逗号分隔的变量、常量、空格和定位函数序列。2Write 命令使用格式:Write #,Write 语句采用紧凑格式
4、。数据项之间“,”,并给字符数据加上双引号。Pr与 Write 语句输出数据结果比较。Private Sub Form_Click()Dim Str As String, Anum AsegerOpen D:Myfile.dat For Output As 1 Str = ABCDEFGAnum = 12345Pr#1, Str, AnumWrite #1, Str, Anum Close #1End Sub编程把一个文本框中的内容,以文件形式存入磁盘。假定文本框的名称为 Mytxt,文件名为 Myfile.dat。方法 1:把整个文本框的内容地写入文件。Open Myfile.dat For
5、 Output As #1Pr#1, Mytxt.TextClose #1方法 2:把整个文本框的内容一个字符一个字符地写入文件。 Open Myfile.dat For Output As #1For i=1 To len(Mytxt.Text)Pr Next iClose #1#1,Mid(Mytxt.Text,i,1);2. 顺序文件读操作从现存文件中读入数据,应以顺序 Input 方式打开该文件。然后使用 Input# 语句、Line Input# 语句和 Input( )函数读入到程序变量中。使用格式如下:INPUT #文件号,变量列表把读出的每个数据项分别存放到所对应的变量。LIN
6、E INPUT #文件号,字符串变量读一行到变量中,主要用来文本文件。INPUT$(字符数, #文件号)指定的数量的字符,作为函数的返回值3与读文件操作有关的几个函数Lof 函数LOF 函数将返回某文件的字节数。例如,LOF(1)返回#1 文件的长度,如果返回 0 值,则表示该文件是一个空文件。Loc 函数Loc 函数将返回在一个打开文件中读写的字节的位置。(3)Eof 函数号;对于二进制文件,它将返回最近读写的一个Eof 函数将返回一个表示文件指针是否到达文件末尾的标志。如果到了文件末尾,Eof返回 TRUE(-1),否则返回 FALSE(0)。编程将一文本文件的内容读到文本框假定文本框名称
7、为 txtTest,文件名为 MYFILE.TXT。可以通过下面三种方法来实现。方法 1:一行一行读txtTest.Text Open MYFILE.TXT For Input As #1 Do While Not EOF(1)Line Input #1, InputDatatxtTest.Text txtTest.Text + InputData+vbCrLf LoopClose #1函数方法 2:读txtTest.Text Open MYFILE.TXT For Input As #1 txtTest.Text = Input( LOF(1),1)Close #1方法 3:一个个字符读Di
8、m InputData as String*1 txtTest.Text Open MYFILE.TXT For Input As #1 Do While Not EOF(1)Input #1, InputDatatxtTest.Text txtTest.Text + InputData LoopClose #1利用文件系统控件、组合框、文本框,制作一个文件浏览器。要求:组合框限定文件列表框中显示文件的类型,如选定“*.Txt”文件。当在文件列表框选定欲显示的文件时,在文本框显示出该文件的内容。Private Sub Combo1_Click() Dim filetype As String
9、Select Case Combo1.TextCase 所有文件(*.*)filetype = *.* Case 窗体文件(*.frm*)filetype = *.frm* Case 文本文件(*.txt*)filetype = *.txt* End Select File1.Pattern = filetypeEnd SubPrivate Sub Dir1_Change() File1.Path = Dir1.PathEnd SubPrivate Sub Drive1_Change()Dir1.Path = Drive1.Drive End SubPrivate Sub File1_Clic
10、k()Dim st As String, fpaText1.Text = s StringIf Right(Dir1.Path, 1) = Then fpath = Dir1.Path & File1.FileName Elsefpath = Dir1.Path & & File1.FileName End IfOpen fpath For Input As #1 Do While Not EOF(1)Line Input #1, stText1.Text = Text1.Text + st + vbCrLf LoopClose #1End SubPrivate Sub Form_Load()
11、 Combo1.AddItem 所有文件(*.*) Combo1.AddItem 窗体文件(*.frm*) Combo1.AddItem 文本文件(*.txt*) Combo1.ListIndex = 2End Sub随机文件随机文件的打开与关闭1打开随机文件打开随机文件格式为:OPEN FileName FOR Random Acs Lock As filenumber Len = reclength用 OPEN 命令以 Random 模式打开随机文件,同时写操作。例如:的长度。文件打开后,可同时进行读Open d:abc.dat For Random Ac2关闭随机文件s Read As
12、#1 Len = 20随机文件的关闭与关闭顺序文件相同。写随机文件Put#文件号,号,变量名将一个变量的内容写到指定的位置处。忽略读随机文件号,则表示在当前后的位置一条。Get#文件号,号,变量名忽略号,则读出当前后的那一条。学生信息。程序的运行界面下图所示,该程序的具设计一个简单的学生成绩管理程序,使用随机文件有数据添加、修改、删除及学生信息顺序查询等功能。二进制文件1打开文件Open文件名For BinaryAs#文件号写操作Put#文件号,位置,变量名 写入长度等于变量长度的数据。读操作GET#文件号,位置,变量名从指定位置开始读出长度等于变量长度的数据存入变量中,数据读出后移动变量长度
13、位置,如果2.3.忽略位置,则表示从文件指针所指的位置开始读出数据,数据读出后移动变量长度位置。编程序实现将 D 盘根目录中的文件Abc.dat到 E 盘,且文件名改为 Myfile.dat。Dim char As Byte 打开源文件Open D:Abc.dat For Binary As # 1 打开目标文件Open E:Myfile.dat For Binary As # 2Do While Not EOF(1)Get #1, , char Put #2, , char LoopClose#1, #2 从源文件读出一个字节 将一个字节写入目标文件文件操作语句改变当前驱动器(ChDrive
14、 语句)格式:ChDrivedrive功能:改变当前驱动器。说明:如果drive 为“,则当前驱动器将不会改变;如果drive 中有多个字 符,则ChDrive 只会使用首字母。例如:ChDrive D 及 ChDrive D: 和 ChDrive Dasd 都是将当前驱动器设为D 盘。改变当前目录(ChDir 语句)格式:ChDirpath功能:改变当前目录。例如:ChDir D:TMP说明:ChDir 语句改变缺省目录位置,但不会改变缺省驱动器位置。例如,如果缺省的驱动器是 C,则上面的语句将会改变驱动器 D 上的缺省目录,但是 C 仍然是缺省的驱动器:2.删除文件(Kill 语句)格式:
15、Killpathname功能:删除文件。说明:pathname 中可以使用统配符“*”和“?”。例如:Kill*.TXT Kill C:MydirAbc.dat4.建立(MkDir 语句)和删除(RmDir 语句)目录建立目录格式:MkDirpath功能:创建一个新的目录。例如:MkDir D:MydirABC删除目录格式:RmDirpath功能:删除一个存在的目录。说明:只能删除空目录。例如:RmDir D:MydirABC“说明:RmDir 只能删除空子目录,如果想要使用 RmDir 来删除一个含有文件的目录或文件夹,则会发生错误。拷贝文件 FileCopy 语句格式:FileCopyso
16、urce , destination功能:例如:一个文件。FileCopy D:MydirTest.doc A:MyTest.doc说明: FileCopy 语句不能6文件的更名 Name 语句一个已打开的文件。格式:NameoldpathnameAsne功能:重新命名一个文件或目录。thname例:Name D:MydirTest.doc As A:MyTest.doc说明:(1) Name 具有移动文件的功能。(2) 不能使用统配符“*”和“?”,不能对一个已打开的文件上使用 Name 语句。设置文件属性Se格式:tr 语句。Setr FileName, attributes其参数含义:F
17、ileName:必要参数。一个文件名的字符串表达式。Attributes:必要参数。常数或数值表达式,其总和用来表示文件的属性。Attributes 参数设置下表:文件操作函数1获得当前目录CurDir 函数格式:CurDir(drive)功能:利用 CurDir 函数可以确定指定驱动器的当前目录。说明:可选的 Drive 参数是一个字符串表达式,它指定一个存在的驱动器。如果没有指定驱动器,或 Drive 是零长度字符串(“),则 CurDir 会返回当前驱动器的路径。例如:str=CurDir(“C:”)获得 C 盘当前目录路径,并赋值给变量Str获得文件属性Getr 函数。格式:Getr(
18、FileName)功能:返回代表一个文件、目录、或文件夹的属性的eger 数据。Getr 返回的值及代表的含义下表常数数值描 述VbNormal0常规(缺省值)VbReadOnly1只读。VbHidden2隐藏。VbSystem4系统文件VbArchive32上次备份以后,文件已经改变3.FileDateTime 函数格式:FileDateTime(FileName)功能:返回一个 Variant (Date),此值为一个文件被创建或最后修改后的日期和时间。 4FileLen 函数格式:FileLen(FileName)功能:返回一个 Long,代表一个文件的长度,是字节。5S函数和S过程在
19、VB 中,可以调用在DOS 下或Windows 下运行的应用程序:函数调用形式:ID=S( FileName ,WindowType )说明:执行一个可执行文件,返回一个 Variant (Double),如果成功的话,代表这个程序的任务 ID,它是一个唯一的数值,用来指明正在运行的程序。若不成功,则会返回 0过程调用形式:SFileName,WindowType)FileName:是要执行的应用程序名字符串,包括盘符、路径,它必须是可执行的文件。WindowType:为整型值,表示执行应用程序打开的窗口类型,其取值下表。常数数值描 述VbNormal0常规vbReadOnly1只读VbHid
20、den2隐藏VbSystem4系统文件VbDirectory16目录或文件夹VbArchive32上次备份以后,文件已经改变Vbalias64指定的文件名是别名例如: 调用执行Windows 系统中的记事本i = S(C:WINDOWSNOTEPAD.EXE) 进入 MS_DOS 状态j = S(c:, 1)也可按过程形式调用:SSC:WINDOWSNOTEPAD.EXEc:, 1注意,上面指定的执行文件,可能因不同计算机系统,文件的路径有所不同。*文件系统对象(了解内容)在 VB6.0 中新增了文件系统对象(File System Object 缩写为 FSO)模型,它提供了一整套对文件系统
21、进行管理和操作的方法和属性,包括:获得驱动器的信息,如驱动器列表、盘符、磁盘空间等。 获得文件夹的或文件的信息,如名称、创建、修改日期等。检查指定的文件夹或文件是否存在及在什么位置。文件夹或文件的删除、移动、对文本文件的读写操作。FileSystemObject 对象等通常操作。FileSystemObject 对象是 FSO 模型中的创建一个 FileSystemObject 对象。对象,在应用程序中使用 FSO 的编程主要步骤是:根据应用程序的需要,通过调用 FileSystemObject 对象中的方法来创建一个新的对象,如 Drive 对象、Folder 对象等。通过新对象的属性值获得
22、用户所需的信息或利用对象的方法进行所需的操作。1创建 FileSystemObject 对象有两种方法创建 FileSystemObject 对象:方法一、 使用 New 关键字一个变量为 FileSystemObject 对象类型。其语法格式:Dim As New FileSystemObject常量值描述VbHide0窗口被隐藏,且焦点会移到隐式窗口VbNormalFocus1窗口具有焦点,且会还原到它原来的大小和位置VbMinimizedFocus2(缺省)窗口会以一个具有焦点的图标来显示(最小VbizedFocu VbNormalNoFocus3窗口是一个具有焦点的最大化窗口4窗口会被
23、还原到最近使用的大小和位置,而当前活VbMinimizedNoFocus6窗口会以一个图标来显示。而当前活动的的窗口仍例如:Dim fsox As New FileSystemObject方法二、使用 CreateObject 方法创建一个 FileSystemObject 对象,其语法格式:Set =CreateObject(Scripting.FileSystenObject )例如:Dim fsox As ObjectSet fsox=CreateObject(Scripting.FileSystenObject ) 2FileSystemObject 对象的属性FileSystemOb
24、ject 的属性只有一个 Drives, 它是系统中所有 Drive 对象的对象集合,用户可以获取当前计算机系统中所有驱动器的信息。例如 下面的代码可显示系统能够使用的驱动器名称:Dim fsox As New FileSystemObject For Each I In fsox .DrivesPri.DriveLetter Next I2FileSystemObject 对象的方法FileSystemObject 对象有许多方法 ,在 FSO 模型中对文件的管理就是通过这些方法来完成的。Drive 对象通过 Drive 对象可以获得计算机上关于驱动器的信息。诸如驱动器有多少可用空间,其共享名称是什么,等等。要使用 Drive 对象,首先要一个驱动器类型的变量,接着使用 FileSystemObject 对象的 GetDrive 方法返回一个Drive 对象,例如:Dim drv As DriveSet drv=fsox.GetDrive(“C:”)使用 FileSystemObject 对
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年智能办公工具应用课件
- 2026 年秋季青少年近视防控健康科普
- 某食品加工厂添加剂管控办法
- 某石材厂石材加工工艺准则
- 肾性贫血诊断与治疗中国专家共识2025
- 辐射防护环境与场所剂量(率)仪的低剂量率水平校准
- 双向半桥电路分析及仿真
- 反映企业经济活动的会计基本程序与方法
- 地下防水工程质量验收规范GB502082026学习指导
- 医学科研入门科研项目的策划与实施
- 外协加工控制程序
- 小学安全教育校本课程教材
- 《方帽子店》教案(2课时)-2026-2027学年统编版(新教材)小学语文四年级上册
- SOE-MT-NOTE 三大运营商招聘考试核心考点笔记:通信原理与移动通信技术
- (2026年)河北省石家庄市检察院书记员考试题(附答案)
- 商业物业管理及运营合同
- 乡村路面养护方案
- GB/T 47335.2-2026中医药诊断词汇第2部分:脉象
- 2026浙江宁波市自然资源和规划大数据中心招聘编制外工作人员1人笔试参考题库及答案解析
- 中考物理总复习《浮力与压强》专项测试卷及答案
- 五年(2021-2025)中考数学真题分类汇编(重庆专用)05:圆(教师版)
评论
0/150
提交评论