Matlab GUI - Counter update through Pushbutton

Hey MatLabers,
I am creating a GUI via the GUI editor in Matlab. However, trying to test how the pushbutton works, I was unable to make it increment a counter every time it is pressed and output the result on a static text.
Here is the part of the code in question, I thought it would be as simple as:
function Simulate_Callback(hObject, eventdata, handles)
Counter =0;
Counter = Counter +1;
set(handles.Counter ,'String',Counter);
the Counter object is just a static text.
Any idea guys?! Any help is greatly appreciated!
Thanks a lot!

 采纳的回答

Your counter will always be 1, obviously. You need to get the value, not set it to zero.
% Read current text and convert it to a number.
currentCounterValue = str2double(get(handles.Counter, 'String'));
% Create a new string with the number being 1 more than the current number.
newString = sprintf('%d', int32(currentCounterValue +1));
% Send the new string to the text control.
set(handles.Counter, 'String', newString );

4 个评论

Works as a charm! Thank you so much for your time buddy!! :)
how can i reset the counter value to zero when the counter number exceed value of 32?
Try this:
% Read current text and convert it to a number.
currentCounterValue = str2double(get(handles.Counter, 'String'));
nextValue = currentCounterValue + 1;
if nextValue >= 33
nextValue = 0;
end
% Create a new string with the number being 1 more than the current number.
newString = sprintf('%d', int32(nextValue));
% Send the new string to the text control.
set(handles.Counter, 'String', newString );
Thank you so much!!! It saves me!!!

请先登录,再进行评论。

更多回答(0 个)

类别

帮助中心File Exchange 中查找有关 Environment and Settings 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by