How to set out put files to save at user selected path?

4 visualizzazioni (ultimi 30 giorni)
Hello All, This question is in continuation with following question: http://in.mathworks.com/matlabcentral/answers/287928-select-a-folder-to-save-output-files
Now from above answer I was able to set and select the output folder but I am not able to save the files in there.
Here is what I tried. The following code is below the push button:
input = get(hObject,'String');
%checks to see if input is empty.
if(isempty(input))
h=msgbox('Please select the output folder');
end
guidata(hObject, handles);
selected_dir = uigetdir();
set(handles.edit27, 'String', selected_dir)
Now in my another push button where the calculations happen, I want to save the output images in above selected path. So this is what I have done. The following is the code which I am having the calculation push button callback:
saveas(gcf,fullfile(selected_dir,1),'jpg');
close(gcf);
I am getting following error.
Undefined function or variable 'selected_dir'.
What I want is to save 1.jpg as output file in user selected folder. Also I want to display "Please select out put folder" message if user forgets to select it.

Risposta accettata

Weird Rando
Weird Rando il 6 Giu 2016
Modificato: Weird Rando il 6 Giu 2016
You have to set selected_dir as a global variable so that other section of the gui can access it.
  5 Commenti
Stephen23
Stephen23 il 7 Giu 2016
Modificato: Stephen23 il 7 Giu 2016
@Weird Rando: and I'm just pointing out why using globals is universally considered a bad way to write code. I didn't invent this idea: even the official MATLAB blogs give the advice to avoid using globals!
If you ask for advice from someone, which information would you prefer to be given:
  1. a reliable and robust solution, or
  2. a solution that is avoided by all experts ?
I know which one I would want to learn.
In any case my comment written not just for you, but also for anyone who reads this page and who should be informed that globals are a buggy and slow solution. They deserve to know this: would you expect to find good advice on MATLAB Answers, or buggy advice? Which would you want to use?

Accedi per commentare.

Più risposte (1)

Stephen23
Stephen23 il 7 Giu 2016
Here is the MATLAB documentation page which explains all of the recommended ways to pass data between callbacks, including lots of working examples:
Note that globals are not listed.

Categorie

Scopri di più su App Building in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by