showing Results of Serialportlist in a UITextArea

3 visualizzazioni (ultimi 30 giorni)
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

Risposta accettata

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

Accedi per commentare.

Più risposte (1)

Avratanu Biswas
Avratanu Biswas il 26 Nov 2020
Modificato: Avratanu Biswas il 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 Commento
Jason
Jason il 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=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.

Accedi per commentare.

Community Treasure Hunt

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

Start Hunting!

Translated by