[HELP] required for exception handling during user input

Hi need help!
I need to capture user input using getkey(). However the user is only allowed to enter values between 1 and 9. If user presses something else it should wait (can give an error message too) for the user to press a valid key (1-9).
Code please.
Thanks in anticipation.

回答 (2 件)

Sean de Wolski
Sean de Wolski 2012 年 1 月 12 日

0 投票

what is getkey()?
docsearch getkey
doesn't return any results. If you want the keypressfcn of a figure to perform this test, here is a small demo:
All in one file ans_keypressexample.m
function ans_keypressexample
figure('keypressfcn',@clicked); %make a figure
function clicked(~,evt)
key = str2double(evt.Key); %get the key
if isnan(key)||key==0 %is it between 1 and 9?
error('Booo!'); %no :(
else
disp('yay!!');
end

1 件のコメント

helpseeker
helpseeker 2012 年 1 月 12 日
GETKEY() waits for a keypress and returns the ASCII code, but dont think this is a standard function in matlab. It has been added separately to our matlab.
Thanks. I will try the above code.
Walter Roberson
Walter Roberson 2012 年 1 月 12 日

0 投票

As you are using a File Exchange contribution, edit the source for your own purposes. http://www.mathworks.com/matlabcentral/fileexchange/7465-getkey

この質問は閉じられています。

質問済み:

2012 年 1 月 12 日

閉鎖済み:

2021 年 8 月 20 日

Community Treasure Hunt

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

Start Hunting!

Translated by