flushing the keyboard input after a pause.

14 vues (au cours des 30 derniers jours)
Jon Rozeay
Jon Rozeay le 1 Nov 2022
Hello,
I need to ignore the possible keyboard input during a pause. So for example:
i1 = input(' Enter first number : ')
pause(10)
i2 = input(' Enter second number : ')
I would like to ignore all the number that has been enter during the 10 second break.
So far, i2 will take whatever first number has been enter after i1.
This is driving me crazy thanks for your help,

Réponse acceptée

Star Strider
Star Strider le 1 Nov 2022
I generally do not use input, preferring inputdlg instead.

Plus de réponses (2)

Jan
Jan le 1 Nov 2022
The command window does not offer a way to flush the input buffer. But this window is a bad way to implement a user interface, if a specific behavior is wanted.
Create your own GUI instead. Then you have full control over the focus, the contents of edit fields and the behavior during a pause. The command window is not useful as a general prupose GUI.

Jon Rozeay
Jon Rozeay le 2 Nov 2022
Great thanks a lot Jan and Star Strider, that helps a lot.
So far I have found this "clunky" solution;
i1 = input('Enter #1: ');
pause(5)
delta_time = 0;
while delta_time<0.1
tic
i2 = input('Enter #2: ');
delta_time = toc;
end
because all the number that I will enter during the pause(5) will be immediatly be loaded into i2, so by looking at the time it takes (between tic and toc) I can detect if it was a really answer or not.

Catégories

En savoir plus sur Desktop dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by