How to display multiple lines as output from code in edit text field in app designer

Hi. I'm trying to display multiple lines as output from my code in the edit text field in app designer. I tried implementing the following way (test code).
app.double_results.Value = sprintf('Max velocity can be reached but 1st gear ratio can be increased\n');
app.double_results.Value = sprintf('%s \r\n %s',app.double_results.Value,'Hi');
But the two strings were not displayed in two lines as shown below.
How should I modify the commands to display the two strings as seperate lines?
Btw, I'm using Matlab 2018a.

Answers (5)

Hi, try this way
app.TextArea.Value = sprintf('Max velocity can be reached but 1st gear ratio can be increased\n');
app.TextArea.Value = [app.TextArea.Value;"hi"]
Accept my answer if it is working for you. Thanks

5 Comments

Thank you for your response sir. But it doesn't seem to work. If I enter it in the same format as yours, it throws an error saying 'Value' must be a character vector or a string scalar. If I use both of them as strings (in double quotes), it shows the same error. If I use both of them as char (in single quotes), it shows Error using vertcat - Dimensions of arrays being concatenated are not consistent.
It is working well in R2018b.
app.TextArea.Value = sprintf('Max velocity can be reached but 1st gear ratio can be increased');
app.TextArea.Value = [string(app.TextArea.Value);"hi"]
I guess you have tried to convert it to string first before concatenate them, I might need to try it in R2018a see whether why don't it working in 2018a.
I am getting the same error as before - 'Value' must be a character vector or a string scalar.
Was there any additional edits you made to the text field?
12.png
Nothing I have made to the text field. Above is my code for the button callback. Since I have to install R2018a, I can try to emulate the same thing in R2018a at night (My time zone is GMT + 8), then investigate why don't it working in 2018a.
Ok thanks. Please let me know if you're able to implement it with 2018a. I shall also try to figure out a way and will let you know if something works.

Sign in to comment.

This also works with the number inside the curly braces being which line in the text area you want to print on.
app.MessagesTextArea.Value{1} = ['SG Output Power = ' num2str(SGPower(pwr)) 'dBm'];
app.MessagesTextArea.Value{2} = ['Peak Power Ouput = ' num2str(output_power) 'dBm'];
app.MessagesTextArea.Value{3} = ['Drain Current = ' num2str(Id) 'A'];
This is how I solved this problem:
and the output:
There is a scroll bar on the left side of the TextArea to scroll through the results
Hello,
TextArea.Value can be various types of variables, as long as it is, or it contains a string or a character array. Of these types, one possible is to have a cell array of character values, as stated by the TextArea Properties page.
So the code I use is the following function in the app I am designing using App Designer.
function DisplayTextArea(app,message)
app.iTextBox = app.iTextBox + 1;
app.UserTextArea.Value(app.iTextBox) = {message};
end
Each time I want to add a line in the TextArea, I add one element in the Cell array variable and insert the line in that new element.

Categories

Find more on Function Creation in Help Center and File Exchange

Asked:

on 17 Dec 2018

Answered:

on 17 May 2022

Community Treasure Hunt

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

Start Hunting!