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

1 visualización (últimos 30 días)
adi kul
adi kul el 6 de Jun. de 2016
Respondida: Stephen23 el 7 de Jun. de 2016
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.

Respuesta aceptada

Weird Rando
Weird Rando el 6 de Jun. de 2016
Editada: Weird Rando el 6 de Jun. de 2016
You have to set selected_dir as a global variable so that other section of the gui can access it.
  5 comentarios
Stephen23
Stephen23 el 7 de Jun. de 2016
Editada: Stephen23 el 7 de Jun. de 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?
Muhammad Usman Saleem
Muhammad Usman Saleem el 7 de Jun. de 2016
you are awesome @Stephon

Iniciar sesión para comentar.

Más respuestas (1)

Stephen23
Stephen23 el 7 de Jun. de 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.

Categorías

Más información sobre Environment and Settings en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by