程序在编译时将每一个变量名对应一个地址,在内存中不再出现变量名,而只有地址。对变量值的存取通过地址进行,访问方式通常有两种。直接利用变量地址进行存取。在例6.1 中,当系统执行输入语句scanf时,根据变量i 与地址的对应关系,找到变量i 的起始地址2011,然后把键盘输入的数值存入&i 所指示的单元中。变量i在内存中的地址和数值,如图6.1 所示。这里,指针变量只能存放地址,而不能存放其他数据。......
2025-09-30
1.文件系统对象FSO
FileSystemObject(FSO)是VB可以引用的一组用于操作驱动器、文件夹、文件的对象。FSO对象使用面向对象语法来处理驱动器、文件夹和文件。FSO对象实际上是系统所提供的类模块,其应用方法与使用类模块自定义的对象相同。使用FSO对象能够创建、改变、移动、删除文件夹,也能查询文件、文件夹有关的信息及读写文本文件,它使得文件操作变得简单易行。
FSO对象包含在一个被称为Scripting的类型库中,此库位于Scrrun.dll文件中。如还没有引用此文件,从“工程”菜单的“引用”对话框选择“Microsoft Scripting Runtime”项,然后就可使用“对象浏览器”来查看其对象、集合、属性、方法、事件以及它的常数,并引用其方法。
FSO对象包含五个功能不同的成员,分别用于创建文件夹、文件,查询驱动器、文件夹、文件信息,获取文件或文件夹内存地址,读写文本文件等功能。
FSO对象中除主项FileSystemObject外,其余的4个文件系统对象类都是具体的类型,所以需要赋值后加以引用。FileSystemObject主要用于获取具体对象的句柄,创建文件夹、文件,删除移动文件夹、文件等操作,不涉及具体的对象,所以使用时不赋值。
FSO对象成员具体信息如表1.1所示。
表1.1 FSO模型对象

2.FSO对象应用
(1)创立FSO对象。
使用文件系统对象编程,首先必须创建一个FileSystemObject对象,然后才能使用其方法、属性来管理驱动器、文件夹和文件等对象。由于FSO对象不是控件(不可视),所以创建一个FSO对象实体的方法,是将一个变量声明为FSO型对象,其方法与声明一般变量相似,例如:
Dim <变量名> As New FileSystemObject
Dim <变量名> As drive
也可以使用CreateObject方法来创建一个FileSystemObject对象,程序语法为:
Set <变量名>=CreateObject("Scripting.FileSystemObject")
其中“Scripting”是类型库名称,而“FileSystemObject”则是想要创建的对象的名称,根据实际需要选择表1.1第1列中五种类型之一。
CreateObject方法在创立FSO对象的同时,将其赋值给对象型变量。赋值后的对象型变量保存的是所创立对象的引用,即对象在计算机内存中的地址,也称为句柄。对象型变量赋值不同于普通变量的是,必须用Set关键字,而一经赋值,则对对象型变量的操作等同于对它所引用对象的操作。
(2)FSO对象应用。
①FSO对象操作驱动器的方法。
访问已有的驱动器,可使用FileSystemObject对象中相应的“Get”方法:
Dim fso As New FileSystemObject, drv As Drive
Set drv = fso.GetDrive(描述驱动器的字符串)
上述语句功能是首先声明对象型变量fso和drv,然后运用FSO方法获得指定驱动器的内存地址,并赋值给驱动器型变量drv。
FSO对象允许系统获得驱动器的各种信息,诸如:TotalSize、FreeSpace、DriveLetter、DriveType、SerialNumber、FileSystem、IsReady、ShareName/VolumeName等属性,语法为<对象名\对象性变量>.属性,例如:
<对象名>.Print drv.TotalSize
<对象名>.Print drv.FreeSpace
②FSO对象操作文件夹的方法。
A.创建、删除、移动和复制(小写fso表示一个已声明的FileSystemObject类型的变量,fld表示一个已赋值的文件夹型的变量,声明方法如前述):
fso.CreateFolder(“描述文件夹名和路径的字符串”)
fld.Delete/fso.DeleteFolder(“描述文件夹名和路径的字符串”)(https://www.chuimin.cn)
fld.Move(“描述目的地的字符串”)/fso.MoveFolder(“描述要移动的文件夹及目的地的字符串”)
fld.Copy/fso.CopyFolder(“描述要复制文件夹的字符串”)
B.文件夹定位:
fso.FolderExists(“描述包括路径的文件夹名的字符串或对象型变量”)
fso.GetAbsolutePathName(“文件夹名 或对象型变量”)
fso.GetSpecialFolder(“文件夹名或对象型变量”)
相对于驱动器对象,文件夹对象的属性较多,下面将其常用属性列于表1.2。
表1.2 文件夹属性

③FSO对象操作文件的方法。
设文件型变量File已被赋值,现在是一文件型对象变量,fso已声明为FileSystemObject型变量,则移动、复制、删除文件的方法见表1.3。
表1.3 FSO操作文件的方法

表中string是表示移动文件及目的地,要复制、删除的文件名及路径的字符串。文件型对象File的属性较多,常用的见表1.4。
表1.4 文件型对象属性

续表1.4

④FSO对象操作文本文件。
使用FSO对象模型创建的textstream对象属于文本文件。应用textstream对象所具有的属性和方法,可使文件的打开、关闭、读出和写入非常方便。
A.文件的创建。
Dim fso As New FileSystemObject,ts As textstream
Set ts = fso.CreateTextFile(“C:\testfile.txt ” ,True)
上述语句功能是声明对象型变量,创建文件并赋予文本文件型变量ts。语句中的参数设置为True,表明允许覆盖同名文件。
B.读写文件。
textstream对象型变量文件操作具体功能与方法见表1.5。
表1.5 处理文本文件的方法

相关文章
程序在编译时将每一个变量名对应一个地址,在内存中不再出现变量名,而只有地址。对变量值的存取通过地址进行,访问方式通常有两种。直接利用变量地址进行存取。在例6.1 中,当系统执行输入语句scanf时,根据变量i 与地址的对应关系,找到变量i 的起始地址2011,然后把键盘输入的数值存入&i 所指示的单元中。变量i在内存中的地址和数值,如图6.1 所示。这里,指针变量只能存放地址,而不能存放其他数据。......
2025-09-30
我们将这种随试验结果的不同而取不同值的变量称随机变量,记X、Y、Z等。水文上连续型随机变量是常见的,如年径流量、年降水量、年最大洪峰流量等均是连续型随机变量。......
2025-09-29
用户自己定义的结构体类型,与系统定义的标准类型一样,是可以用来定义结构体类型的变量。这种方法定义的结构体类型在程序后面不可使用,因为缺少完整的结构体类型名。......
2025-09-30
程序中的每个“变量灯”的“功率”大小不一,因此它们的作用域就不相同了。这一点表明形参变量只有在函数内才是有效的,这种变量的有效范围称变量的作用域。变量说明的方式不同,其作用域也不同。在内部变量的作用域内,外部变量将被屏蔽而不起作用。外部变量说明的一般格式:外部变量的作用域是从定义位置到本源文件结束。......
2025-09-30
拉伸后删除还是保留原对象,取决于“DELOBJ”系统变量的设置。说明:如果要使创建的拉伸实体具有倾斜面(拔模面),如图9-23所示,那么在执行拉伸操作过程中,在“指定拉伸的高度或[方向/路径/倾斜角/表达式]”提示下选择“倾斜角”选项,并指定倾斜角度,最后才是指定拉伸高度。图9-22 创建一个拉伸实体图9-22 创建一个拉伸实体图9-23 具有倾斜面的拉伸实体图9-23 具有倾斜面的拉伸实体......
2025-09-29
方法是对象能识别的特殊函数或过程。事件要求掌握Load和Init,两个事件的触发顺序,Load先于Init。A.程序编辑器B.项目管理器C.数据库设计器D.应用程序生成器解析:VFP中项目文件的管理通过项目管理器来实现,连编程序也是在项目管理器中实现。若使VFP所开发的应用程序能脱离VFP的开发环境运行,则项目管理器中选择的按钮是()。......
2025-09-30
传感器的分类方法很多,但常用的分类方法有两种:一种是按测量对象分类,如温度传感器、湿度传感器、力传感器、位移传感器、速度传感器等;另一种是按传感器的工作原理分类,如热电式传感器、电容式传感器、压电式传感器、磁电式传感器等。结构性传感器因被测参数的变化引起传感器的结构变化,导致输出电量的变化,它是利用物理学中的场定律和运动定律等构成,如电容式传感器、电感式传感器。......
2025-09-29
例如,一个星期内只有7天,一年只有12 个月,一个班每周有6 门课程等。为此,C语言提供了一种称为“枚举”的类型。被说明为该“枚举”类型的变量取值,不能超过定义的范围。例如:3.说明枚举型仅适用于取值有限的数据。例如现行历法规定,一周7 天,一年12 个月。取值表中的值称为枚举元素,其含义由程序解释。、Sat=6,所以 Mon>Sun,Sat 最大。例如:如果enum weekdays{Sun=7,Mon=1,Tue,Wed,Thu,Fri,Sat};则Sun=7,Mon=1,从Tue=2开始,依次增1。......
2025-09-30
相关推荐