发信人: 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]
|
|