Creating Countdown timer in Matlab App

11 vues (au cours des 30 derniers jours)
Kanwartej Singh
Kanwartej Singh le 22 Avr 2022
Commenté : Kanwartej Singh le 24 Avr 2022
Hi all,
I am trying to create a countdown timer in matlab. The user will press a button and that time will start to decrease. I have used an edit field text for the timer display. I am able to get the starting time displayed on the display, but am really struggling (i actually have no idea - even though I tried searching around) to determine how the 'countdown' works in Matlab. I have the following code:
properties (Access = private)
timerLeft = 0; % Description
end
and then:
function BeginButtonPushed(app, event)
end
function FunctionalityTest10sButtonPushed(app, event)
timerVal = 10;
app.timerLeft = timerVal;
app.timerCountdown.Value = '00:00:10';
end
All help is really appriciated.

Réponses (1)

Image Analyst
Image Analyst le 22 Avr 2022
See attached demo. It's in GUIDE but you can click the link/button to convert it to App Designer.
  5 commentaires
Image Analyst
Image Analyst le 23 Avr 2022
Examples:
dt = datestr(now, "HH:mm:ss")
dt = '13:04:54'
t = datetime('now','TimeZone','local','Format','d-MMM-y HH:mm:ss Z')
t = datetime
23-Apr-2022 13:34:55 +0000
t1 = datetime(2022,4,23,9,034,06, 'Format','HH:mm:ss')
t1 = datetime
09:34:06
Kanwartej Singh
Kanwartej Singh le 24 Avr 2022
Hey,
So I went about this in a similar but different manner using the duration command(I bevlieve it is similar but is only for limited time segments, which is what I need). What I did was:
function BeginButtonPushed(app, event)
for i = 1:length(app.strD)
app.timerCountdown.Value = app.strD(i);
pause(1);
end
end
% Button pushed function: TutorFunctionalityTest10sButton
function TutorFunctionalityTest10sButtonPushed(app, event)
timerVal = 10;
app.timerLeft = timerVal;
app.timerCountdown.Value = '00:00:10';
d = duration(0,0,10:-1:0);
app.strD = string(d);
end
end
Now this works for just seconds, but doesn't work for miniutes, as I cannot do duration(0,1:-1:0,10:-1:0). How would I be able to go about this? I am really confused, as if I just do duration (0, 1:-1:0) - it just prodcues a 1X2 duration array with 0:1:0 and 0:0:0. All help is appriciated.

Connectez-vous pour commenter.

Catégories

En savoir plus sur Loops and Conditional Statements dans Help Center et File Exchange

Produits


Version

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by