Path: news.mathworks.com!not-for-mail
From: "Jerzy Lapa" <jerzylapa@gmail.com>
Newsgroups: comp.soft-sys.matlab
Subject: Re: timer and gui edit
Date: Sat, 18 Apr 2009 09:54:01 +0000 (UTC)
Organization: The MathWorks, Inc.
Lines: 73
Message-ID: <gsc7vp$lpm$1@fred.mathworks.com>
References: <ftoi5e$pm6$1@fred.mathworks.com> <ftpkce$n7r$1@fred.mathworks.com>
Reply-To: "Jerzy Lapa" <jerzylapa@gmail.com>
NNTP-Posting-Host: webapp-02-blr.mathworks.com
Content-Type: text/plain; charset="ISO-8859-1"
Content-Transfer-Encoding: 8bit
X-Trace: fred.mathworks.com 1240048441 22326 172.30.248.37 (18 Apr 2009 09:54:01 GMT)
X-Complaints-To: news@mathworks.com
NNTP-Posting-Date: Sat, 18 Apr 2009 09:54:01 +0000 (UTC)
X-Newsreader: MATLAB Central Newsreader 1806888
Xref: news.mathworks.com comp.soft-sys.matlab:533672


"Vihang Patil" <vihang_patil@yahoo.com> wrote in message <ftpkce$n7r$1@fred.mathworks.com>...
> "Alessandro C." <a.cocciola@gmail.com> wrote in message 
> <ftoi5e$pm6$1@fred.mathworks.com>...
> > Hi all
> > 
> > This is my code:
> > 
> > a = 1;
> > while a == 1
> >     t = timer('TimerFcn', 'y = myfunction(x)');
> >     start(t)
> >     pause(2)
> > end
> > 
> > I would like to show the y value in a edit object every 2
> > seconds. How can I do it?
> > 
> > Thank you in advance
> > 
> > Alessandro
> > 
> 
> Hello
> Define your timer function and start the timer in the 
> gui_openingfcn if you want the timer to start as soon as 
> the gui is loaded or you can define the timer function in 
> the gui_openingfcn() but start the timer only say after 
> the pushbutton is pressed. 
> You dont need the while loop at all as the timer function 
> will the job for you. 
> Try this;
> 
> function main_gui_OpeningFcn(hObject, eventdata, handles, 
> varargin)
> handles.guifig = gcf;
> handles.tmr = timer('TimerFcn', 
> {@TmrFcn,handles.guifig},'BusyMode','Queue',...
>     'ExecutionMode','FixedRate','Period',2);%timer 
> updating after every 2 secs
> guidata(handles.guifig,handles);
> 
> start(handles.tmr);
> guidata(hObject, handles);
> 
> %Timer Function
> function TmrFcn(src,event,handles) %Timer function
> handles = guidata(handles);
> x = myfunction(y);%define your function here 
> set(handles.edit1,'String',num2str(x)); %assuming x is 
> type 'double'
> guidata(handles.guifig, handles);
> 
> HTH
> Vihang
> 
> 

Hi, i'm new here.
I must make GUI with timer and yours example works perfectly but only with Edit boxes and I need updating Axes too. In my GUI it opens figure1 in each Timerfcn.


function TmrFcn(src,event,handles) %Timer function

handles = guidata(handles);
axes(handles.axes1);
hold off
bar([2,1],'r');
guidata(handles.output, handles);

what's wrong? i must use set?

Thx for your help.
Jurek