How to cancel the save program?

Hye guyz. I need some help here. I have this coding:
fileName = inputdlg('Please enter the name for your figures');
directoryName = uigetdir('','Please select a folder to save to');
if directoryName == 0 %# User pressed the "Cancel" button...
directoryName = ''; %# ...so choose the empty string for the folder
end
filePath = fullfile(directoryName,fileName{1}); %# Create the file path
extensions = {'fig','bmp'};
for k = 1:length(extensions)
saveas(gcf,filePath,extensions{k}); %# Save the file
set(gcf,'PaperPositionMode','auto');
end
This coding have some problem. When i run this coding, it occurs this error:
??? Index exceeds matrix dimensions.
Error in ==> fyp_editor>uipushtool9_ClickedCallback at 1607 filePath = fullfile(directoryName,fileName{1}); %# Create the file path.
And another thing is when i pressed the cancel button, it kkeep going to filepath. How i want to do something like; when i push the cancel, then it will cancel the save program.

 采纳的回答

Another way, might be better because the return function can have undesirable consequences.
fileName = inputdlg('Please enter the name for your figures');
directoryName = uigetdir('','Please select a folder to save to');
if directoryName == 0 %# User pressed the "Cancel" button...
directoryName = ''; %# ...so choose the empty string for the folder
else
filePath = fullfile(directoryName,fileName{1}); %# Create the file path
extensions = {'fig','bmp'};
for k = 1:length(extensions)
saveas(gcf,filePath,extensions{k}); %# Save the file
set(gcf,'PaperPositionMode','auto');
end
end

2 个评论

how about if i want to cancel the inputdlg then it will do nothing and end the save program.
i think i already solve it by writing this code:
if isempty(fileName)
return
end
Thanks in advance

请先登录,再进行评论。

更多回答(2 个)

if directoryName == 0 %# User pressed the "Cancel" button...
directoryName = ''; %# ...so choose the empty string for the folder
return
end
Walter Roberson
Walter Roberson 2011-3-5

0 个投票

You should be checking that fileName is not empty, which would happen if the user does not enter anything in response to the inputdlg or cancels it.

类别

在 帮助中心 和 File Exchange 中查找有关 Language Support 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by