make history

1 次查看(过去 30 天)
Rahma Yeni
Rahma Yeni 2012-3-9
Hello,
I have 2 popupmenu in my figure. one popupmenu have some strings. I want to make history when i chosen one of them. how i can do it..?? when i chose a string in popupmenu, the last history still there..
thanks.. :)
  2 个评论
Jan
Jan 2012-3-9
What is "make history"? What is the 2nd popup used for? Which last history is still where?
Rahma Yeni
Rahma Yeni 2012-3-10
I'm sorry, maybe my explanation convoluted.. :)
so, i illustrate my question in this picture..
http://www.flickr.com/photos/rye_ni/6822456324/in/photostream
I hope your answer Sir..
Thanks before... :)

请先登录,再进行评论。

采纳的回答

Chandra Kurniawan
Chandra Kurniawan 2012-3-10
Hi, Rahma
I have seen your picture.
I think I cannot do it with your way.
Imagine if we have A-m-5 in 1st component and we also have c in 2nd component.
The pushbutton cannot decide which one must be stored in history, right?
So, I think we need 2 pushbutton to perform this. One in 1st component and another one in 2nd component.
The figure is shown below :
And the code :
In openingfcn
function untitled_OpeningFcn(hObject, eventdata, handles, varargin)
handles.output = hObject;
handles.cnt = 0;
handles.history = {};
handles.p1str = {'Process1','A','B','C','D','E'};
handles.p2str = {'Process2','m','n'};
handles.p4str = {'Process4','a','b','c'};
set(handles.popupmenu1,'string',handles.p1str);
set(handles.popupmenu2,'string',handles.p2str);
set(handles.popupmenu3,'string',handles.p4str);
set(handles.slider1,'value',0,'sliderstep',[.05 .05]);
guidata(hObject, handles);
In slider1 callback
function slider1_Callback(hObject, eventdata, handles)
val = get(handles.slider1,'value');
val = round(val*20);
set(handles.text5,'string',num2str(val));
In pushbutton1 callback
function pushbutton1_Callback(hObject, eventdata, handles)
p1val = get(handles.popupmenu1,'value');
p2val = get(handles.popupmenu2,'value');
p3val = get(handles.slider1,'value');
p3val = round(20*p3val);
if (p1val > 1) & (p2val > 1)
handles.cnt = handles.cnt + 1;
histstr = horzcat(handles.p1str{p1val},', ',...
handles.p2str{p2val},', ',...
num2str(p3val));
handles.history{handles.cnt} = histstr;
set(handles.listbox1,'string',handles.history);
end
guidata(hObject,handles
In pushbutton2 callback
function pushbutton2_Callback(hObject, eventdata, handles)
p4val = get(handles.popupmenu3,'value');
if p4val > 1
handles.cnt = handles.cnt + 1;
histstr = handles.p4str{p4val};
handles.history{handles.cnt} = histstr;
set(handles.listbox1,'string',handles.history);
end
guidata(hObject,handles);
You can also download the file and do modification on it for your purpose.
I hope this works!
  6 个评论
Rahma Yeni
Rahma Yeni 2012-3-10
sorry... :)
yes,, in the first GUI i have a pushbutton to link the second GUI..
image in first GUI move to second GUI..
but, when i do 'make history', the choices are not appear in history list ..
it is the message:
??? Reference to non-existent field 'cnt'.
But, when i minimize the figure, then i run it again, the choices appear to history list..
Rahma Yeni
Rahma Yeni 2012-3-10
like make history before, but i have the other example..
http://www.flickr.com/photos/rye_ni/6969686871/
where, string of 'b' and 'c' take the value from their text field. how i can make history like before..?? cause, one of the process have different text field..
thanks before Mr. Chandra.. :)
nice for your answer..

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Interactive Control and Callbacks 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by