找回密码
 注册
Simdroid-非首页
查看: 98|回复: 6

uiputfile存在的问题

[复制链接]
发表于 2009-12-3 12:09:17 | 显示全部楼层 |阅读模式 来自 山东烟台

  1. [filename,pathname]=uiputfile('.xls','保存数据文件');
  2.    filepath=strcat(pathname,filename);
  3.    if ~isempty(filepath)&&~strcmp(filename,'.xls')
  4.          xlswrite(filepath,data,'Sheet1','A1');
  5.     end
复制代码


如果不填写文件名,直接点保存不会出现提示,而我想要的效果是提示文件为空,并且不关闭保存文件这个对话框

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
 楼主| 发表于 2009-12-3 12:29:35 | 显示全部楼层 来自 山东烟台
Simdroid开发平台
不好意思弄错了,应该是*.xls
回复 不支持

使用道具 举报

发表于 2009-12-3 12:32:00 | 显示全部楼层 来自 重庆
本帖最后由 风天小畜 于 2009-12-3 12:36 编辑

很简单啊,看返回值啊。如果文件名为空,返回值
filename 就是=.xls
做个判断就行了。
while strcmp('.xls',filename)
%弹出对话框,提示文件名不能为空。
[filename,pathname]=uiputfile('.xls','保存数据文件');
end

评分

1

查看全部评分

回复 不支持

使用道具 举报

 楼主| 发表于 2009-12-3 12:37:35 | 显示全部楼层 来自 山东烟台
是我自己弄错了
[filename,pathname]=uiputfile('.xls','保存数据文件'); 是不对的

应该是[filename,pathname]=uiputfile('*.xls','保存数据文件');

*.xls
否则的话就会出现我说的那种情况,文件名为空也可以保存

评分

1

查看全部评分

回复 不支持

使用道具 举报

 楼主| 发表于 2009-12-3 12:48:14 | 显示全部楼层 来自 山东烟台
本帖最后由 zccbest 于 2009-12-3 12:53 编辑

不过又有另一个问题,就是文件名不能有"点"
比如13.2  这样保存的文件没有后缀名
回复 不支持

使用道具 举报

发表于 2009-12-3 13:01:41 | 显示全部楼层 来自 重庆
不过又有另一个问题,就是文件名不能有"点"
比如13.2  这样保存的文件没有后缀名
zccbest 发表于 2009-12-3 12:48


不能有点,那就根据 返回的 filename,进行判断啊。
判断有没有点,用正则表达式即可!regexp
或者不会正则表达式,也可以用字符串的 strfind

评分

1

查看全部评分

回复 不支持

使用道具 举报

 楼主| 发表于 2009-12-3 13:14:48 | 显示全部楼层 来自 山东烟台
搜了一下,可以用[pathstr, name, ext, versn] = fileparts(filepath)来解决
ext为扩展名
但这种方法对于只有一种扩展名的文件才有效,如果扩展名有种选项,比如保存图片时有jpeg、png等就无效了

评分

1

查看全部评分

回复 不支持

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Simapps系列直播

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-10-7 05:25 , Processed in 0.045678 second(s), 21 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表