running the user selected .m file in the pushbutton callback

2 次查看(过去 30 天)
on push button number 1 i wrote the code to browse the . m file like this:
handles.output = hObject;
[fn pn] = uigetfile('*.m','select your file');
complete=[pn fn];
set(handles.edit11,'string',complete);
handles.fn=fn;
set(handles.edit12,'string',fn);
guidata(hObject,handles);
on push button 2 i.e running the selected file i wrote the code like this:
handles.output = hObject;
fn=handles.fn;
fn;
guidata(hObject,handles);
it does not produces any output...
if the select the file named count.m and in pushbutton 2 i simply wrtite count
then it'll execute and give me the results but when i want to generalize it like i said above, the output is not shown.. can u tell me whats is the problem in it....

采纳的回答

Guru
Guru 2013-7-3
编辑:Guru 2013-7-3
Umm, by what I am guessing you are trying to do in your push button 2 callback is that you want to run the file that was selected.
fn is a variable that contains a char array of the file name selected with the .m extension. Simply stating a variable in MATLAB would display this if you did not have the semicolon "fn;"
However to execute the file name in MATLAB you can use the "run" command
run(fn);
In short, the line of code that reads:
fn;
should be changed to:
run(fn);
HTH!
  3 个评论
pammy
pammy 2013-7-3
it works what i did is i simply changed the fn to pn that i provide the whole path to the file name then it works good....
thank u so much....
Guru
Guru 2013-7-3
Ahh yes. The solution I gave above assumes that the path location of the file is on the matlab path already. But yes, including the full path in your function call would run. You can also add the pn to the matlab path with
addpath(pn)
if that was intended.
Edit: changing original post to make use of the code markup text.

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Migrate GUIDE Apps 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by