How to display long text in a GUI window, input to textscan for generic textfiles.
Show older comments
Hey guys,
i would like to display long text in a new GUI after pushing a pushbutton. The text is stored in a textfile. I found this code that shall create the GUI i need.
%# read text file lines as cell array of strings
fid = fopen( fullfile('C:\Users\powersyslab\Desktop\license.txt'));
str = textscan(fid, '%s', 'Delimiter','\n'); str = str{1};
%fclose(fid);
%# GUI with multi-line editbox
hFig = figure('Menubar','none', 'Toolbar','none');
hPan = uipanel(hFig, 'Title','Display window', ...
'Units','normalized', 'Position',[0.05 0.05 0.9 0.9]);
hEdit = uicontrol(hPan, 'Style','edit', 'FontSize',9, ...
'Min',0, 'Max',2, 'HorizontalAlignment','left', ...
'Units','normalized', 'Position',[0 0 1 1], ...
'String',str);
%# enable horizontal scrolling
jEdit = findjobj(hEdit);
jEditbox = jEdit.getViewport().getComponent(0);
jEditbox.setWrapping(false); %# turn off word-wrapping
jEditbox.setEditable(false); %# non-editable
set(jEdit,'HorizontalScrollBarPolicy',30); %# HORIZONTAL_SCROLLBAR_AS_NEEDED
%# maintain horizontal scrollbar policy which reverts back on component resize
hjEdit = handle(jEdit,'CallbackProperties');
set(hjEdit, 'ComponentResizedCallback',...
'set(gcbo,''HorizontalScrollBarPolicy'',30)')
Unfortunately i get the error:
Error using textscan
Invalid file identifier. Use fopen to generate a valid file identifier.
How can i adapt the inputs of the textscan function so that it can read generic text. Because the text i need is not formatted in a special way. It is just lines of text and numbers but in no specific order.
I would be glad for help!
Best regards, John
3 Comments
Adam
on 11 Sep 2015
Your error says you have an invalid file identifier which implies the file does not exist in that location or could not be opened for some reason or other.
Your use of textscan looks fine to just read in lines of text without any special format.
John
on 11 Sep 2015
Terence Etchells
on 16 Nov 2018
Edited: Terence Etchells
on 16 Nov 2018
If you are here you may have encountered a problem with your GUI
If you are running R2018b or later you will need to download Yair Altman's latest version of findjobj.m from
there is a bug fix for R2018b.
Regards
Terence Etchells
Accepted Answer
More Answers (0)
Categories
Find more on App Building in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!