hur.cn - 华软网

 热门搜索

关于getfilesavename()函数中路径的设定

  作者:未知    来源:网络    更新时间:2018/3/3
在使用getfilesavename()及getfileopenname()函数时,系统默认的文件路径为上次使用此函数时的路径,请问,该路径保存在哪个文件的参数里,如何设置该路径?
说明:在参数里添加路径时必须将文件名写全,上面的问题的文件名是不确定的。

------华软网友回答------
设置当前路径就可以了 : 
ChangeDirectory ( directoryname )
------华软网友回复------
100分都给我把 给我我都生5个三角了  西西
------华软网友回复------
这是一个外部函数吧
------华软网友回复------
String fname,name,path,new_fname
Integer rtncode,li_FileNum
rtncode = GetFileSaveName("请选择文件",fname,name,"txt","数据文件 (*.txt), *.txt")
IF rtncode = 0 THEN
RETURN
END IF
//读出保存的数据库连接参数
li_filenum=FileOpen("LASTPORTTIME.TXT",LineMode!, Read!, LockRead!)
FileRead(li_filenum,path)
FileClose(li_FileNum)
path=right(path,len(path) -pos(path,"!")+1)
//重新保存默认值
new_fname=fname+path//添加路径
li_FileNum = FileOpen("LASTPORTTIME.TXT",LineMode!,Write!,LockWrite!,Replace!)
FileWrite(li_FileNum,new_fname)
FileClose(li_FileNum)
sle_1.text = fname

生成一个 lastportime.txt 的文件保存上次打开文件路径!!
------华软网友回复------
这样也是一种办法,但我要的是在输入文件名时操作员能看到这个路径
------华软网友回复------
ChangeDirectory ( directoryname )不是外部函数  


getfilesavename()及getfileopenname()函数  下次打开时会自动打开上开上次的目录的 (就是系统关闭后也会自动记录的)不用自己写代码  (至少PB9是这样哈)
------华软网友回复------
你理解错了,我要的是能打开程序指定的目录,另外我用的是6.5
------华软网友回复------
我详细说名一下你问的其中一个函数。
GetFileSaveName()
功能:显示保存文件对话框让用户选择要保存到的文件。
语法:GetFileSaveName(title,pathname,filename{,extension{,filter}})
参数:title string 类型指定对话框的标题。
pathname string 类型变量用于保存该对话框返回的文件路径及文件名。
filename string 类型变量用于保存该对话框返回的文件名。
extension string 类型可选项使用1 到3 个字符指定默认的扩展文件名。
filter string 类型可选项其值为文件名掩码指定显示在该对话框的列表框。
中供用户选择的文件名满足的条件比如*.* *.TXT *.EXE 等。
返回值:Integer 函数执行成功时返回1 当用户单击了对话框上的Cancel 按钮时
函数返回0 发生错误时返回-1 如果任何参数的值为NULL 那么GetFileSaveName()函数返回NULL
用法:filter 参数的格式为
description,*. ext
默认值为
"All Files (*.*),*.*"
其中description 说明扩展名的意义比如所有文件文本文件等你可以
根据需要指定在打开文件对话框中显示的文件名类型当需要指定多种文件类型时各类
型之间使用逗号分隔例如
"PIF 文件, *.PIF, 批处理文件, *.BAT"
需要注意的是该函数只是得到一个文件名而并没有打开文件需要打开文件时
依然需要使用FileOpen()函数
示例下面的代码显示保存文件对话框之后进行其他处理对话框中显示TXT 和
DOC 类型的文件
string docname, named
integer value
value = GetFileSaveName("保存文件", &
docname, named, "DOC", &
"文本文件(*.TXT),*.TXT," + &
" Doc 文件(*.DOC), *.DOC")
IF value = 1 THEN ...

------华软网友回复------
GetCurrentDirectory()
得到应用程序的当前目录。
------华软网友回复------
6.5中找不到
------华软网友回复------
帮顶
------华软网友回复------
调用外部函数
BOOL GetOpenFileName( LPOPENFILENAME lpofn);
BOOL GetSaveFileName( LPOPENFILENAME lpofn);
typedef struct tagOFN { // ofn 
    DWORD         lStructSize; 
    HWND          hwndOwner; 
    HINSTANCE     hInstance; 
    LPCTSTR       lpstrFilter; 
    LPTSTR        lpstrCustomFilter; 
    DWORD         nMaxCustFilter; 
    DWORD         nFilterIndex; 
    LPTSTR        lpstrFile; 
    DWORD         nMaxFile; 
    LPTSTR        lpstrFileTitle; 
    DWORD         nMaxFileTitle; 
    LPCTSTR       lpstrInitialDir; 
    LPCTSTR       lpstrTitle; 
    DWORD         Flags; 
    WORD          nFileOffset; 
    WORD          nFileExtension; 
    LPCTSTR       lpstrDefExt; 
    DWORD         lCustData; 
    LPOFNHOOKPROC lpfnHook; 
    LPCTSTR       lpTemplateName; 
} OPENFILENAME; 

你想怎么实现都可以。破PB里别指望很好的实现。      
华软声明:本内容来自网络,如有侵犯您版权请来信指出,本站立即删除。