精华区 [关闭][返回]

当前位置:网易精华区>>讨论区精华>>编程开发>>● VFP>>〖命令使用〗>>跟我学VFP函数—文件函数,第一部分

主题:跟我学VFP函数—文件函数,第一部分
发信人: fbilo(fbilo)
整理人: hunter__fox(2002-03-16 23:11:11), 站内信件
跟我学VFP函数 
文件函数,第一部分 

本文来自VFUG 邮件列表 http://www.vfug.org
翻译文章来自foxer资料站 http://fbilo.myrice.com

作者:Tom Gahagan 
译者:fbilo 

对任何在用VFP编程的人来说,修剪语言的尺寸都是一个共同的挑战。它太庞大了。掌握所有的命令、函数等等即使对编程老手来说都是一个令人畏惧的任务。那么,你怎么开始呢? 

可能一个最好的策略是把一幅大照片切开分成几幅小照片。很象是寓言所说的怎么吃一头象...一次吃一点。在这一系列文章里我们将从VFP的函数开始“吃”。一个快速的统计显示VFP有28个处理文件的函数。我们不会详细研究每一个的细节,只讨论它们的大致内容。在我们开始以前,让我们先搞清楚什么是函数。 

那么到底函数是什么? 
++++++++++++++++++ 

简单的讲,一个函数就是一系列指令,用来完成一个特殊的任务并返回一个值,这个值或者是表示这些指令成功或者失败,或者是这些指令操作的结果。VFP有数百个内建的函数并且允许你建立自己的函数。你自己建立的函数被称为用户自定义函数。一个函数可以通过在函数名的后边紧跟着的()与命令相区别。在大多数情况下,你传递(发送)给函数一个将要使用的信息或者值。信息或者值被放在圆括号的中间并被称之为参数。有些函数接收一个参数,有些则接收许多个。如果函数接收超过一个参数,你要用逗号来分隔它们。有些函数还要求接收的参数必须是某种特殊的数据类型。例如,第一个参数可能是一个字符串类型而第二个参数则是数值类型。现在...开始那些帮助我们处理文件的函数。 

"Just"文件函数 
++++++++++++++ 

让我们假设你有一个长字符串.... 

C:\program files\microsoft visual studio\vfp98\mydata.dbf 

在那个字符串里你只需要取得它的扩展名部分,你该怎么办? 

不错,你可以使用某些字符串函数,当然它们也能正常工作。你能够使用 JUSTEXT() 函数来获得同样的信息。这个函数只返回字符串的扩展名部分。返回的值是字符。所以在VFP的命令窗口里: 

?justext("C:\program files\microsoft visual studio\vfp98\mydata.dbf") 

将返回 

dbf 

让我们假设在一个程序里,你的用户从一个列表框中选择了一个文件,而你需要知道这个文件的扩展名是什么。你可以这么做: 

获得文件名称: mvalue = thisform.list1.value (这里假设 list1.value 已经在它的属性里被设置为字符) 

然后获得扩展名:myext = justext(mvalue) 

现在 myext 是选择的文件的由3个字母组成的扩展名。 

如果你想要把两步缩短为一步,你可以这么做: 

myext = justext(thisform.list1.value) 

其它的 Just函数有: 

JUSTDRIVE():它只返回驱动器符号。例如: 

?justdrive("A:\mydata.dbf")将返回“A” 

JUSTSTEM():它只返回一个文件名的名称部分。例如: 

?juststem("C:\testdata.dbf") 将返回 "testdata" 

JUSTFNAME():它将返回一个文件的枝干部分和扩展部分。例如: 

?justfname("D:\folder1\mydata.dbf") 将返回 "mydata.dbf" 

JUSTPATH():将返回路径信息。例如; 

?justpath("c:\testdata\files\mystore.dbf") 将返回 "c:\testdata\files" 

注意所有从这些函数返回的值都是字符。 

"FORCE" 函数 
++++++++++++ 

有两个函数可以用来改变一个已存在的文件的扩展名或者路径。 

FORCEEXT()函数用来改变一个文件的扩展名。它接收两个参数。第一个参数是将获得新的扩展名的文件的名字。它是一个字符串并且能够包含或者不包含路径和/或扩展名信息。 

第二个参数是新的扩展名。它是一个字符串。 

这些参数被一个逗号分隔开。 

这个函数返回带着新的扩展名的文件名。例如,让我们假设你有一个文件 table1.dbf 你想要给它改名为 table1.txt 。这里有两种描述使用这个函数的途径。 

mold = "table1.dbf" 
mext = "txt" &&注意这里没有使用句号 
mynew = forceext(mold,mext) 
*|*mynew 的值现在是 "table1.txt" 

或者你也可以这么做: 

mynew = forceext("table1.dbf","txt") 

FORCEPATH() 函数用来改变一个文件的路径。它接收两个参数。 

第一个参数是将获得新的扩展名的文件的名字。它是一个字符串并且能够包含或者不包含路径和/或扩展名信息。 

(译者注:上面这段原文如此,看来是作者 CTRL+C/CTRL+V 后忘了改了。) 

第二个参数是新的路径。它是一个字符串。 

这些参数被一个逗号分隔开。 

这个函数返回带着新的路径的文件名。例如,让我们假设在你的 c:\temp 目录下有一个 tabl1.dbf 文件而你想要把它的路径改变为 c:\temp\data: 

mold = "c:\temp\table1.dbf" 
mpath = "c:\temp\data" 
mynew = forcepath(mold,mpath) 

mynew 的值会是 "c:\temp\data\table1.dbf:" 

以上是这节课的内容。下个月我们将讨论更多可以帮助你处理文件的函数。在那以前,请确定把这些函数投入使用,因为这是将它们加入你的知识库的最好方法。 


Tom Gahagan 
mailto:[email protected] 

[关闭][返回]