MATLAB-GUI常用功能【打开文件后,文件另存为..】

上节讲到可以通过按钮打开指定路径下的TXT文件(其他格式的可以更改代码实现)
用GUI实现点击按钮打开文件
假如我们现在对打开的文本进行了数据处理,最后需要保存处理好的数据怎么实现呢?我们接着上节的界面进行设计

1.

再添加一个可编辑文本框和一个按钮,分别修改属性…
在这里插入图片描述

2.

再添加一个开始按钮,用来通知MATLAB开始数据处理
在这里插入图片描述

3.

界面效果图(最后再做美化)MATLAB-GUI常用功能【打开文件后,文件另存为..】_第1张图片

4.

打开另存为的回调函数,添加代码(和上节一样,只需要更改相应的tag值即可)

global savefilename;
[Fnameh,Pnameh]=uigetfile('*.txt');%Fnameh显示的文件名称,Pnameh显示的文件路径
savefilename=[Pnameh,Fnameh];%存储文件的路径及名称
set(handles.saveFile,'String',savefilename);%将strh的值传递给静态文本

5.

注意,我们在开始按钮的回调函数中需要使用到打开的文件名以及另存为的文件名,所以需要将两个文件名定义为global型,我们在gui界面的开始函数(OpeningFcn)下定义需要用到的全局变量,多个变量之间加空格,最后一个写分号。如下所示:

global filename savefilename;

MATLAB规定,在使用全局变量的模块中,仍需再次定义,我们在打开和另存为中都再次进行了定义

6.

打开开始按钮的回调函数,添加数据处理程序,假设dataexport是一个数据处理的程序。

filename= fopen(filename,'w');%打开待处理的文件
savefilename=fopen(savefilename,'w');%打开另存为的文件
data=dataexport(filename);%得到一组数据
fprintf(savefilename,'%d',data);%保存数据到指定的文件
fclose(savefilename);%关闭文件
fclose(filename);

保存成功没有,可以直接打开文件看,但是如果有个处理结束弹窗提醒就好了,下节讲弹窗的实现方法。

你可能感兴趣的:(MATLAB,MATLAB,GUI,文件另存)