加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

Matlab 文件打开与保存对话框

(2012-09-24 10:35:16)
标签:

matlab

打开

保存

对话框

分类: Matlab

文件名处理对话框包括打开和保存时所调用的对话框,其调用函数分别是 uigetfile 和 uiputfile。通过对话框获取用户的输入,并返回路径和文件名字符串,然后对获得的数据进一步处理,打开文件或者保存数据的哪个。下面分别介绍它们的使用方法。

1.函数 uigetfile

函数 uigetfile 创建文件名处理对话框,用来在打开情况下交互的获得文件名等信息。仅当文件存在时才成功返回。如果用户选择了一个并不存在的文件,就显示出错信息。控制框返回到对话框。用户可以输入另外一个文件名或者单击“Cancel”按钮

常用的调用格式是:

[FileName,PathName,FilterIndex] = uigetfile('FilterSpec','DialogTitle',...
    'DefaultName','Location',[x,y],'MultiSelect',selectmode);

参数说明:

输入变量:

FilterSpec 决定对话框中文件的初始显示。例如 '*.m’ 列出的所有M文件。

DialogTitle 是对话框标题字符串。

DefaultName 是默认的文件名。

Location 是以像素为单位的参数x,y定义对话框的初始位置。

MultiSelect 支持多选(on) 和单选(off 默认的)

输出变量:

FileName 对话框内所选文件的名称字符串。如果用户按了取消按钮或者有错误发生,那么FileName的值设置为0.

PathName 是对话框内所选文件的路径名字符串。如果用户按了取消按钮或有错误发生,那么Pathname的值设置为0.

FilterIndex 是对话框内过滤条件的序号,从1开始。

 

例1:创建打开文件对话框

%源代码

[FileName,PathName,FilterIndex] = uigetfile(...
    {'*.m','M-files(*.m)';...
    '*.fig','Figures(*.fig)';...
    '*.*','All Files(*.*)'},...
    'choose files')

运行时产生对话框:

http://s16/middle/84024a4a4ca69707ced8f&690

运行结果:

FileName =

ex0812_02.m

PathName =

E:\MyMatlab\

FilterIndex =

     1

 

 

2.函数 uiputfile

函数 uiputfile 与函数 uigetfile 十分相似,而且也是返回文件的路径字符串。

调用格式:

[FileName,PathName,FilterIndex] = uiputfile('FilterSpec','DialogTitle',...
    'DefaultNmae','Location',[x,y]);

参数意义可以参考文件打开对话框

例2:创建一个文件保存对话框

源代码:

[filename,pathname,filterindex] = uiputfile(...
    {'*.m','M-files(*.m)';...
    '*.fig','Figures(*.fig)';...
    '*.*','All Files(*.*)'},...
    'Save','matlab1')

运行时产生的对话框:

http://s5/middle/84024a4a4ca69708de444&690

运行结果:

filename =

matlab1.m

pathname =

E:\MyMatlab\

filterindex =

     1

 

3.注意事项

(1)两种对话框创建时的输入参数是可以选择的,但是必需按照顺序,即使用其中之一,也必须使用所有先前的参数。

(2)文件保存时,若选择过滤器,那么后缀名输入与否都没有关系。例如,选择(*.m)输入matlab1.m与matlab1效果是一样的,文件名都是matlab1.m,这一点与MFC是相同的。

(3)这些函数中不论哪一个都未真正的读写任何文件,仅仅是将文件名和路径返回给调用函数。若要执行读或者写工作,还需进一步添加代码。

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有