showing Results of Serialportlist in a UITextArea

1 visualizzazione (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.

Categorie

Scopri di più su Structures in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by