VFP 的文件处理函数
译者 李光远 前言 掌握语言是编程的开端。对于 VFP
程序员来讲,也是如此。事实上,即便是 VFP 高手,要 学会所有的命令、函数好像困难也很大。有没有好的办法呢? 一个对策就是把大量的、混合在一起的命令、函数分割成若干个部分,一点一点的
学习,就 如同“蚂蚁啃骨头”一般——今天了解一些、明天了解一些,不求速成,只为日积月累。按这 个思路,我们就把 VFP 中的函数分成若干个部分,逐步介绍。 这次的主题是“文件处理函数”,在 VFP 中这类函数总共有 28 个。当然我们不可能遍历所有 这些内容,我们会蜻蜓点水般讲解一些。 在开始前,先让我们了解一下“函数”的概念。 什么是函数? 在 VFP 中,函数被用来执行一些特殊的运算以便支持 VFP 的标准命令。VFP 内置了几百 个函数,并且允许用户定义函数,即 UDF(User Defined Functions)。 1. 每一个函数都包含一个名字 2. 接在名字后面的就是一对小括号(例如:BOF()) 3. 大 部分函数包括一个或一个以上的参数,参数被填列在小括号中,参数间用逗号分开,当然函 数可以不包括任何参数 4. 函数被执行后有返回值, 返回值表示函数是否执行成功或是有其 他意义。 事实上您可以把函数想象成为一部自动售货机, 自动售货机的机身就是函数的本体, 投币口 就是函数的一对小口号, 投入自动售货机的钱币就如同传递给函数的参数, 从自动售货机中 掉出的饮料就是函数的返回值。 文件处理函数 “JUST”类的文件处理函数 面对如下一串表示文件的全路径及名称字符串有如下要求: C:\program files\microsoft visual studio\vfp98\mydata.dbf 1. 文件后缀名 2. 文件根名 3. 文件名(文件名=文件更名+.+文件后缀名) 4. 驱动器名 5. 路径名 是不是要使用大量字符串处理函数?不,VFP 提供了更简单的办法。 JUSTEXT()函数-从完整路径中返回文件扩展名。值得注意的是,本函数不会去验证完整路 径是否合法,文件是否存在,也就是说 JUSTEXT()函数不会去实际操作目标文件或路径, 更像是一个特定功能的字符串操作函数——返回字符串中最后的一个“.”后面的内容。 1. 语法:JUSTEXT(cPath) 2. 返回值:字符型 例如: ?justext("C:\program files\microsoft visual studio\vfp98\mydata.dbf") *返回:dbf ?justext("C:\program files\microsoft visual studio\vfp98\mydata.db") *返回:db ?justext("111111111111111myda.ta.BOE 数据网络工作室") *返回:BOE 数据网络工作室 JUSTSTEM()函数-从完整路径中返回文件根名。 值得注意的是, 本函数不会去验证完整路径 是否合法,文件是否存在,也就是说 JUSTSTEM()函数不会去实际操作目标文件或路径,更
像是一个特
定功能的字符串操作函数——返回字符串中最后的一个“\”与最后一个“."所夹的 的内容。 1. 语法:JUSTSTEM(cPath) 2. 返回值:字符型 例如: ?juststem("C:\program files\microsoft visual studio\vfp98\mydata.dbf") *返回:mydata ?juststem("111111111111111myda\ta\BOE 数据网络工作室.wonderful.good") *返回:BOE 数据网络工作室.wonderful JUSTFNAME()函数-从完整路径中返回文件名。值得注意的是,本函数不会去验证完整路径 是否合法,文件是否存在,也就是说 JUSTFNAME()函数不会去实际操作目标文件或路径, 更像是一个特定功能的字符串操作函数——返回字符串中最后的一个“\”后面的内容。 1. 语法:JUSTFNAME(cPath) 2. 返回值:字符型 例如: ?justfname("C:\program files\microsoft visual studio\vfp98\mydata.dbf") *返回:mydata.dbf ?justfname("111111111111111myda\ta\BOE 数据网络工作室.wonderful.good") *返回:BOE 数据网络工作室.wonderful.good JUSTDRIVE()函数-从完整路径中返回驱动器的字母。值得