MATLAB GUI:如果用户选择了错误的文件类型,我想显示错误消息

时间:2013-11-23 17:53:18

标签: matlab user-interface

我可以选择让用户打开wav文件(使用uigetfile)。但是,这并不能阻止它们打开所有文件类型,当它们执行此操作时会破坏我的GUI。

如何在未打开wav文件时收到错误消息?

1 个答案:

答案 0 :(得分:2)

使用uigetfile获取文件名后,检查其后四个字符是否为“.wav”。可以使用strncmp进行比较。 (请注意,文件名可能少于四个字符,因此您无法执行all(filename(end-3:end)=='.wav'))之类的操作。

[filename, pathname, filterindex] = uigetfile('*.wav',' Select file');
if ~strncmp(fliplr(filename),'vaw.',4)
    error('Invalid file type')
end

如果文件类型不正确,您希望文件对话框重新出现,而不是抛出错误:

done = 0;
while ~done
    [filename, pathname, filterindex] = uigetfile('*.wav',' Select file');
    done = filterindex==0 || strncmp(fliplr(filename),'vaw.',4);
end

当用户按下“取消”时,需要filterindex==0检查以避免无限循环。根据{{​​3}},在这种情况下,输出参数为零。