notification in case missing answer
1 view (last 30 days)
Show older comments
hi everyone, i have an other question on interaction between time and user: i want my code to give a message to user if he takes too much time to answer the question. ps.: this message has to be sent even if the user dosn't answer the question.
2 Comments
Accepted Answer
More Answers (1)
Jan
on 24 Apr 2013
Edited: Jan
on 24 Apr 2013
initial = now;
Name = input('insert your name','s');
if now - initial > 10 % seconds
fprintf('sorry you had took much time\n');
end
Perhaps a native speaker could give an advice: "Sorry, you have taken too much time" ???
[EDITED] Oh, perhaps you are looking for a time-out, which stops the waiting for the user input? This is not possible in the Matlab-level with the INPUT command. Even with a GUI like INPUTDLG this is not easy, because writing a message to an UICONTROL will collide with deleteing the message by a TIMER.
With using Java you can create a TIMER object, which emulates pressing the RETURN key after a certain time using the "Java robot" (use this term to search on undocumentedmatlab.com). This can stop INPUT automatically, but you need an additional flag to distinguish this pseudo-keypress from the real return key.
This method would have a dangerous side-effect: When a dialog window is opened e.g. from a long copy process from the operating system, pressing RETURN automatically could cause a desaster. Therefore I will not post the corresponding code.
0 Comments
See Also
Categories
Find more on Environment and Settings in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!