Hi, I'm looking to create a button counter such that each time this particular button is pressed, the counter increases by 1. However, it's not working. My code is below.
I realize that "handles.count==1;" is what's causing the code to keep referring to "if handles.count==1". However, if I remove "handles.count==1", the code does not work at all. Can anyone give me assistance to get the counter to work?
FYI: "fcn" is a function i already created.
function start_Callback(hObject, eventdata, handles)
% hObject handle to start (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
handles = guidata(gcbo);
handles.count = 1;
if handles.count == 1
handles.count= handles.count+1;
fcn(1)
handles.count = 2;
elseif handles.count == 2
handles.count= handles.count+1;
fcn(2)
elseif handles.count == 3
handles.count= handles.count+1;
fcn(3)
else
set(hObject, 'enable', 'off')
end

댓글 수: 2

hardik sanghvi
hardik sanghvi 2015년 11월 26일
This code is for infinite no to be count or limited count
hardik sanghvi
hardik sanghvi 2015년 11월 26일
For 100 count code will be ? Pls tell

댓글을 달려면 로그인하십시오.

답변 (2개)

Sean de Wolski
Sean de Wolski 2012년 5월 22일

0 개 추천

Something like this for all it (accept the enable off when it gets to 4).
val = str2double(get(handles.count,'string'));
fcn(val);
set(handles.count,'string',num2str(val+1));
More Since the button being pressed is the one to be augmented:
val = str2double(get(hObject,'string'));
fcn(val);
set(hObject,'string',num2str(val+1));
No Name
No Name 2012년 5월 22일

0 개 추천

If I place that snippet of code in my code (above my if-else statements), I get these errors:
??? Error using ==> get
Invalid handle object.
Error in ==> GUI>start_Callback at 134
val = str2double(get(handles.count,'string'));
Error in ==> gui_mainfcn at 96
feval(varargin{:});
Error in ==> GUI at 42
gui_mainfcn(gui_State, varargin{:});
Error in ==> @(hObject,eventdata)GUI('start_Callback',hObject,eventdata,guidata(hObject))
??? Error while evaluating uicontrol Callback

댓글 수: 1

Sean de Wolski
Sean de Wolski 2012년 5월 22일
Well do you have a button named count? Apparently not. It looks like you named the button 'start'. If you put a break point on the line val =... and push the button:
What are the fields of handles.
Actually you could skip the call to handles altogether if the button being pressed is the one running the callback and just use hObject. See addendum

댓글을 달려면 로그인하십시오.

카테고리

도움말 센터File Exchange에서 Startup and Shutdown에 대해 자세히 알아보기

질문:

2012년 5월 22일

댓글:

2015년 11월 26일

Community Treasure Hunt

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

Start Hunting!

Translated by