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!

 Réponse acceptée

Image Analyst
Image Analyst le 24 Déc 2012
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 commentaires

Qfin
Qfin le 24 Déc 2012
Works as a charm! Thank you so much for your time buddy!! :)
Rae Cheong
Rae Cheong le 19 Déc 2018
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 );
Rae Cheong
Rae Cheong le 21 Déc 2018
Thank you so much!!! It saves me!!!

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Environment and Settings dans Centre d'aide et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by