Problem with an If loop / Gui application

3 vues (au cours des 30 derniers jours)
Manikandan
Manikandan le 9 Mar 2011
I have some problem in running the if loop. I get the string value of two text boxes using the get command. Next, I check if both of them has 'high' as their string. If yes, the msgbox appears (works). If no, the msgbox inside the else statement does not get executed. My knowledge in MATLAB is limited. Kindly help me out of this.
p1 = get(handles.n_text,'string')
p2 = get(handles.c_text,'string')
if (p1 == 'high')&(p2 == 'high')
msgbox('Difficult')
else
msgbox('easy')
end
  1 commentaire
Walter Roberson
Walter Roberson le 8 Déc 2011
There is no such thing as an if loop.

Connectez-vous pour commenter.

Réponse acceptée

Manikandan
Manikandan le 9 Mar 2011
Thank you Walter and Jan. It works.
  2 commentaires
Jan
Jan le 9 Mar 2011
I've deleted my answer. I have not seen Walter's answer when I started to create mine. But Walter's was exhaustive already.
Oleg Komarov
Oleg Komarov le 10 Mar 2011
-1 to OP for accepting his own unmeaningful answer.

Connectez-vous pour commenter.

Plus de réponses (1)

Walter Roberson
Walter Roberson le 9 Mar 2011
Use strcmp() or strcmpi() instead of == . When you use == then if either of the strings are not exactly 4 characters long, the == comparison will fail with an error because == is an element-by-element comparison. p1(1) to be compared to 'h', p1(2) to be compared to 'i', and so on, which will fail if p1 does not have exactly 4 elements (characters).
When the routine fails with an error, the msgbox() in the else will not get executed.

Catégories

En savoir plus sur Characters and Strings 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