注册 登录
编程论坛 VFP论坛

求教,将图片另存到桌面遇到的问题

丁春秋yxp 发布于 2023-02-10 22:28, 2065 次点击
感谢吹版,用他的代码表单区域截图成功,但在过程中将图片另存到桌面时遇到一个问题,半天无法解决,特向高人求教。

弹出另存为对话框后:
一、直接点击确定,则图片在默认文件夹下保存成功,没有任何问题。
二、选择桌面,修改文件名,点击确定,图片保存在桌面上,也没有任何问题。
三、选择桌面,不修改文件名,点击确定,图片不能正常保存。
四、先修改文件名,再选择桌面,点击确定,图片也不能正常保存。

请教如何解决问题三、四,或者换成另外的什么办法,目的就是把图片保存到桌面上。

只有本站会员才能查看附件,请 登录


[此贴子已经被作者于2023-2-10 22:32编辑过]

20 回复
#2
吹水佬2023-02-10 22:46
不用默认路径,用想要的路径。
#3
pvm20002023-02-11 00:55
将这许多图片保存到桌面,不是个好习惯
#4
丁春秋yxp2023-02-11 06:47
以下是引用吹水佬在2023-2-10 22:46:58的发言:

不用默认路径,用想要的路径。

想要的路径就是桌面啊。
#5
丁春秋yxp2023-02-11 06:52
以下是引用pvm2000在2023-2-11 00:55:01的发言:

将这许多图片保存到桌面,不是个好习惯

这是对的。我只是一两张图片临时存一下,拉到微信发出后就删除。事实上,我的桌面很少有超过10个图标的时候。
#6
nbwww2023-02-11 08:02
那又何必纠结于此  不如直接唤出微信  查找接收人 发送文件了事    谨慎一点  最后一个回车手动来按
#7
丁春秋yxp2023-02-11 09:09
以下是引用nbwww在2023-2-11 08:02:45的发言:

那又何必纠结于此  不如直接唤出微信  查找接收人 发送文件了事    谨慎一点  最后一个回车手动来按

这个也行,但还是想先解决这问题。
#8
laowan0012023-02-11 11:07
VFP使用中间带空格的路径名时会出现问题,桌面的路径名就是这样
#9
丁春秋yxp2023-02-11 16:22
以下是引用laowan001在2023-2-11 11:07:52的发言:

VFP使用中间带空格的路径名时会出现问题,桌面的路径名就是这样

请问有没有办法解决
#10
sam_jiang2023-02-11 16:45
回复 楼主 丁春秋yxp
你这情况应该是权限的问题吧?
#11
igaoyuan2023-02-11 16:47
回复 9楼 丁春秋yxp
我在win10x64下运行附件里的表单,操作三和四都可以正常保存,没有问题
只有本站会员才能查看附件,请 登录
#12
丁春秋yxp2023-02-11 22:20
以下是引用igaoyuan在2023-2-11 16:47:33的发言:

我在win10x64下运行附件里的表单,操作三和四都可以正常保存,没有问题

谢谢测试。你的另存为对话框一打开,查找范围那里默认就是桌面,其实是操作一,这没问题的。
其实后来我还发现,出问题是在选择桌面时,按的是左边那排里的桌面,如果是在计算机里找到的桌面,则也不会出问题。

[此贴子已经被作者于2023-2-11 22:21编辑过]

#13
igaoyuan2023-02-11 22:33
以下是引用丁春秋yxp在2023-2-11 22:20:33的发言:


谢谢测试。你的另存为对话框一打开,查找范围那里默认就是桌面,其实是操作一,这没问题的。
其实后来我还发现,出问题是在选择桌面时,按的是左边那排里的桌面,如果是在计算机里找到的桌面,则也不会出问题。


默认是上一次退出时访问路径。
实际上是依赖getfile这个函数返回你的路径而已,可能是碰上路径字串里有空格、中文等等出现解析不完整,才会无法保存。

理论上按左边的桌面和计算机里的桌面路径,返回串值是一样的,你可以用这个 ? getfile('jpg','search my desktop') 命令测试一下
#14
丁春秋yxp2023-02-11 22:46
以下是引用igaoyuan在2023-2-11 22:33:35的发言:



默认是上一次退出时访问路径。
实际上是依赖getfile这个函数返回你的路径而已,可能是碰上路径字串里有空格、中文等等出现解析不完整,才会无法保存。

理论上按左边的桌面和计算机里的桌面路径,返回串值是一样的,你可以用这个 ? getfile('jpg','search my desktop') 命令测试一下

谢谢,试了半天,问题依旧,会不会是我的win11有问题(虽然我已将vfp改成兼容win7了),我再找台win7的试试。
使用 ?getfile('jpg','search my desktop')来查看,运行结果与提出的问题一样,仿照操作三、四来做,也出了同样的问题。
#15
sam_jiang2023-02-12 18:57
我在我的电脑上运行了这个程序,发现没有楼主所说的问题。

另外,getfile函数不能填写默认文件名,你可以试试putfile函数!

usage:
PUTFILE([cCustomText] [, cFileName] [, cFileExtensions])
#16
igaoyuan2023-02-12 20:06
回复 14楼 丁春秋yxp
试过在win11下保存没有问题,估计是用户权限设置问题,当前用户可能没有桌面文件夹写的权限,可以尝试以管理员身份运行vfp的快捷方式
#17
igaoyuan2023-02-12 20:07
以下是引用sam_jiang在2023-2-12 18:57:14的发言:

我在我的电脑上运行了这个程序,发现没有楼主所说的问题。

另外,getfile函数不能填写默认文件名,你可以试试putfile函数!

usage:
PUTFILE([cCustomText] [, cFileName] [, cFileExtensions])

好办法!
#18
zhken2023-02-12 20:56
可以试试 改变路径,这样子
wsh = Createobject("WSCRIPT.SHELL")
ML_=wsh.SpecialFolders("desktop")
ML_1=sys(5)+sys(2003)+'\'
cd '&ML_'
file_temp=getfile('txt')
cd &ML_1 &&返回当前目录
#19
laowan0012023-02-12 21:50
以下是引用丁春秋yxp在2023-2-11 16:22:46的发言:


请问有没有办法解决

我的办法是躲着走
#20
丁春秋yxp2023-02-13 11:09
以下是引用sam_jiang在2023-2-12 18:57:14的发言:

我在我的电脑上运行了这个程序,发现没有楼主所说的问题。

另外,getfile函数不能填写默认文件名,你可以试试putfile函数!

usage:
PUTFILE([cCustomText] [, cFileName] [, cFileExtensions])


换成putfile后所有问题迎刃而解。非常非常感谢指导。
#21
丁春秋yxp2023-02-13 11:11
以下是引用zhken在2023-2-12 20:56:11的发言:

可以试试 改变路径,这样子
wsh = Createobject("WSCRIPT.SHELL")
ML_=wsh.SpecialFolders("desktop")
ML_1=sys(5)+sys(2003)+'\'
cd '&ML_'
file_temp=getfile('txt')
cd &ML_1 &&返回当前目录


得到本站人员帮助,getfile()改成putfile()后问题解决了,谢谢。

[此贴子已经被作者于2023-2-13 11:14编辑过]

1