Is there an alternative for isstrprop to use on non integers?

2 vues (au cours des 30 derniers jours)
Rodmehr Semnani
Rodmehr Semnani le 14 Déc 2015
Commenté : Rodmehr Semnani le 19 Jan 2016
I've set up a GUI (without Guide) that first one must input parameters, and then a plot will show data. Problem is, I'm trying to find a way to check the parameters before I allow the UI to run. These parameters must be real numbers greater than 0. Using the isstrprop command works fine for positive integers, but it doesn't work when say I want to input a parameter for example 0.5 Hz.
Inside a button callback, I've inserted the following code:
try
if isstrprop(paedit.String,'digit')==1 && isstrprop(rtedit.String,'digit')==1 && isstrprop(siedit.String,'digit')==1
% accept parameters and display run button
accbtn.Visible='off';
accbtn.Enable='off';
runbtn.Visible='on';
stopbtn.Visible='on';
runbtn.Enable='on';
rtedit.Enable='off';
paedit.Enable='off';
siedit.Enable='off';
else
msgbox('Please enter a valid parameters','Input Error','error','modal');
end
catch
msgbox('Please enter a valid parameters','Input Error','error','modal');
end
This code makes sure that if a letter or a negative value is entered into one of the parameter edit boxes, it will not continue. It doesn't, however, let me do non integers. Is there a way to get around that with isstrprop or another command?

Réponse acceptée

Walter Roberson
Walter Roberson le 14 Déc 2015
You can use regexp(), but be careful with exponents
Really the easiest way is to use
tmp = str2double(paedit.String);
if ~isnan(tmp)
% accept parameters and display run button
accbtn.Visible='off';
accbtn.Enable='off';
runbtn.Visible='on';
stopbtn.Visible='on';
runbtn.Enable='on';
rtedit.Enable='off';
paedit.Enable='off';
siedit.Enable='off';
else
msgbox('Please enter a valid parameters','Input Error','error','modal');
end
No try/catch should be needed
  1 commentaire
Rodmehr Semnani
Rodmehr Semnani le 19 Jan 2016
Thanks! Worked like a charm! (apologies for the late response)

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur App Building 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