关于获取表单所在文件夹

liups 2010-05-18 09:54:05
我一般写点小程序,也就只有一个表单,并不生成EXE什么的,希望表单名称可变且表单所在文件的名称也可变,有时需要操作表单所在文件夹下的某子文件夹中的某些图片等文件,这样就需要表单所在文件夹再进行组合。

查了很多资料,似乎只有一个办法:调用SYS(16)
这样得到的如下这种形式:
“PROCEDURE FORM1.LOAD C:\MYDIR\表单1.SCT”
又查资料,使用PROGRAM()可以FORM1.LOAD
然后PROCEDURE和表单1.SCT等东东去除很麻烦,代码很繁琐,大家给支个招或者给个函数吧
...全文
59 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
ren1015 2011-06-25
  • 打赏
  • 举报
回复
学习了
都市夜猫 2010-05-18
  • 打赏
  • 举报
回复
JustPath(SubStr(sys(16,0), at(' ', sys(16,0),2)+1))

这个算不算复杂?
liups 2010-05-18
  • 打赏
  • 举报
回复
找到一个简单点的了:
ADDBS(JUSTPATH(SYS(1271, THISFORM)))
参见张洪举的书
http://book.csdn.net/bookfiles/57/100571645.shtml
liups 2010-05-18
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 dkfdtf 的回复:]
lcMainPath = JustPath(StrTran(StrTran(SYS(16,0), 'PROCEDURE ', ''), PROGRAM()+' ', ''))
一行代码不算繁琐吧?

为防止文件夹名称中出现 'PROCEDURE' 和 PROGRAM() 相同的内容时出错,改进一下:
lcMainPath = JustPath(StrTran(StrTran(SYS(16,……
[/Quote]
你这个还不复杂?!
都市夜猫 2010-05-18
  • 打赏
  • 举报
回复
lcMainPath = JustPath(StrTran(StrTran(SYS(16,0), 'PROCEDURE ', ''), PROGRAM()+' ', ''))
一行代码不算繁琐吧?

为防止文件夹名称中出现 'PROCEDURE' 和 PROGRAM() 相同的内容时出错,改进一下:
lcMainPath = JustPath(StrTran(StrTran(SYS(16,0), 'PROCEDURE ', '', 1, 1), PROGRAM()+' ', '', 1, 1))

2,722

社区成员

发帖
与我相关
我的任务
社区描述
VFP,是Microsoft公司推出的数据库开发软件,用它来开发数据库,既简单又方便。
社区管理员
  • VFP社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧