本篇经验介绍在VB的文件系统编程中需要经常用到的函数,希望能够给各位热爱编程的朋友一点帮助
工具/原料
Visual Basic6.0
函数一:CurDir函数
1、功能:返回一个String型或者Variant型的值来表示当前的路径(默认路径)
2、语法:CurDir
3、案例:窗体加载之后显示当前的默认路径代码:Private Sub Form_Load()ShowPrint "当前默认路径为:" & CurDirEnd Sub执行前后结果见图
GetAttr函数
1、功能:返回一个integer类型的值,用于表示对应文件的属性,常常SetAttr语句一起使用(见笔者之前写的经验)。
2、语法:GetAttr(文件字腿发滏呸符串) and 属性常数该语句用于得到一个值确定特定的属性是否设置,如果设置了则返回非零数值,如果未设置则返回0属性常数对应于各个属性,也可以为属佣甲昭宠性常数对应的值GetAttr返回值表如下:常数----值----描述vbnormal----0----常规vbReadonly----1----只读vbHidden----2----隐藏vbSystem----4----系统文件vbDirectory----16----目录或文件夹vbArchive----32----上次备份以后文件已经改变vbalias----64----指定文件名是别名
3、案例:本案例检测E赢棱殄蕹盘文件夹下的只读属性是否勾选代码:Private Sub Command1_Click()Dim a As Integera = GetAttr("E多唉捋胝:\新文件.txt") And vbReadOnlyIf a <> 0 ThenMsgBox "该文件只读属性已经勾选"ElseMsgBox "该文件只读属性未勾选"End IfEnd Sub执行前后结果见图其他属性检测笔者就不一一举例了,读者可以自己试试其他属性以加强印象
FileDateTime函数
1、功能:该函数用于获取文件创建或最近修改的日期和时间值,该函数的返回值是一个Date型值或者Variant型的值
2、语法:FileDateTime(表示文件路径的字符串)
3、案例:本案例用于获取本人计算机E盘根目录下名为“新文件.txt”的文件的最后修改时间或创建时间。代码:Priv锾攒揉敫ate Sub Command2_Click()Dim Date1 As DateDate1 = FileDateTime("E:\新文件.txt")MsgBox "文件的最后修改时间是:" & Date1End Sub
FileLen函数
1、功能:该函数返回一个long型值,表示获取的目标文件的长度,以字节为单位
2、语法:FileLen(表示文件路径的字符串)
3、案例:获取本人计算机E盘根目录下的“新文件.txt”文件的长度代码如下:Private Sub Command3_Click()MsgBox "获取的文件长度为:" & FileLen("E:\新文件.txt")End Sub
EOF函数
1、功能:对于该函数笔者查阅了几本教科书对于该函数的解释,基本上原解楠道塘校释都是“该函数用于测试文件的结束状态”。总感觉这样的解释让人摸不到头脑,什么是结束,什么是开始,都没说清楚。其实要说清楚这个问题需要引入一个叫“指针”的概念,所谓“指针”可以理解为文件的输入“光标”。我们都知道,在对文件进行编辑操作的时候光标指向哪里,输入就会从哪里开始输入,而该函数实际上就是用于测试这个光标是否是到了文件的最末尾。
2、语法:EOF(文件号)该函数返回值有两个值,true或者false,如果指针到达文件末尾,则返回true,如果指针不在文件末尾,则返回false。文件号就是我们在使用open语句的时候给某个文件的文件号。
3、举例:本例笔者举两个例子:例子一:笔者将指针不设置在文件的最后,观察EOF的返回值Private Sub Command4_Click()Open "E:\新文件.txt" For Input As #1Seek #1, 2 '将指针指向第二个字符MsgBox EOF(1)Close #1End Sub例子二:笔者将指针设置在文件的最后,也就是第三个字符位Private Sub Command4_Click()Open "E:\新文件.txt" For Input As #1Seek #1, 3 '将指针指向第三个字符位MsgBox EOF(1)Close #1End Sub
LOF函数
1、功能:返回已经打开的文件的大小,返回值类型是LONG型注意是已经打开的文件的大小,如果文件没有使用open语句打开,则不能返回大小。这也是和FileLen函数的区别。
2、语法:LOF(文件号)
3、举例:通过LOF函数获得E盘跟目录下“新文件.txt”的文件大小代码:Private Sub Command5_Click()Open "E:\新文件.txt" For Input As #1MsgBox LOF(1)Close #1End Sub