<?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>Andreano Lanusse Blog em Português &#187; TeeChart</title>
	<atom:link href="http://www.andreanolanusse.com/blogpt/tag/teechart/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.andreanolanusse.com/blogpt</link>
	<description>O propósito do meu blog é compartilhar assuntos relacionados a desenvolvimento de software, assim como belos lugares para que visitei e recomendo, filmes que assisti e gostei, jogos que realmente curto (sou fã do PS3), fotos de lugares legais e muito mais.</description>
	<lastBuildDate>Thu, 09 Sep 2010 12:43:10 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1-alpha</generator>
		<item>
		<title>Criando gráficos em sua aplicação Delphi com TeeChart</title>
		<link>http://www.andreanolanusse.com/blogpt/criando-graficos-em-sua-aplicacao-delphi-com-teechart/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=criando-graficos-em-sua-aplicacao-delphi-com-teechart</link>
		<comments>http://www.andreanolanusse.com/blogpt/criando-graficos-em-sua-aplicacao-delphi-com-teechart/#comments</comments>
		<pubDate>Mon, 01 Feb 2010 10:32:07 +0000</pubDate>
		<dc:creator>Andreano Lanusse</dc:creator>
				<category><![CDATA[Delphi (Win32)]]></category>
		<category><![CDATA[Embarcadero]]></category>
		<category><![CDATA[TeeChart]]></category>

		<guid isPermaLink="false">http://www.andreanolanusse.com/blogpt/?p=704</guid>
		<description><![CDATA[TeeChart é um dos componentes de terceiros mais utilizados no Delphi e o que acompanha o Delphi por mais tempo, não me lembro agora, mas já fazem muitos anos que ele está presente. Desenvolvimento pela Steema Software que ano a ano implementa novas funcionalidades e extende toda os seus componentes para outras linguagens. É muito [...]]]></description>
			<content:encoded><![CDATA[<p>TeeChart é um dos componentes de terceiros mais utilizados no Delphi e o que acompanha o Delphi por mais tempo, não me lembro agora, mas já fazem muitos anos que ele está presente. Desenvolvimento pela <strong><a href="http://www.steema.com/teechart/vcl">Steema Software</a></strong> que ano a ano implementa novas funcionalidades e extende toda os seus componentes para outras linguagens.</p>
<p>É muito fácil utilizar este componente, posso dizer que para muitos gráficos você não precisaria escrever código, através dos wizards disponíveis você pode criar gráficos, trazendo dados de um DataSet e pronto, mas claro que existiram situações onde você talvez necessita customizar algo e ai codificar será inevitável.</p>
<p>Assim sendo resolvi escrever este post e mostra um exemplo simples de como seria criar gráficos sem estar conectado a DataSet, ou seja, passar os dados a partir de um array ou algo parecido. O resultado final será o gráfico abaixo, onde se compara mês a mês o resultado das vendas de 2008 e 2009, além disso para cada mês temos o percentual que representou aquele mês no ano.</p>
<p style="text-align: center;"><a href="http://www.andreanolanusse.com/blogpt/wp-content/uploads/2010/02/my.png"><img class="aligncenter size-full wp-image-705" title="TeeChart" src="http://www.andreanolanusse.com/blogpt/wp-content/uploads/2010/02/my.png" alt="" width="712" height="508" /></a></p>
<p>Vamos agora conhecer o código e saber como foi implementando este gráfico, ao final você poderá baixar os fontes.</p>
<p>Antes de mais nada, este é uma aplicação VCL, onde foi adicionado o componente TChart e com o botão direito selecione a opção Edit Chart, adicione duas séries através do botão Add, neste exemplo utilizei gráficos de barra.</p>
<p>A fonte de dados deste gráfico é um array que contém o total vendas para cada mês.</p>
<pre class="brush: pascal;">var
  i: Integer;
  val : Array[1..12] of Double;
begin

  val[1] := 10.2;
  val[2] := 12.2;
  val[3] := 11.7;
  val[4] := 6.3;
  val[5] := 8.0;
  val[6] := 2.9;
  val[7] := 20.3;
  val[8] := 1.4;
  val[9] := 4.5;
  val[10] := 6;
  val[11] := 10;
  val[12] := 15;</pre>
<p>Após a definição da fonte de dados, remove os dados adicionados em tempo de runtime para as duas séries existentes, uma referente ao ano de 2008 e outra ao ano de 2009. Além disso defino que o estilo de apresentação dos valores para cada barra será <strong>percentual</strong>, isso quer dizer que será apresentado o quanto representa o total do mês no faturamento anual.</p>
<pre class="brush: pascal;">  Series2008.Clear;
  Series2008.Marks.Style := smsPercent;

  Series2009.Clear;
  Series2009.Marks.Style := smsPercent;</pre>
<p>Depois disso vamos basta adicionar os valores de venda mensal para cada série (2008, 2009), repare que estou utilizando o array LongMonthNames para o obter o nome do mês, no meu caso os nomes aparecem em inglês, pois utilizo windows em inglês, ou seja, ele depende da versão do idioma do seu Windows, caso não queira depender do idioma do seu sistema operacional, basta sobrepor os valores para cada posição do Array.</p>
<p>Método Add foi utilizado para adicionar os valores, caso você queira customizar a cor de cada barra, basta adicionar uma cor como terceiro parâmetro ao método Add.</p>
<pre class="brush: pascal;">for i := 1 to 12 do
begin
Series2008.Add(val[i], LongMonthNames[i]);
end;

for I := 1 to 12 do
begin
Series2009.Add(val[i] / (1.45+(i/10)), LongMonthNames[i]);
end;</pre>
<p>Espero que este simples e objetivo exemplo seja útil, o código fonte está disponível <a href="http://cc.embarcadero.com/Author/38483" target="_blank"><strong>aqui</strong></a>.</p>
<h2  class="related_post_title">Posts relacionados</h2><ul class="related_post"><li><a href="http://www.andreanolanusse.com/blogpt/utilizando-expressoes-regulares-para-validar-endereco-ip-no-delphi-xe/" title="Utilizando expressões regulares para validar endereço IP no Delphi XE">Utilizando expressões regulares para validar endereço IP no Delphi XE</a></li><li><a href="http://www.andreanolanusse.com/blogpt/ao-comprar-delphi-xe-aka-delphi-2011-voce-recebe-as-versoes-do-delphi-7-2007-2009-e-2010/" title="Ao comprar Delphi XE (aka Delphi 2011) você recebe as versões do Delphi 7, 2007, 2009 e 2010">Ao comprar Delphi XE (aka Delphi 2011) você recebe as versões do Delphi 7, 2007, 2009 e 2010</a></li><li><a href="http://www.andreanolanusse.com/blogpt/teste-nosso-servidor-datasnap-xe-instalado-no-amazon-cloud/" title="Teste nosso servidor DataSnap XE instalado no Amazon Cloud">Teste nosso servidor DataSnap XE instalado no Amazon Cloud</a></li><li><a href="http://www.andreanolanusse.com/blogpt/disponibilizada-nova-versao-do-delphi-xe-cbuilder-xe-delphi-prism-xe-e-radphp-xe/" title="Disponibilizada nova versão do Delphi XE, C++Builder XE, Delphi Prism XE e RadPHP XE">Disponibilizada nova versão do Delphi XE, C++Builder XE, Delphi Prism XE e RadPHP XE</a></li><li><a href="http://www.andreanolanusse.com/blogpt/datasnap-xe-e-windows-azure-preview-3/" title="DataSnap XE e Windows Azure &#8211; RAD Studio XE Preview #3">DataSnap XE e Windows Azure &#8211; RAD Studio XE Preview #3</a></li><li><a href="http://www.andreanolanusse.com/blogpt/desenvolvimento-agil-delphi-xe-cbuilder-xe-delphi-prism-xe-radphp-xe/" title="Desenvolvimento Ágil = Delphi XE + C++Builder XE + Delphi Prism XE + RadPHP XE">Desenvolvimento Ágil = Delphi XE + C++Builder XE + Delphi Prism XE + RadPHP XE</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.andreanolanusse.com/blogpt/criando-graficos-em-sua-aplicacao-delphi-com-teechart/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
