showing Results of Serialportlist in a UITextArea

3 次查看(过去 30 天)
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(app,portstring);
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?
Thanks
Jason

采纳的回答

Jason
Jason 2020-11-27
This seems to work
freeports = serialportlist("available")
str=sprintf('%s\t', freeports{1:end});
ReportMessage2(app,['Comms Available: ',str]);
  1 个评论
Avratanu Biswas
Avratanu Biswas 2020-11-27
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 !
A

请先登录,再进行评论。

更多回答(1 个)

Avratanu Biswas
Avratanu Biswas 2020-11-26
编辑:Avratanu Biswas 2020-11-26
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 个评论
Jason
Jason 2020-11-27
Hello, due to me ReportMessage concatenating vertically, this doesn't work.
function ReportMessage(app,msg) %For message box on config tab
currString=get(app.MessagesTextArea2,'Value');
currString=[currString;{char(msg)}]; %add to top of message box
app.MessagesTextArea2.Value=currString;
drawnow;
scroll(app.MessagesTextArea2,'bottom');
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.

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Mathematics 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by