How to read in big parts of text to my code

What I want to do is to ask the user to write in the text that they want to decrypt. Not only a single sentence but big parts of text with multiple rows, commas, indentations and so on (for example a letter). How do I do this? I've tried using input but that only works for short sentences.

5 Commenti

Why not just load a text file? Then you can use uigetfile() or something similar for a user input.
But if I want it to look something like:
"Write in your text: "
And then the user writes a long text (which the program then will decrypt).
Jan
Jan il 17 Dic 2018
Modificato: Jan il 17 Dic 2018
If you want the users to type in a large text, let them do this in an editor. E.g. Matlab's built-in editor or an external one. Re-inventing the wheel by creating an editor in a Matlab-GUI is off track.
If you insist of using Matlab tools, you could use the edit type uicontrol (enable multi-line by setting the max property to the maximum number of lines you allow your user to type).
Ok thanks. I'll figure something out :)

Accedi per commentare.

Risposte (1)

This could easliy be done by writing a function to use dialog with an edit uicontrol in MATLAB based on the following example:https://www.mathworks.com/help/matlab/ref/dialog.html#bungryc-2_1
I happen to use the following function for such tasks:
function out = textIn
close all; clear; clc
f = dialog('Position', [1000 1000 320 150],...
'MenuBar', 'none',...
'Name','Enter Text',...
'NumberTitle','off');
uicontrol('Parent',f,...
'Style','edit',...
'Max',2,...
'Min',0,...
'Position', [10 42 300 100],...
'HorizontalAlignment','left',...
'Callback', @editCallback);
uicontrol('Parent',f,...
'Style','pushbutton',...
'String','OK',...
'Position', [235 10 75 25],...
'Callback', "delete(gcf)");
uiwait(f);
function editCallback(h,~)
out = h.String;
end
end

Categorie

Richiesto:

il 17 Dic 2018

Risposto:

il 28 Dic 2018

Community Treasure Hunt

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

Start Hunting!

Translated by