如何显示长文本在GUI窗口中,输入textscan通用的文本文件。
14日视图(30天)
显示旧的评论
嘿,伙计们,
我想在一个新的GUI显示长文本推动按钮。存储在一个文本文件的文本。我发现我需要这段代码,创建GUI。
% #读文本文件行单元阵列的字符串
fid = fopen (fullfile (“C: \ \ powersyslab \用户桌面\ license.txt '));
str = textscan (fid,' % s ',“分隔符”,' \ n ');str = str {1};
% fclose (fid);
% #与多行editbox GUI
hFig =图(菜单条的,“没有”,“工具栏”,“没有”);
hPan = uipanel (hFig,“标题”,显示窗口的,…
“单位”,“归一化”,“位置”(0.05 - 0.05 0.9 - 0.9));
hEdit = uicontrol (hPan“风格”,“编辑”,“字形大小”9…
“最小值”0,“马克斯”2,“HorizontalAlignment”,“左”,…
“单位”,“归一化”,“位置”(0 0 1 1),…
“字符串”str);
% #启用水平滚动
jEdit = findjobj (hEdit);
jEditbox = jEdit.getViewport () .getComponent (0);
jEditbox.setWrapping(假);% #关掉自动换行
jEditbox.setEditable(假);% #不可编辑
集(jEdit,“HorizontalScrollBarPolicy”,30);% # HORIZONTAL_SCROLLBAR_AS_NEEDED
% #保持水平滚动条政策返回组件调整
hjEdit =处理(jEdit,“CallbackProperties”);
集(hjEdit,“ComponentResizedCallback”,…
的设置(gcbo“HorizontalScrollBarPolicy”30))
不幸的是我得到了错误:
错误使用textscan
无效的文件标识符。使用fopen来生成一个有效的文件标识符。
我如何能适应
textscan函数的输入
所以,它可以
阅读通用文本
。因为我需要的不是格式化的文本在一个特殊的方式。这只是行文本和数字,但在没有特定的顺序。
我很高兴帮忙!
最好的祝福,约翰
接受的答案
Guillaume
2015年9月11日
这个错误你要与阅读一般的文本。它告诉你
支撑材
你通过
textscan
不是有效的。最有可能的是,它不是有效的原因
打开外部文件
未能打开文件(由于不存在,没有许可或一百万其他的可能性)。
你可以改变代码的开始:
[支撑材,errmsg] = fopen (fullfile (“C: \ \ powersyslab \用户桌面\ license.txt '));
如果fid = = 1
错误(errmsg);
结束
一般来说,在处理文件/用户输入时,它总是一个好主意来检查输入收到你期待什么。