请教两个关于文件处理的问题,先谢谢大家!!

st_2000 2015-12-17 09:59:34
1,getfile('PDF')  命令,打开后,除默认的pdf外,还有个[全部文件*.*] 的选项,如何把这个【全部文件*.*】的选项也去掉?


2, On Selection Bar 1 Of   销售管理 Do sals1.App 这个菜单命令执行后,当我关闭sals1.app文件画面后,如何完全释放sals1.app这个文件? 因为显示它还被占用着而无法更新。 试过用clear 无效。

再次感谢!!
...全文
1124 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
st_2000 2016-07-16
  • 打赏
  • 举报
回复
感谢各位,问题1,业务场景已经处理完毕 问题2,clear events 无法解决我的问题, 不知道还有什么办法?
文修 2015-12-19
  • 打赏
  • 举报
回复
楼主你好, 二楼正解,建议楼主试一下
都市夜猫 2015-12-19
  • 打赏
  • 举报
回复
用公用对话框函数吧,下面的函数你自己再酌情修改,例如加些错误处理,或者改成与 vfp 的 getfile 函数参数兼容,等等
? API_GetFile('pdf')

Function API_GetFile(tcExt)
Local cFlt, nOfs, pBuf, cOFN, cFile

Declare Long GetOpenFileName in comdlg32 String
Declare Long CommDlgExtendedError in comdlg32
Declare Long GlobalAlloc in win32api Long, Long
Declare Long GlobalFree in win32api Long

cFlt = tcExt + ' 文件' + Chr(0) + '*.' + tcExt
nOfs = Len(cFlt) + 2
pBuf = GlobalAlloc(0x40, nOfs + 256)
cOFN = Replicate(Chr(0), 8) + BinToC(pBuf, 'rs') + Replicate(Chr(0), 8) ;
+ BinToC(1, 'rs') + BinToC(pBuf + nOfs, 'rs') + BinToC(256, 'rs') ;
+ Replicate(Chr(0), 16) + BinToC(0x181008, 'rs') ;
+ Replicate(Chr(0), 20)
cOFN = BinToC(4+Len(cOFN), 'rs') + cOFN
Sys(2600, pBuf, Len(cFlt), cFlt)
If GetOpenFileName(cOFN) > 0
cFile = Sys(2600, pBuf + nOfs, 256)
cFile = Left(cFile, At(Chr(0), cFile) - 1)
Else
MessageBox('错误码: ' + Transform(CommDlgExtendedError()), 16, '')
cFile = ''
EndIf
GlobalFree(pBuf)
Return cFile
EndFunc
oldbbb 2015-12-18
  • 打赏
  • 举报
回复
VFP的 GETFILE() 可以随便编辑文件名,输入“*prg”就列出PRG文件。 VFP的LIstBox可以模拟获取文件名,如当 RowSourceType = 7、RowSource = "*.dbf*"
都市夜猫 2015-12-18
  • 打赏
  • 举报
回复
1. vfp 的 getfile 好像无法隐藏所有文件选项,用公用对话框控件(CommonDialog)或 ShellAPI 替代吧 2. 做个的项目中没用过 app 形式,不知你直接运行 app 是否会完整退出,通常应该与 clear events 命令有关吧

2,727

社区成员

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

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