<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	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/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>PRSoluções &#187; Delphi</title>
	<atom:link href="http://www.prsolucoes.com/blog/category/delphi/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.prsolucoes.com/blog</link>
	<description>Soluções Inteligentes</description>
	<lastBuildDate>Wed, 01 Feb 2012 03:59:57 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>PRFWK &#8211; Framework simples para acesso a dados no Delphi</title>
		<link>http://www.prsolucoes.com/blog/projetos/prfwk-framework-simples-para-acesso-a-dados-no-delphi/</link>
		<comments>http://www.prsolucoes.com/blog/projetos/prfwk-framework-simples-para-acesso-a-dados-no-delphi/#comments</comments>
		<pubDate>Tue, 25 May 2010 17:32:49 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Delphi]]></category>
		<category><![CDATA[Projetos]]></category>

		<guid isPermaLink="false">http://www.prsolucoes.com/blog/?p=579</guid>
		<description><![CDATA[Olá, Recentemente disponibilizei um framework desenvolvido por mim (Paulo Coutinho) e que utilizamos em alguns de nossos projetos com Delphi. O framework é rápido e simples, e envolve todo o conceito de orientação a objetos no Delphi. As informações completas você confere no link: http://www.prsolucoes.com/site/artigo/prfwk]]></description>
			<content:encoded><![CDATA[<p>Olá,</p>
<p>Recentemente disponibilizei um framework desenvolvido por mim (Paulo Coutinho) e que utilizamos em alguns de nossos projetos com Delphi.</p>
<p>O framework é rápido e simples, e envolve todo o conceito de orientação a objetos no Delphi.</p>
<p>As informações completas você confere no link:</p>
<p><a href="http://www.prsolucoes.com/site/artigo/prfwk" target="_self">http://www.prsolucoes.com/site/artigo/prfwk</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.prsolucoes.com/blog/projetos/prfwk-framework-simples-para-acesso-a-dados-no-delphi/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Delphi &#8211; Colocando imagens em uma coluna do DBGrid com imagelist</title>
		<link>http://www.prsolucoes.com/blog/delphi/delphi-colocando-imagens-em-uma-coluna-do-dbgrid-com-imagelist/</link>
		<comments>http://www.prsolucoes.com/blog/delphi/delphi-colocando-imagens-em-uma-coluna-do-dbgrid-com-imagelist/#comments</comments>
		<pubDate>Tue, 19 May 2009 02:08:30 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Delphi]]></category>
		<category><![CDATA[coluna com imagem]]></category>
		<category><![CDATA[imagelist]]></category>
		<category><![CDATA[pintar coluna]]></category>

		<guid isPermaLink="false">http://www.prsolucoes.com/blog/?p=189</guid>
		<description><![CDATA[Olá, Recentemente fiz para um amigo um código de exemplo, então decidi postar ele aqui para outros que tiverem a mesma dúvida. Recentemente escrevi um post parecido, sendo que as imagens eram arquivos físicos, agora escrevi o mesmo exemplo usando imagelist. É um exemplo bem simples, uma determinada imagem é impressa na coluna do grid [...]]]></description>
			<content:encoded><![CDATA[<p>Olá,</p>
<p>Recentemente fiz para um amigo um código de exemplo, então decidi postar ele aqui para outros que tiverem a mesma dúvida.</p>
<p>Recentemente escrevi um post parecido, sendo que as imagens eram arquivos físicos, agora escrevi o mesmo exemplo usando imagelist.</p>
<p>É um exemplo bem simples, uma determinada imagem é impressa na coluna do grid dependendo do valor de outra coluna.</p>
<p>Se o valor for ‘masculino’, exibe a bola verde, se for ‘feminino’ exibe a bola vermelha.</p>
<p>Link para download: <a href="http://www.prsolucoes.com/downloads/teste_grid_img_list.zip" target="_blank">http://www.prsolucoes.com/downloads/teste_grid_img_list.zip</a></p>
<p><img class="aligncenter size-full wp-image-190" title="imagemgrid2" src="http://www.prsolucoes.com/blog/wp-content/uploads/2009/05/imagemgrid2.png" alt="imagemgrid2" width="535" height="404" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.prsolucoes.com/blog/delphi/delphi-colocando-imagens-em-uma-coluna-do-dbgrid-com-imagelist/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Delphi &#8211; Colocando imagens em uma coluna do DBGrid</title>
		<link>http://www.prsolucoes.com/blog/delphi/delphi-colocando-imagens-em-uma-coluna-do-dbgrid/</link>
		<comments>http://www.prsolucoes.com/blog/delphi/delphi-colocando-imagens-em-uma-coluna-do-dbgrid/#comments</comments>
		<pubDate>Tue, 19 May 2009 01:33:37 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Delphi]]></category>
		<category><![CDATA[coluna]]></category>
		<category><![CDATA[dbgrid]]></category>
		<category><![CDATA[drig]]></category>
		<category><![CDATA[imagem na coluna]]></category>

		<guid isPermaLink="false">http://www.prsolucoes.com/blog/?p=182</guid>
		<description><![CDATA[Olá, Recentemente fiz para um amigo um código de exemplo, então decidi postar ele aqui para outros que tiverem a mesma dúvida. É um exemplo bem simples, uma determinada imagem é impressa na coluna do grid dependendo do valor de outra coluna. Se o valor for &#8216;masculino&#8217;, exibe a bola verde, se for &#8216;feminino&#8217; exibe [...]]]></description>
			<content:encoded><![CDATA[<p>Olá,</p>
<p>Recentemente fiz para um amigo um código de exemplo, então decidi postar ele aqui para outros que tiverem a mesma dúvida.</p>
<p>É um exemplo bem simples, uma determinada imagem é impressa na coluna do grid dependendo do valor de outra coluna.</p>
<p>Se o valor for &#8216;masculino&#8217;, exibe a bola verde, se for &#8216;feminino&#8217; exibe a bola vermelha.</p>
<p>Link para download: <a href="http://www.prsolucoes.com/downloads/teste_grid.zip">http://www.prsolucoes.com/downloads/teste_grid.zip</a></p>
<p><img class="aligncenter size-full wp-image-183" title="imagemgrid1" src="http://www.prsolucoes.com/blog/wp-content/uploads/2009/05/imagemgrid1.png" alt="imagemgrid1" width="535" height="404" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.prsolucoes.com/blog/delphi/delphi-colocando-imagens-em-uma-coluna-do-dbgrid/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Como saber os atributos de sua classe usando RTTI</title>
		<link>http://www.prsolucoes.com/blog/delphi/como-saber-os-atributos-de-sua-classe-usando-rtti/</link>
		<comments>http://www.prsolucoes.com/blog/delphi/como-saber-os-atributos-de-sua-classe-usando-rtti/#comments</comments>
		<pubDate>Wed, 22 Apr 2009 19:19:29 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Delphi]]></category>
		<category><![CDATA[atributos]]></category>
		<category><![CDATA[classe]]></category>
		<category><![CDATA[objeto]]></category>
		<category><![CDATA[rtti]]></category>

		<guid isPermaLink="false">http://www.prsolucoes.com/blog/?p=115</guid>
		<description><![CDATA[Esse feriado passei boa parte do meu tempo desenvolvendo meu framework de persistência para usar em alguns projetos de meus clientes, para que fosse exterminado o problema de conexão direta dos componentes visuais com os Datasets da vida. Depois de muito fazer as aplicações usando a conexão direta com os Datasets(TDBEdit, TDBComboBox, TDBLookUpComboBox) vi que [...]]]></description>
			<content:encoded><![CDATA[<p>Esse feriado passei boa parte do meu tempo desenvolvendo meu framework de persistência para usar em alguns projetos de meus clientes, para que fosse exterminado o problema de conexão direta dos componentes visuais com os Datasets da vida.  Depois de muito fazer as aplicações usando a conexão direta com os Datasets(TDBEdit, TDBComboBox, TDBLookUpComboBox) vi que essa não era a melhor forma em grandes aplicações, mas em aplicações pequenas é extremamente útil e vantajoso. Então pensei e pesquisei como fazer tudo manualmente, e vi que uma boa solução seria separar em camadas criando classes de gerência e de modelo.  Mas os modelos podem ter 50 atributos (nome, telefone, cpf, rg, &#8230;) e como o gerente saberia quais são os atributos dessa classe para que ele jogasse os valores desses atributos para o banco e vice-versa?  Foi ai que lendo uma das revistas Clube Delphi eu lembrei que tinha uma falando sobre o RTTI que é mais ou menos o reflection do Java. Já sabendo o que usar, fui pesquisar mais uma vez e achei centenas de exemplo e juntando tudo vou compartilhar a solução de como consegui e que com certeza poderá ajudar muita gente.</p>
<blockquote>
<pre>{**
 * Obter atributos de uma classe
 *}
procedure metodoQualquer(objeto: TObject);
var
lListaPropriedades : PPropList;
lContPropriedades  : Integer;
x                  : Integer;
y                  : Integer;
PropInfo           : TPropInfo;
valorAtributo      : Variant;
nomeAtributo       : String;
begin

//obtém informações dos atributos que são Publisheds
lContPropriedades := GetPropList(objeto.ClassInfo, tkAny, nil);
GetMem( lListaPropriedades, lContPropriedades * SizeOf(TPropInfo) );

try
GetPropList(objeto, lListaPropriedades);
for x := 0 to Pred(lContPropriedades) do
begin
//obtém informações da propriedade
PropInfo      := TPropInfo(lListaPropriedades^[x]^);
valorAtributo := GetPropValue(objeto, PropInfo.Name);
nomeAtributo  := PropInfo.Name;
end;
finally
FreeMem(lListaPropriedades);
end;

end;
end;</pre>
</blockquote>
<p>Essa é um método que eu criei para mostrar como utilizar a técnica, ali no parâmetro <strong>OBJETO</strong> poderá ser passado qualquer classe que herde de <strong>TOBJECT</strong>.  Em <strong>valorAtributo</strong> eu armazeno o valor do atributo e em <strong>nomeAtributo</strong> eu armazeno o nome do atributo, apartir daí fica fácil.  Obs: Precisa declarar a unit <strong>TypInfo</strong>, os atributos da sua classe precisam ser <strong>published </strong>para essa técnica conseguir enchergar e retornar na lista de atributos.  Até a próxima, fiquem com Deus.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.prsolucoes.com/blog/delphi/como-saber-os-atributos-de-sua-classe-usando-rtti/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

