How to use the same directory for all functions in app designer?
    5 views (last 30 days)
  
       Show older comments
    
I have created a GUI, in that when I add the  data from a folder it will load .csv and text files. Now I wanted to add images(.png) lauanch with image viewer from the same directory in app designer.
(Here I have enclosed the example file. i.e It will ask for the  select file from the directory after that it launches windows media player with the file.)
But for GUI, without using the 'baseFileName = uigetfile('*.png')' , Is it possible to select from the directory? by using 'uigetfile' it is again asking to select the folder.
for example : it should be like this  baseFileName = '*.png' 
1 Comment
  Jan
      
      
 on 24 Jun 2022
				I do not understand, what you are asking for. Do you want to process all PNGs fils inside a specific folder?
Folder   = 'D:\Yor\Folder';
FileList = dir(fullfile(Folder, '*.png'));
for k = 1:numel(FileList)
    aFile = fullfile(FileList(k).folder, FileList(k).name);
    % Now do what you need with this file
end
Accepted Answer
  Image Analyst
      
      
 on 24 Jun 2022
        This works on my computer:
Folder   = 'E:\Movies';
% FileList = dir(fullfile(Folder, '*.mkv'));
FileList = dir(fullfile(Folder, '*.wmv'))
% Not sure WMP plays .mkv files????  Does it?
if isempty(FileList)
    errorMessage = sprintf('Error: no video files found in\n%s.', Folder);
    fprintf('%s\n', errorMessage)
    uiwait(warndlg(errorMessage));
    return;
else
    fprintf('Found %d videos in "%s".\n', length(FileList), Folder);
end
% Play all videos one after the other.
for k = 1:numel(FileList)
    fullFileName = fullfile(FileList(k).folder, FileList(k).name);
    % First construct the command line for the system() function.
    % Enclose all filenames in double quotes because we may have spaces in the filenames.
    arguments = sprintf('"%s"', fullFileName);
    commandLine = sprintf('"%s" %s', editorFullFileName, arguments);
    fprintf('%s', commandLine);
    system(commandLine);
    promptMessage = sprintf('Do you want to play the next video,\nor Quit processing?');
    titleBarCaption = 'Continue?';
    buttonText = questdlg(promptMessage, titleBarCaption, 'Continue', 'Quit', 'Continue');
    if contains(buttonText, 'Quit', 'IgnoreCase', true)
        return; % or break or continue.
    end
end
10 Comments
More Answers (2)
  Image Analyst
      
      
 on 24 Jun 2022
        Try this:
folder = pwd; % wherever you want
% Get a list of all .txt, .png, and .csv files:
fileList = [...
    dir(fullfile(folder, '*.txt'));...
    dir(fullfile(folder, '*.png'));...
    dir(fullfile(folder, '*.csv'))]
% If you want all the names put one cell array:
allFileNames = fullfile({fileList.folder}, {fileList.name})'
% Now files are listed in the order you called dir().
% If you want the list sorted alphabetically:
allFileNames = sort(allFileNames)
0 Comments
  Kevin Holly
    
 on 24 Jun 2022
        You could have the app load the directory files into a dropdown box after selecting a particular file as shown in the example attached.
2 Comments
See Also
Categories
				Find more on Startup and Shutdown in Help Center and File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!


