showing Results of Serialportlist in a UITextArea

1 view (last 30 days)
Hello, I would like to display the available ports on my PC using serialportlist("available")
I have come across the evalc..code below
portstring = evalc('display(serialportlist("available"))')
Reportmessage is my own function that adds to a textarea
It works except I get some rubbish first:
1×2 <a href="matlab:helpPopup string" style="font-weight:bold">string</a> array
"COM5" "COM10"
Is there a better way to display the results of serialportlist in a uitextarea?

Accepted Answer

Jason on 27 Nov 2020
This seems to work
freeports = serialportlist("available")
str=sprintf('%s\t', freeports{1:end});
ReportMessage2(app,['Comms Available: ',str]);
  1 Comment
Avratanu Biswas
Avratanu Biswas on 27 Nov 2020
Glad that it worked for you . Using "evalc" never a good idea.( Why Avoid the eval Function? ) - might answer you the reason behind those additional unwanted texts in your very initial post.
Cheers !

Sign in to comment.

More Answers (1)

Avratanu Biswas
Avratanu Biswas on 26 Nov 2020
Edited: Avratanu Biswas on 26 Nov 2020
In case I understood your question correctly, what if you write it in this way
portstring = serialportlist("available"); % instead of using evalc
app.UItextarea.Value = portstring; % using the given name of the UItextarea
  1 Comment
Jason on 27 Nov 2020
Hello, due to me ReportMessage concatenating vertically, this doesn't work.
function ReportMessage(app,msg) %For message box on config tab
currString=[currString;{char(msg)}]; %add to top of message box
Error using matlab.ui.control.TextArea/set.Value (line 101)
'Value' must be a character vector, or a 1-D array of the following type: cell array of character vectors, string, or categorical.

Sign in to comment.


Find more on Structures in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!