Setting a textbox returning error 'Unable to resolve the name'

I have a GUI function that defines a few text boxes under the structure S. When calling to update the value of the text box named 'S.Text_for_display' within a seperate function called 'Speak' I recive the error 'Unable to resolve the name 'S.Text_for_display'.'.
function []=Speak(txt)
set(S.Text_for_display,'String','','LineStyle','none','FontSize',14,'FontName','Comic Sans... MS','FitBoxToText','off');
len=length(txt);
for i=1:len;
if i<=len;
Display(txt(1:i));
pause(.05);
else
Display(txt);
end
end
end

1 commentaire

for i=1:len;
if i<=len;
Display(txt(1:i));
pause(.05);
else
Display(txt);
end
In a for loop that goes 1:len it is certain that i <= len so there is no point in having the if

Connectez-vous pour commenter.

Réponses (1)

Dyuman Joshi
Dyuman Joshi le 18 Jan 2024
Modifié(e) : Dyuman Joshi le 19 Jan 2024
The function does not know what "S" is. You need to pass it as an input.
And the font name 'Comic Sans MS' does not have ellipses (3 dots) in it.
%For cross-check
listfonts
ans = 14×1 cell array
{'Arial' } {'Arial Black' } {'Arial Narrow' } {'Comic Sans MS' } {'Courier' } {'Courier New' } {'Georgia' } {'Helvetica' } {'Impact' } {'Terminal' } {'Times' } {'Times New Roman'} {'Trebuchet MS' } {'Verdana' }

4 commentaires

Thanks for the reply. So I actually included the '...' for the fomatting of the question but I reaslise now that this would be bad and would not work, thank you. additionally, how would I pass "S" into the function?
If you want to use ellipses, you should use it after a name-value arguement pair, I've shown an example below -
%Modify function to add S as an input
% v
function []=Speak(txt, S)
set(S.Text_for_display,'String','','LineStyle','none','FontSize',14,...
'FontName','Comic Sans MS','FitBoxToText','off');
len=length(txt);
for i=1:len;
if i<=len;
Display(txt(1:i));
pause(.05);
else
Display(txt);
end
end
end
Ok, I'm still not sure how to parse the acutal textbox into the function here. If i try running your fucntion you have provided It does not recognise the textbox: 'method, property, or field 'Text_for_display' for class 'matlab.graphics.shape.TextBox''
Could you share the struct "S"? Use the paperclip button to attach.
How are you calling the function?

Connectez-vous pour commenter.

Catégories

En savoir plus sur Startup and Shutdown dans Centre d'aide et File Exchange

Produits

Version

R2023a

Community Treasure Hunt

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

Start Hunting!

Translated by