hur.cn - 华软网

 热门搜索

求助:当前路径的问题

  作者:未知    来源:网络    更新时间:2018/11/9
我在程序中需要调用一些批措置惩罚资料,其中有set path=...
问题就来了,追随后面的fileopen()函数总是失利,无论写资料全路径照旧写资料名
以前在PB7下面开发时,我用listbox对当前目录下执行dirlist()函数能够解决这个问题
但现在PB9下,却不论用了
也试着在run一个批措置惩罚资料,在里面set path=当前路径
照旧不行

HELP~

------华软网友回答------
这么妖的,试试看吧,不一定有用
在执行批措置惩罚前用GetCurrentDirectory ( )获得当前路径并保存到变量中,
执行完批措置惩罚后,在调用fileopen前,
调用ChangeDirectory ( directoryname )
恢复当前路径.
------华软网友回复------
下面是按钮的详细代码
其中用来恢复的批措置惩罚资料setcurrent.bat和要打开的资料rq.log都在统一目录下,就是当前程序目录下,奇怪的是,run可用,但fileopen就失利
如果将前面执行的另外设置路径的步骤注释掉,下面所有代码都是可用的

run("setcurrent.bat")
this.text='消灭中。。。'
integer li_fileno
li_fileno = FileOpen("rq.log",LineMode!, Write!,lockwrite!, Replace!)
messagebox('',string(li_fileno))
 if li_fileno>0 then
filewrite(li_fileno,"restart ")
fileclose(li_fileno)

this.text='消灭日志'
end if



※※※※※※※※
这些是前面用到的批措置惩罚资料的内容
set CATALINA_HOME=D:\Tomcat4.1
set path=D:\Tomcat4.1\bin
startup

其实就是调用TOMCAT的启用服务
------华软网友回复------
to  daixf_csdn(圣殿骑士)  
照旧不能用
:(
------华软网友回复------
晕,run()函数没有期待的呀,你调用run之后,
再执行sleep(10),期待10s钟,在执行下面的代码.
试试看.
------华软网友回复------
运用GetCurrentDirectory函数能够猎取当前目录

利用API函数GetModuleFileNameA可获得应用程序所在目录,
PB开发环境中前往PB可执路程序所在的目录,
在编译后前往应用程序所在目录

------华软网友回复------
FileOpen(‘资料所在资料夹’+"rq.log",。。。
------华软网友回复------
晕,每次打开一个不在运行目录资料夹的资料,
前后都必需先猎取运行目录,措置惩罚完后再恢复运行目录,如:
//猎取运行目录
ls_runpath = GetCurrentDirectory()

//措置惩罚资料
openfile.......

//恢复目录
SetCurrentDirectoryA(ls_runpath)      
华软声明:本内容来自网络,如有侵犯您版权请来信指出,本站立即删除。