Update textarea when printing to the console
조회 수: 3 (최근 30일)
이전 댓글 표시
I have an app where I have setup a diary to store the outputs to the console to a file. In this app, I have a text area that I would like to update its Value whenever something is printed to the console. For example, this app uses a Simulink model that outputs diagnostics to the console if something went wrong.
How could I go about this? Is there perhaps any event listener that I could use?
app.dfile = 'app_log.txt';
if exist(app.dfile, 'file')
delete(app.dfile);
end
diary(app.dfile)
diary on
cons_tab = uitab(PlotTabGroup,'Title','Console'); % PlotTabGroup is a TabGroup with multiple tabs
cons_txt = uitextarea(cons_tab,'Value',fileread(app.dfile),...
'Position',[0 0 cons_tab.Position(3) cons_tab.Position(4)],...
'Tag','console');
댓글 수: 2
Eric Delgado
2022년 4월 19일
Hope it helps! :)
% Startup
function startupFcn(app)
diary('app_log.txt')
diary on
app.tmr = timer("ExecutionMode", "fixedDelay", ...
"Period", 10, ...
"TimerFcn", @(~,~)timerCallback(app));
start(app.tmr)
end
% Callback
function timerCallback(app)
try
app.Log.Value = fileread('app_log.txt');
catch ME
uialert(app.UIFigure, ME.message, 'Error', 'Icon', 'error')
end
end
답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Startup and Shutdown에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!