[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.

Réponses (2)

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 commentaire

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 le 12 Jan 2012

0 votes

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

Cette question est clôturée.

Clôturé :

le 20 Août 2021

Community Treasure Hunt

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

Start Hunting!

Translated by