notification in case missing answer

2 次查看(过去 30 天)
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 个评论
Walter Roberson
Walter Roberson 2013-4-23
What method are you using to interact with the user?
Nicolò
Nicolò 2013-4-24
编辑:Nicolò 2013-4-24
something like this
%EXAMPLE
%request name
Name = input('insert your name','s');
%if the answer not arrive in 10sec
fprintf ('sorry you had took much time');
end

请先登录,再进行评论。

采纳的回答

Walter Roberson
Walter Roberson 2013-4-24

更多回答(1 个)

Jan
Jan 2013-4-24
编辑:Jan 2013-4-24
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.

类别

Help CenterFile 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