<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Delphi: SetTimer</title>
	<atom:link href="http://projects.pro.br/gsaraiva/2008/05/delphi-settimer/feed/" rel="self" type="application/rss+xml" />
	<link>http://projects.pro.br/gsaraiva/2008/05/delphi-settimer/</link>
	<description>Step by step</description>
	<lastBuildDate>Sun, 30 Aug 2009 01:10:08 -0300</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Gilberto Saraiva</title>
		<link>http://projects.pro.br/gsaraiva/2008/05/delphi-settimer/comment-page-1/#comment-2546</link>
		<dc:creator>Gilberto Saraiva</dc:creator>
		<pubDate>Mon, 02 Mar 2009 17:14:06 +0000</pubDate>
		<guid isPermaLink="false">http://gsaraiva.projects.pro.br/?p=41#comment-2546</guid>
		<description>Cleriston,

Exatidão dessa é muito difícil quando se tem uma interface gráfica pouco otimizada(interface de componentes), as que lhe permitiria ter uma exatidão dessas são apenas aquelas que tem aceleração gráfica e consomem menos tempo de processador para a parte visual.

Uma maneira de aperfeiçoar a precisão é usando thread, assim você teria no mínimo um processamento exclusivo para a obtenção do intervalo desejado.

Abraços.</description>
		<content:encoded><![CDATA[<p>Cleriston,</p>
<p>Exatidão dessa é muito difícil quando se tem uma interface gráfica pouco otimizada(interface de componentes), as que lhe permitiria ter uma exatidão dessas são apenas aquelas que tem aceleração gráfica e consomem menos tempo de processador para a parte visual.</p>
<p>Uma maneira de aperfeiçoar a precisão é usando thread, assim você teria no mínimo um processamento exclusivo para a obtenção do intervalo desejado.</p>
<p>Abraços.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Cleriston</title>
		<link>http://projects.pro.br/gsaraiva/2008/05/delphi-settimer/comment-page-1/#comment-2525</link>
		<dc:creator>Cleriston</dc:creator>
		<pubDate>Wed, 25 Feb 2009 18:47:26 +0000</pubDate>
		<guid isPermaLink="false">http://gsaraiva.projects.pro.br/?p=41#comment-2525</guid>
		<description>Parabéns pelo Post.
Eu preciso executar uma tarefa a cada milisegundo. Não consegui fazer com &quot;while&quot; nem com Timer pois ambos pulam alguns milisegundos.
Tentei utilizar o SetTimer do seu post atual e mesmo assim ele pula alguns segundos.
Eu dentro da funcao eu faço apenas 

FrmPrincipal.Memo1.Lines.Add(FormatDateTime(&#039;hh:mm:ss:zzz&#039;, now));

Tem outra coisa para me sugerir?</description>
		<content:encoded><![CDATA[<p>Parabéns pelo Post.<br />
Eu preciso executar uma tarefa a cada milisegundo. Não consegui fazer com &#8220;while&#8221; nem com Timer pois ambos pulam alguns milisegundos.<br />
Tentei utilizar o SetTimer do seu post atual e mesmo assim ele pula alguns segundos.<br />
Eu dentro da funcao eu faço apenas </p>
<p>FrmPrincipal.Memo1.Lines.Add(FormatDateTime(&#8217;hh:mm:ss:zzz&#8217;, now));</p>
<p>Tem outra coisa para me sugerir?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Paulo Sentano</title>
		<link>http://projects.pro.br/gsaraiva/2008/05/delphi-settimer/comment-page-1/#comment-2255</link>
		<dc:creator>Paulo Sentano</dc:creator>
		<pubDate>Sun, 18 Jan 2009 19:10:50 +0000</pubDate>
		<guid isPermaLink="false">http://gsaraiva.projects.pro.br/?p=41#comment-2255</guid>
		<description>Amigo...

Atualmente estou desenvolvendo um objeto para comunicacao.
Dentro desse objeto tenho outros que sao criados((parente).
Voce sabe como faco para que o identifique como por exemplo num formulario (Objeto.Objeto.Objeto) 

Ex: form1.novoobjeto.novoObjeto</description>
		<content:encoded><![CDATA[<p>Amigo&#8230;</p>
<p>Atualmente estou desenvolvendo um objeto para comunicacao.<br />
Dentro desse objeto tenho outros que sao criados((parente).<br />
Voce sabe como faco para que o identifique como por exemplo num formulario (Objeto.Objeto.Objeto) </p>
<p>Ex: form1.novoobjeto.novoObjeto</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Gilberto Saraiva</title>
		<link>http://projects.pro.br/gsaraiva/2008/05/delphi-settimer/comment-page-1/#comment-242</link>
		<dc:creator>Gilberto Saraiva</dc:creator>
		<pubDate>Fri, 01 Aug 2008 12:49:08 +0000</pubDate>
		<guid isPermaLink="false">http://gsaraiva.projects.pro.br/?p=41#comment-242</guid>
		<description>Ola Thiago José da Silva,

Veja que no começo do artigo eu informo que o &lt;b&gt;2 parametro&lt;/b&gt; da API SetTimer é indicada pelo programador, e o mesmo faz o uso como necessário entendendo que o parametro é númerico de tamanho 4 (ex: integer, cardinal, longint, pointer e outros).

O que fiz no exemplo foi indicar como &lt;b&gt;2 parametro&lt;/b&gt; o ponteiro de uma variável que tenho na memória, que é do tipo TTimerParam. Então ao receber a mensagem no &lt;b&gt;Objeto Windows&lt;/b&gt; eu apenas forço o entendimento do 2 parametro como ponteiro de uma variável desse tipo, assim eu acesso as informações que nela contém.

Eu ainda não expliquei isso aqui no site, mas pra termos de ajuda:
<!--DEVFMTCODE--><pre class="devcodeblock" title="Delphi"><div class="devcodeoverflow"><ol><li><span style="color: #000000; font-weight: bold;">type</span></li><li>&nbsp;&nbsp;PTimerParam <span style="color: #000066;">=</span> <span style="color: #000066;">^</span>TTimerParam<span style="color: #000066;">;</span> <span style="color: #808080; font-style: italic;">// tipo que guarda um ponteiro de um objeto TTimerParam</span></li><li>&nbsp;&nbsp;TTimerParam <span style="color: #000066;">=</span> <span style="color: #000000; font-weight: bold;">record</span> <span style="color: #808080; font-style: italic;">// tipo que guarda uma string e um inteiro</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;s<span style="color: #000066;">:</span> <span style="color: #000066; font-weight: bold;">string</span><span style="color: #000066;">;</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;i<span style="color: #000066;">:</span> <span style="color: #000066; font-weight: bold;">integer</span><span style="color: #000066;">;</span></li><li>&nbsp;&nbsp;<span style="color: #000000; font-weight: bold;">end</span><span style="color: #000066;">;</span></li></ol></div></pre><!--END_DEVFMTCODE-->
Assim é possível utilizar as funções de alocação/desalocação de memória por tipo, &lt;b&gt;New&lt;/b&gt; e &lt;b&gt;Dispose&lt;/b&gt;
Exemplo:
<!--DEVFMTCODE--><pre class="devcodeblock" title="Delphi"><div class="devcodeoverflow"><ol><li><span style="color: #000000; font-weight: bold;">var</span></li><li>&nbsp;&nbsp;OPonteiroDaMinhaVariavel<span style="color: #000066;">:</span> PTimerParam<span style="color: #000066;">;</span></li><li>&nbsp;</li><li><span style="color: #000000; font-weight: bold;">procedure</span> CriaEspacoNaMemoria<span style="color: #000066;">;</span></li><li><span style="color: #000000; font-weight: bold;">begin</span></li><li>&nbsp;&nbsp;<span style="color: #808080; font-style: italic;">// crio um espaço na memória para guardar as informações que preciso</span></li><li>&nbsp;&nbsp;<span style="color: #000066;">New</span><span style="color: #000066;">&#40;</span>OPonteiroDaMinhaVariavel<span style="color: #000066;">&#41;</span><span style="color: #000066;">;</span></li><li>&nbsp;&nbsp;OPonteiroDaMinhaVariavel<span style="color: #000066;">^</span><span style="color: #000066;">.</span><span style="color: #006600;">s</span> <span style="color: #000066;">:</span><span style="color: #000066;">=</span> <span style="color: #ff0000;">'Meu texto'</span><span style="color: #000066;">;</span><span style="color: #808080; font-style: italic;">// um texto qualquer</span></li><li>&nbsp;&nbsp;OPonteiroDaMinhaVariavel<span style="color: #000066;">^</span><span style="color: #000066;">.</span><span style="color: #006600;">i</span> <span style="color: #000066;">:</span><span style="color: #000066;">=</span> 0001<span style="color: #000066;">;</span><span style="color: #808080; font-style: italic;">// um número qualquer</span></li><li><span style="color: #000000; font-weight: bold;">end</span><span style="color: #000066;">;</span></li><li>&nbsp;</li><li><span style="color: #000000; font-weight: bold;">procedure</span> DestroiEspacoNaMemoria<span style="color: #000066;">;</span></li><li><span style="color: #000000; font-weight: bold;">begin</span></li><li>&nbsp;&nbsp;<span style="color: #000066;">Dispose</span><span style="color: #000066;">&#40;</span>OPonteiroDaMinhaVariavel<span style="color: #000066;">&#41;</span><span style="color: #000066;">;</span></li><li>&nbsp;&nbsp;<span style="color: #808080; font-style: italic;">// aqui a memória foi desalocada, então não é possível mais ter acesso</span></li><li>&nbsp;&nbsp;<span style="color: #808080; font-style: italic;">// ao que estava lá.</span></li><li><span style="color: #000000; font-weight: bold;">end</span><span style="color: #000066;">;</span></li></ol></div></pre><!--END_DEVFMTCODE--></description>
		<content:encoded><![CDATA[<p>Ola Thiago José da Silva,</p>
<p>Veja que no começo do artigo eu informo que o <b>2 parametro</b> da API SetTimer é indicada pelo programador, e o mesmo faz o uso como necessário entendendo que o parametro é númerico de tamanho 4 (ex: integer, cardinal, longint, pointer e outros).</p>
<p>O que fiz no exemplo foi indicar como <b>2 parametro</b> o ponteiro de uma variável que tenho na memória, que é do tipo TTimerParam. Então ao receber a mensagem no <b>Objeto Windows</b> eu apenas forço o entendimento do 2 parametro como ponteiro de uma variável desse tipo, assim eu acesso as informações que nela contém.</p>
<p>Eu ainda não expliquei isso aqui no site, mas pra termos de ajuda:<br />
<!--DEVFMTCODE--><pre class="devcodeblock" title="Delphi"><div class="devcodeoverflow"><ol><li><span style="color: #000000; font-weight: bold;">type</span></li><li>&nbsp;&nbsp;PTimerParam <span style="color: #000066;">=</span> <span style="color: #000066;">^</span>TTimerParam<span style="color: #000066;">;</span> <span style="color: #808080; font-style: italic;">// tipo que guarda um ponteiro de um objeto TTimerParam</span></li><li>&nbsp;&nbsp;TTimerParam <span style="color: #000066;">=</span> <span style="color: #000000; font-weight: bold;">record</span> <span style="color: #808080; font-style: italic;">// tipo que guarda uma string e um inteiro</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;s<span style="color: #000066;">:</span> <span style="color: #000066; font-weight: bold;">string</span><span style="color: #000066;">;</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;i<span style="color: #000066;">:</span> <span style="color: #000066; font-weight: bold;">integer</span><span style="color: #000066;">;</span></li><li>&nbsp;&nbsp;<span style="color: #000000; font-weight: bold;">end</span><span style="color: #000066;">;</span></li></ol></div></pre><!--END_DEVFMTCODE--><br />
Assim é possível utilizar as funções de alocação/desalocação de memória por tipo, <b>New</b> e <b>Dispose</b><br />
Exemplo:<br />
<!--DEVFMTCODE--><pre class="devcodeblock" title="Delphi"><div class="devcodeoverflow"><ol><li><span style="color: #000000; font-weight: bold;">var</span></li><li>&nbsp;&nbsp;OPonteiroDaMinhaVariavel<span style="color: #000066;">:</span> PTimerParam<span style="color: #000066;">;</span></li><li>&nbsp;</li><li><span style="color: #000000; font-weight: bold;">procedure</span> CriaEspacoNaMemoria<span style="color: #000066;">;</span></li><li><span style="color: #000000; font-weight: bold;">begin</span></li><li>&nbsp;&nbsp;<span style="color: #808080; font-style: italic;">// crio um espaço na memória para guardar as informações que preciso</span></li><li>&nbsp;&nbsp;<span style="color: #000066;">New</span><span style="color: #000066;">&#40;</span>OPonteiroDaMinhaVariavel<span style="color: #000066;">&#41;</span><span style="color: #000066;">;</span></li><li>&nbsp;&nbsp;OPonteiroDaMinhaVariavel<span style="color: #000066;">^</span><span style="color: #000066;">.</span><span style="color: #006600;">s</span> <span style="color: #000066;">:</span><span style="color: #000066;">=</span> <span style="color: #ff0000;">'Meu texto'</span><span style="color: #000066;">;</span><span style="color: #808080; font-style: italic;">// um texto qualquer</span></li><li>&nbsp;&nbsp;OPonteiroDaMinhaVariavel<span style="color: #000066;">^</span><span style="color: #000066;">.</span><span style="color: #006600;">i</span> <span style="color: #000066;">:</span><span style="color: #000066;">=</span> 0001<span style="color: #000066;">;</span><span style="color: #808080; font-style: italic;">// um número qualquer</span></li><li><span style="color: #000000; font-weight: bold;">end</span><span style="color: #000066;">;</span></li><li>&nbsp;</li><li><span style="color: #000000; font-weight: bold;">procedure</span> DestroiEspacoNaMemoria<span style="color: #000066;">;</span></li><li><span style="color: #000000; font-weight: bold;">begin</span></li><li>&nbsp;&nbsp;<span style="color: #000066;">Dispose</span><span style="color: #000066;">&#40;</span>OPonteiroDaMinhaVariavel<span style="color: #000066;">&#41;</span><span style="color: #000066;">;</span></li><li>&nbsp;&nbsp;<span style="color: #808080; font-style: italic;">// aqui a memória foi desalocada, então não é possível mais ter acesso</span></li><li>&nbsp;&nbsp;<span style="color: #808080; font-style: italic;">// ao que estava lá.</span></li><li><span style="color: #000000; font-weight: bold;">end</span><span style="color: #000066;">;</span></li></ol></div></pre><!--END_DEVFMTCODE--></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Thiago J. da Silva</title>
		<link>http://projects.pro.br/gsaraiva/2008/05/delphi-settimer/comment-page-1/#comment-241</link>
		<dc:creator>Thiago J. da Silva</dc:creator>
		<pubDate>Fri, 01 Aug 2008 12:13:39 +0000</pubDate>
		<guid isPermaLink="false">http://gsaraiva.projects.pro.br/?p=41#comment-241</guid>
		<description>Oi Gilberto Saraiva,

Eu tive dificuldade em entender seu exemplo usando um objeto windows. Eu não entendi porque você criou o tipo TTimerParam.
Estou desenvolvendo um programa em delphi para ler dados através da porta serial e quero temporizar a aquisição. Já tentei fazer isso de diversas maneiras, mas não obtive sucesso. Se você pudesse me explicar como eu posso usar esse temporizador para o meu caso ou me indicar outro método eu ficaria MUITO grato.

Atenciosamente,

Thiago José da Silva</description>
		<content:encoded><![CDATA[<p>Oi Gilberto Saraiva,</p>
<p>Eu tive dificuldade em entender seu exemplo usando um objeto windows. Eu não entendi porque você criou o tipo TTimerParam.<br />
Estou desenvolvendo um programa em delphi para ler dados através da porta serial e quero temporizar a aquisição. Já tentei fazer isso de diversas maneiras, mas não obtive sucesso. Se você pudesse me explicar como eu posso usar esse temporizador para o meu caso ou me indicar outro método eu ficaria MUITO grato.</p>
<p>Atenciosamente,</p>
<p>Thiago José da Silva</p>
]]></content:encoded>
	</item>
</channel>
</rss>
