首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

vfp多选文件函数,收藏有用

狐友群里面刚好在聊这个问题。

梁林一【实易软件】:

vfp 的 getfile() 只能选择一个文件,不支持多选吗?

上传附件,想一次多选几个文件,调用哪个 win API?

vfp 项目管理器里,添加文件,就可以多选,与getfile()表面上一样一样的,应该是调用的同一个 win API,但做了不同的封装。

猫猫以前收藏的函数,派上用场了,就发到了群里面。

然后,梁总贴心的总结了一下:

用 _GetOpenFileNames(szInitDir, szFileName, szFilter) 一次选择多个附件,

返回值看上去是以一个空格分隔,其实是以 chr(0) 分隔,第一个值是路径,其他的值是选择的多个文件名

getwordnum() 的第三个参数即分隔符 chr(0) 无效,所以 getwordnum() 分不开返回值

可以用 aLine() 以 cha(0) 分隔将返回值赋予数组

或者用 strtran() 将 chr(0) 替换为|,然后再用 getwordnum() 分解返回值

copy、wait window 等,遇到 chr(0) 则至此截断,后面的部分被忽略

为什么用chr(0) 来分隔文个名呢?

文件或路径带空格,用括号括起来,或用引号引起来。正是因为文件名或路径允许有空格,返回值才不能以空格分隔,而用了chr(0) 来分隔多个文件名。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20210204A01GOA00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券