MATLAB GUI: I want to display an error message if user selects the wrong file type

MATLAB GUI HELP:
I have an option for users to open wav files (using uigetfile). However, this doesn't stop them opening all file types and when they do this it breaks my GUI.
How can I get an error message to occur when they don't open a wav file?
Many thanks. I really appreciate your help.
Best regards

 Accepted Answer

Try this fairly robust code:
numberOfTries = 0;
while numberOfTries < 20 % Failsafe
% Get the name of the file that the user wants to use.
startingFolder = pwd; % Whatever you want.
defaultFileName = fullfile(startingFolder, '*.*');
[baseFileName, folder] = uigetfile(defaultFileName, 'Select a file');
if baseFileName == 0
% User clicked the Cancel button.
break;
end
fullFileName = fullfile(folder, baseFileName)
[folder, baseFileName, extension] = fileparts(fullFileName)
if strcmpi(extension, '.wav')
break; % out of while loop
else
message = sprintf('Error: you must pick a wav file, not a "%s" file.', extension);
uiwait(warndlg(message));
end
end

2 Comments

You could also try to force them to pick a wave file by only showing them:
defaultFileName = fullfile(startingFolder, '*.wav');

Sign in to comment.

More Answers (0)

Asked:

on 23 Nov 2013

Commented:

on 24 Nov 2013

Community Treasure Hunt

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

Start Hunting!