<?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>Blog Patrick Espake &#187; form</title>
	<atom:link href="http://blog.patrickespake.com/tag/form/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.patrickespake.com</link>
	<description>O conhecimento evolui quando é compartilhado!</description>
	<lastBuildDate>Fri, 03 Sep 2010 04:24:02 +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>Ruby on Rails conversão de datas com I18n</title>
		<link>http://blog.patrickespake.com/2009/11/09/ruby-on-rails-conversao-de-datas-com-i18n/</link>
		<comments>http://blog.patrickespake.com/2009/11/09/ruby-on-rails-conversao-de-datas-com-i18n/#comments</comments>
		<pubDate>Mon, 09 Nov 2009 19:37:14 +0000</pubDate>
		<dc:creator>patrickespake</dc:creator>
				<category><![CDATA[Ruby on Rails]]></category>
		<category><![CDATA[aplicação]]></category>
		<category><![CDATA[banco de dados]]></category>
		<category><![CDATA[conversão]]></category>
		<category><![CDATA[data]]></category>
		<category><![CDATA[date picker]]></category>
		<category><![CDATA[datepicker]]></category>
		<category><![CDATA[default_locale]]></category>
		<category><![CDATA[form]]></category>
		<category><![CDATA[format]]></category>
		<category><![CDATA[formulário]]></category>
		<category><![CDATA[I18n]]></category>
		<category><![CDATA[javascripts]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[mask]]></category>
		<category><![CDATA[new_record]]></category>
		<category><![CDATA[pt-BR]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[tag]]></category>
		<category><![CDATA[text_field]]></category>
		<category><![CDATA[value]]></category>
		<category><![CDATA[yaml]]></category>

		<guid isPermaLink="false">http://blog.patrickespake.com/?p=1064</guid>
		<description><![CDATA[Eu estou desenvolvendo uma aplicação que precisa trabalhar com datas com I18n e fazer conversões para salvar a data no banco de dados e exibir para o usuário de acordo com o seu idioma. Eu estou usando o Date Picker do jQuery em um campo do tipo text_field. Vou mostrar um esboço de como eu [...]]]></description>
			<content:encoded><![CDATA[<p>Eu estou desenvolvendo uma aplicação que precisa trabalhar com datas com I18n e fazer conversões para salvar a data no banco de dados e exibir para o usuário de acordo com o seu idioma.</p>
<p>Eu estou usando o Date Picker do jQuery em um campo do tipo text_field.</p>
<p><img src="http://blog.patrickespake.com/wp-content/uploads/2009/11/datepicker.jpg" alt="datepicker" title="datepicker" width="318" height="265" class="aligncenter size-full wp-image-1068" /></p>
<p>Vou mostrar um esboço de como eu fiz isso, em primeiro lugar eu defini no arquivo config/environment.rb o idioma:</p>

<div class="wp_syntax"><div class="code"><pre class="ruby" style="font-family:monospace;">config.<span style="color:#9900CC;">i18n</span>.<span style="color:#9900CC;">default_locale</span> = <span style="color:#996600;">'pt-BR'</span></pre></div></div>

<p>Depois eu defini no arquivo config/locales/pt-BR.yml os formatos de data:</p>

<div class="wp_syntax"><div class="code"><pre class="yaml" style="font-family:monospace;">pt-BR:
  date:
    formats:
      default: &quot;%d/%m/%Y&quot;
      short: &quot;%d de %B&quot;
      long: &quot;%d de %B de %Y&quot;
&nbsp;
    day_names: [Domingo, Segunda, Terça, Quarta, Quinta, Sexta, Sábado]
    abbr_day_names: [Dom, Seg, Ter, Qua, Qui, Sex, Sáb]
    month_names: [~, Janeiro, Fevereiro, Março, Abril, Maio, Junho, Julho, Agosto, Setembro, Outubro, Novembro, Dezembro]
    abbr_month_names: [~, Jan, Fev, Mar, Abr, Mai, Jun, Jul, Ago, Set, Out, Nov, Dez]
    order: [ :day, :month, :year ]</pre></div></div>

<p>No meu formulário eu deixei assim:</p>

<div class="wp_syntax"><div class="code"><pre class="ruby" style="font-family:monospace;"><span style="color:#006600; font-weight:bold;">&lt;%</span> content_for <span style="color:#ff3333; font-weight:bold;">:javascripts</span> <span style="color:#9966CC; font-weight:bold;">do</span> <span style="color:#006600; font-weight:bold;">%&gt;</span>
  <span style="color:#006600; font-weight:bold;">&lt;%</span>= include_jquery <span style="color:#006600; font-weight:bold;">%&gt;</span>
  <span style="color:#006600; font-weight:bold;">&lt;%</span>= javascript_include_tag <span style="color:#996600;">&quot;jquery.maskedinput-1.2.2.min&quot;</span> <span style="color:#006600; font-weight:bold;">%&gt;</span>
  <span style="color:#006600; font-weight:bold;">&lt;%</span> javascript_tag <span style="color:#9966CC; font-weight:bold;">do</span> <span style="color:#006600; font-weight:bold;">%&gt;</span>
    $(document).ready(function() {
      // Adiciona date picker ao campo data de nascimento
      $.datepicker.setDefaults($.extend({showMonthAfterYear: false}, $.datepicker.regional['<span style="color:#006600; font-weight:bold;">&lt;%</span>= I18n.<span style="color:#9900CC;">locale</span> <span style="color:#006600; font-weight:bold;">%&gt;</span>']));
      $(&quot;#investor_date_of_birth&quot;).datepicker({
        showOn: 'both',
        buttonImage: '/images/calendar.gif',
        buttonImageOnly: false,
        buttonText: '<span style="color:#006600; font-weight:bold;">&lt;%</span>= t<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#996600;">'ui.admin.crud.datepicker_button_text'</span><span style="color:#006600; font-weight:bold;">&#41;</span> <span style="color:#006600; font-weight:bold;">%&gt;</span>',
        changeMonth: true,
        changeYear: true,
        yearRange: '1900:<span style="color:#006600; font-weight:bold;">&lt;%</span>= <span style="color:#CC00FF; font-weight:bold;">Time</span>.<span style="color:#9900CC;">now</span>.<span style="color:#9900CC;">year</span> <span style="color:#006600; font-weight:bold;">%&gt;</span>'
      });
&nbsp;
      // Adiciona mascara ao campo data de nascimento
      $(&quot;#investor_date_of_birth&quot;).mask(&quot;99/99/9999&quot;);
    });
  <span style="color:#006600; font-weight:bold;">&lt;%</span> <span style="color:#9966CC; font-weight:bold;">end</span> <span style="color:#006600; font-weight:bold;">%&gt;</span>
<span style="color:#006600; font-weight:bold;">&lt;%</span> <span style="color:#9966CC; font-weight:bold;">end</span> <span style="color:#006600; font-weight:bold;">%&gt;</span>
&nbsp;
<span style="color:#006600; font-weight:bold;">&lt;%</span> form_for <span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#ff3333; font-weight:bold;">:admin</span>, <span style="color:#0066ff; font-weight:bold;">@investor</span><span style="color:#006600; font-weight:bold;">&#93;</span> <span style="color:#9966CC; font-weight:bold;">do</span> <span style="color:#006600; font-weight:bold;">|</span>f<span style="color:#006600; font-weight:bold;">|</span> <span style="color:#006600; font-weight:bold;">-%&gt;</span>
  <span style="color:#006600; font-weight:bold;">&lt;%</span>= f.<span style="color:#9900CC;">error_messages</span> <span style="color:#006600; font-weight:bold;">%&gt;</span>
&nbsp;
  <span style="color:#006600; font-weight:bold;">&lt;%</span>= f.<span style="color:#9900CC;">label</span> <span style="color:#ff3333; font-weight:bold;">:date_of_birth</span> <span style="color:#006600; font-weight:bold;">%&gt;</span>
&nbsp;
  <span style="color:#006600; font-weight:bold;">&lt;%</span> <span style="color:#9966CC; font-weight:bold;">if</span> <span style="color:#0066ff; font-weight:bold;">@investor</span>.<span style="color:#9900CC;">new_record</span>? <span style="color:#006600; font-weight:bold;">%&gt;</span>
    <span style="color:#006600; font-weight:bold;">&lt;%</span>= f.<span style="color:#9900CC;">text_field</span> <span style="color:#ff3333; font-weight:bold;">:date_of_birth</span>, <span style="color:#ff3333; font-weight:bold;">:class</span> <span style="color:#006600; font-weight:bold;">=&gt;</span> <span style="color:#996600;">&quot;smallInput&quot;</span> <span style="color:#006600; font-weight:bold;">%&gt;</span>
  <span style="color:#006600; font-weight:bold;">&lt;%</span> <span style="color:#9966CC; font-weight:bold;">else</span> <span style="color:#006600; font-weight:bold;">%&gt;</span>
    <span style="color:#006600; font-weight:bold;">&lt;%</span>= f.<span style="color:#9900CC;">text_field</span> <span style="color:#ff3333; font-weight:bold;">:date_of_birth</span>, <span style="color:#ff3333; font-weight:bold;">:value</span> <span style="color:#006600; font-weight:bold;">=&gt;</span> l<span style="color:#006600; font-weight:bold;">&#40;</span>@investor.<span style="color:#9900CC;">date_of_birth</span>, <span style="color:#ff3333; font-weight:bold;">:format</span> <span style="color:#006600; font-weight:bold;">=&gt;</span> <span style="color:#ff3333; font-weight:bold;">:default</span><span style="color:#006600; font-weight:bold;">&#41;</span>, <span style="color:#ff3333; font-weight:bold;">:class</span> <span style="color:#006600; font-weight:bold;">=&gt;</span> <span style="color:#996600;">&quot;smallInput&quot;</span> <span style="color:#006600; font-weight:bold;">%&gt;</span>
  <span style="color:#006600; font-weight:bold;">&lt;%</span> <span style="color:#9966CC; font-weight:bold;">end</span> <span style="color:#006600; font-weight:bold;">%&gt;</span>
<span style="color:#006600; font-weight:bold;">&lt;%</span> <span style="color:#9966CC; font-weight:bold;">end</span> <span style="color:#006600; font-weight:bold;">%&gt;</span></pre></div></div>

<p>Caso exista o registro é realizado a conversão para exibir a data corretamente no formulário, não é necessário fazer conversão para salvar no banco de dados, o Rails já faz isso automaticamente.</p>
<p>Se você gostou desse texto e acha que ajudou você, me recomende: <a href="http://www.workingwithrails.com/recommendation/new/person/15479-patrick-espake"><img src="http://workingwithrails.com/images/tools/compact-small-button.jpg" alt="Recommend Me" /></a>.</p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save"><img src="http://blog.patrickespake.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://blog.patrickespake.com/2009/11/09/ruby-on-rails-conversao-de-datas-com-i18n/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Ruby on Rails plugin tableless_model</title>
		<link>http://blog.patrickespake.com/2009/08/11/ruby-on-rails-plugin-tableless_model/</link>
		<comments>http://blog.patrickespake.com/2009/08/11/ruby-on-rails-plugin-tableless_model/#comments</comments>
		<pubDate>Tue, 11 Aug 2009 17:15:04 +0000</pubDate>
		<dc:creator>patrickespake</dc:creator>
				<category><![CDATA[Plugins]]></category>
		<category><![CDATA[Ruby on Rails]]></category>
		<category><![CDATA[:binary]]></category>
		<category><![CDATA[:boolean]]></category>
		<category><![CDATA[:datetime]]></category>
		<category><![CDATA[:timestamp]]></category>
		<category><![CDATA[activerecord]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[browser]]></category>
		<category><![CDATA[código fonte]]></category>
		<category><![CDATA[column]]></category>
		<category><![CDATA[column_name:sql_type]]></category>
		<category><![CDATA[contact]]></category>
		<category><![CDATA[contacts]]></category>
		<category><![CDATA[contato]]></category>
		<category><![CDATA[controller]]></category>
		<category><![CDATA[create]]></category>
		<category><![CDATA[Date]]></category>
		<category><![CDATA[decimal]]></category>
		<category><![CDATA[destroy]]></category>
		<category><![CDATA[documentação]]></category>
		<category><![CDATA[erb]]></category>
		<category><![CDATA[exemplo]]></category>
		<category><![CDATA[exemplos]]></category>
		<category><![CDATA[fixture]]></category>
		<category><![CDATA[float]]></category>
		<category><![CDATA[form]]></category>
		<category><![CDATA[formulários]]></category>
		<category><![CDATA[form_for]]></category>
		<category><![CDATA[generate]]></category>
		<category><![CDATA[generators]]></category>
		<category><![CDATA[geradores]]></category>
		<category><![CDATA[github]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[instalação]]></category>
		<category><![CDATA[install]]></category>
		<category><![CDATA[integer]]></category>
		<category><![CDATA[label]]></category>
		<category><![CDATA[navegador]]></category>
		<category><![CDATA[new]]></category>
		<category><![CDATA[patrickespake]]></category>
		<category><![CDATA[Plugin]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[rb]]></category>
		<category><![CDATA[recursos]]></category>
		<category><![CDATA[resources]]></category>
		<category><![CDATA[restful]]></category>
		<category><![CDATA[rotas]]></category>
		<category><![CDATA[routes]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[sem banco de dados]]></category>
		<category><![CDATA[server]]></category>
		<category><![CDATA[string]]></category>
		<category><![CDATA[submit]]></category>
		<category><![CDATA[TablelessModel]]></category>
		<category><![CDATA[tableless_model]]></category>
		<category><![CDATA[tableless_scaffold]]></category>
		<category><![CDATA[test]]></category>
		<category><![CDATA[text]]></category>
		<category><![CDATA[text_area]]></category>
		<category><![CDATA[text_field]]></category>
		<category><![CDATA[Time]]></category>
		<category><![CDATA[validações]]></category>
		<category><![CDATA[validates_format_of]]></category>
		<category><![CDATA[validates_length_of]]></category>
		<category><![CDATA[validates_presence_of]]></category>
		<category><![CDATA[validations]]></category>

		<guid isPermaLink="false">http://blog.patrickespake.com/?p=934</guid>
		<description><![CDATA[tableless_model Ruby on Rails model sem banco de dados, com todo o poder do ActiveRecord e validações. A principal utilidade é usar em formulários que não precisam de banco de dados, mas precisam das validações do ActiveRecord, form_for e rotas RESTful. Por exemplo formulário de contato. Instalação ./script/plugin install git://github.com/patrickespake/tableless_model.git Geradores Gerador tableless_model Cria o [...]]]></description>
			<content:encoded><![CDATA[<p><strong>tableless_model</strong></p>
<p>Ruby on Rails model sem banco de dados, com todo o poder do ActiveRecord e validações.</p>
<p>A principal utilidade é usar em formulários que não precisam de banco de dados, mas precisam das validações do ActiveRecord, form_for e rotas RESTful. Por exemplo formulário de contato.</p>
<p><strong>Instalação</strong></p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">.<span style="color: #000000; font-weight: bold;">/</span>script<span style="color: #000000; font-weight: bold;">/</span>plugin <span style="color: #c20cb9; font-weight: bold;">install</span> git:<span style="color: #000000; font-weight: bold;">//</span>github.com<span style="color: #000000; font-weight: bold;">/</span>patrickespake<span style="color: #000000; font-weight: bold;">/</span>tableless_model.git</pre></div></div>

<p><strong>Geradores</strong></p>
<p><strong>Gerador tableless_model</strong></p>
<p>Cria o esboço de um novo tableless model. Passe o nome do tableless model, em CamelCased ou under_scored, e uma lista de pares de atributos opcionais como argumentos.</p>
<p>Os atributos pares opcionais são column_name:sql_type como argumentos, especificando os atributos do tableless model.</p>
<p>Você não tem que pensar em cada atributos lá na frente, mas ajuda a esboçar um pouco para que você possa começar a trabalhar com o tableless model imediatamente.</p>
<p>Isto gera uma classe tableless model em app/models, um teste de unidade em test/unit e uma fixture em test/fixtures/singular_name.yml</p>
<p><strong>Exemplos:</strong></p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">.<span style="color: #000000; font-weight: bold;">/</span>script<span style="color: #000000; font-weight: bold;">/</span>generate tableless_model contact</pre></div></div>

<p>Cria o tableless model Contact, test e fixture:</p>
<ul>
<li>Model: app/models/contact.rb</li>
<li>Test: test/unit/contact_test.rb</li>
<li>Fixtures: test/fixtures/contacts.yml</li>
</ul>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">.<span style="color: #000000; font-weight: bold;">/</span>script<span style="color: #000000; font-weight: bold;">/</span>generate tableless_model invite name:string body:text email:string</pre></div></div>

<p>Cria o tableless model Invite com a string name, text body e string email.</p>
<p><strong>Gerador tableless_scaffold</strong></p>
<p>Tableless scaffolds é composto por vários recursos, a partir do model, controller e views, juntamente com um conjunto completo de testes. O recurso está pronto para ser usado como um ponto de partida, sendo RESTful, orientado para o pedido.</p>
<p>Passe o nome do tableless model (na forma singular), em CamelCased ou under_scored, como primeiro argumento, e uma lista de pares de atributos opcionais.</p>
<p>Os pares de atributos opcionais são column_name:sql_type, especificando os atributos do modelo.</p>
<p>Você não tem que pensar em cada atributo lá na frente, mas ajuda esboçar um pouco para que você possa começar a trabalhar com os recursos imediatamente.</p>
<p>Por exemplo &#8216;tableless_scaffold contact name:string telephone:string firm:string email:string message:text&#8217; dá-lhe um tableless model com cinco atributos, um controlador para lidar com a criação, formulário para criar os contatos e routas declaradas em config/routes.rb.</p>
<p>Se você quiser remover todos os arquivos gerados, execute:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">script<span style="color: #000000; font-weight: bold;">/</span>destroy scaffold ModelName</pre></div></div>

<p><strong>Exemplos:</strong></p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">.<span style="color: #000000; font-weight: bold;">/</span>script<span style="color: #000000; font-weight: bold;">/</span>generate tableless_scaffold invite</pre></div></div>


<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">.<span style="color: #000000; font-weight: bold;">/</span>script<span style="color: #000000; font-weight: bold;">/</span>generate tableless_scaffold contact name:string telephone:string firm:string email:string message:text</pre></div></div>

<p><strong>Tipos de colunas disponíveis nos tableless_models</strong></p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
</pre></td><td class="code"><pre class="ruby" style="font-family:monospace;"><span style="color:#9966CC; font-weight:bold;">class</span> ModelName <span style="color:#006600; font-weight:bold;">&lt;</span> TablelessModel
  column <span style="color:#ff3333; font-weight:bold;">:column_name1</span>, <span style="color:#ff3333; font-weight:bold;">:column_type</span>
  column <span style="color:#ff3333; font-weight:bold;">:column_name2</span>, <span style="color:#ff3333; font-weight:bold;">:column_type</span>
  column <span style="color:#ff3333; font-weight:bold;">:column_name3</span>, <span style="color:#ff3333; font-weight:bold;">:column_type</span>
  column <span style="color:#ff3333; font-weight:bold;">:column_nameN</span>, <span style="color:#ff3333; font-weight:bold;">:column_type</span>
  ...
<span style="color:#9966CC; font-weight:bold;">end</span></pre></td></tr></table></div>

<p>Tipos de colunas (column_type) disponíveis:</p>
<ul>
<li>:string</li>
<li>:text</li>
<li>:integer</li>
<li>:float</li>
<li>:decimal</li>
<li>:datetime</li>
<li>:timestamp</li>
<li>:time</li>
<li>:date</li>
<li>:binary</li>
<li>:boolean</li>
</ul>
<p><strong>Validações do ActiveRecord funcionam perfeitamente</strong></p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
</pre></td><td class="code"><pre class="ruby" style="font-family:monospace;"><span style="color:#9966CC; font-weight:bold;">class</span> Contact <span style="color:#006600; font-weight:bold;">&lt;</span> TablelessModel
  column <span style="color:#ff3333; font-weight:bold;">:name</span>, <span style="color:#ff3333; font-weight:bold;">:string</span>
  column <span style="color:#ff3333; font-weight:bold;">:telephone</span>, <span style="color:#ff3333; font-weight:bold;">:string</span>
  column <span style="color:#ff3333; font-weight:bold;">:firm</span>, <span style="color:#ff3333; font-weight:bold;">:string</span>
  column <span style="color:#ff3333; font-weight:bold;">:email</span>, <span style="color:#ff3333; font-weight:bold;">:string</span>
  column <span style="color:#ff3333; font-weight:bold;">:message</span>, <span style="color:#ff3333; font-weight:bold;">:text</span>
&nbsp;
  validates_presence_of <span style="color:#ff3333; font-weight:bold;">:name</span>, <span style="color:#ff3333; font-weight:bold;">:email</span>, <span style="color:#ff3333; font-weight:bold;">:message</span>
  validates_format_of <span style="color:#ff3333; font-weight:bold;">:email</span>, <span style="color:#ff3333; font-weight:bold;">:with</span> <span style="color:#006600; font-weight:bold;">=&gt;</span> <span style="color:#006600; font-weight:bold;">/</span>^<span style="color:#006600; font-weight:bold;">&#91;</span>A<span style="color:#006600; font-weight:bold;">-</span>Z0<span style="color:#006600; font-weight:bold;">-</span>9._<span style="color:#006600; font-weight:bold;">%+-</span><span style="color:#006600; font-weight:bold;">&#93;</span><span style="color:#006600; font-weight:bold;">+</span>@<span style="color:#006600; font-weight:bold;">&#91;</span>A<span style="color:#006600; font-weight:bold;">-</span>Z0<span style="color:#006600; font-weight:bold;">-</span>9.<span style="color:#006600; font-weight:bold;">-</span><span style="color:#006600; font-weight:bold;">&#93;</span><span style="color:#006600; font-weight:bold;">+</span>\.<span style="color:#006600; font-weight:bold;">&#91;</span>A<span style="color:#006600; font-weight:bold;">-</span>Z<span style="color:#006600; font-weight:bold;">&#93;</span><span style="color:#006600; font-weight:bold;">&#123;</span><span style="color:#006666;">2</span>,<span style="color:#006666;">4</span><span style="color:#006600; font-weight:bold;">&#125;</span>$<span style="color:#006600; font-weight:bold;">/</span>i
  validates_length_of <span style="color:#ff3333; font-weight:bold;">:message</span>, <span style="color:#ff3333; font-weight:bold;">:minimum</span> <span style="color:#006600; font-weight:bold;">=&gt;</span> <span style="color:#006666;">3</span>
<span style="color:#9966CC; font-weight:bold;">end</span></pre></td></tr></table></div>

<p><strong>Exemplo completo usando tableless_scaffold gerador</strong></p>
<p>Criar o tableless scaffold</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">.<span style="color: #000000; font-weight: bold;">/</span>script<span style="color: #000000; font-weight: bold;">/</span>generate tableless_scaffold contact name:string telephone:string firm:string email:string message:text</pre></div></div>

<p>Adicionar as validações no model</p>
<p>Abra o arquivo app/models/contact.rb e adicione as validações:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
</pre></td><td class="code"><pre class="ruby" style="font-family:monospace;"><span style="color:#9966CC; font-weight:bold;">class</span> Contact <span style="color:#006600; font-weight:bold;">&lt;</span> TablelessModel
  column <span style="color:#ff3333; font-weight:bold;">:name</span>, <span style="color:#ff3333; font-weight:bold;">:string</span>
  column <span style="color:#ff3333; font-weight:bold;">:telephone</span>, <span style="color:#ff3333; font-weight:bold;">:string</span>
  column <span style="color:#ff3333; font-weight:bold;">:firm</span>, <span style="color:#ff3333; font-weight:bold;">:string</span>
  column <span style="color:#ff3333; font-weight:bold;">:email</span>, <span style="color:#ff3333; font-weight:bold;">:string</span>
  column <span style="color:#ff3333; font-weight:bold;">:message</span>, <span style="color:#ff3333; font-weight:bold;">:text</span>
&nbsp;
  <span style="color:#008000; font-style:italic;"># Validations</span>
  validates_presence_of <span style="color:#ff3333; font-weight:bold;">:name</span>, <span style="color:#ff3333; font-weight:bold;">:email</span>, <span style="color:#ff3333; font-weight:bold;">:message</span>
  validates_format_of <span style="color:#ff3333; font-weight:bold;">:email</span>, <span style="color:#ff3333; font-weight:bold;">:with</span> <span style="color:#006600; font-weight:bold;">=&gt;</span> <span style="color:#006600; font-weight:bold;">/</span>^<span style="color:#006600; font-weight:bold;">&#91;</span>A<span style="color:#006600; font-weight:bold;">-</span>Z0<span style="color:#006600; font-weight:bold;">-</span>9._<span style="color:#006600; font-weight:bold;">%+-</span><span style="color:#006600; font-weight:bold;">&#93;</span><span style="color:#006600; font-weight:bold;">+</span>@<span style="color:#006600; font-weight:bold;">&#91;</span>A<span style="color:#006600; font-weight:bold;">-</span>Z0<span style="color:#006600; font-weight:bold;">-</span>9.<span style="color:#006600; font-weight:bold;">-</span><span style="color:#006600; font-weight:bold;">&#93;</span><span style="color:#006600; font-weight:bold;">+</span>\.<span style="color:#006600; font-weight:bold;">&#91;</span>A<span style="color:#006600; font-weight:bold;">-</span>Z<span style="color:#006600; font-weight:bold;">&#93;</span><span style="color:#006600; font-weight:bold;">&#123;</span><span style="color:#006666;">2</span>,<span style="color:#006666;">4</span><span style="color:#006600; font-weight:bold;">&#125;</span>$<span style="color:#006600; font-weight:bold;">/</span>i
  validates_length_of <span style="color:#ff3333; font-weight:bold;">:message</span>, <span style="color:#ff3333; font-weight:bold;">:minimum</span> <span style="color:#006600; font-weight:bold;">=&gt;</span> <span style="color:#006666;">3</span>
<span style="color:#9966CC; font-weight:bold;">end</span></pre></td></tr></table></div>

<p>Execute</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">.<span style="color: #000000; font-weight: bold;">/</span>script<span style="color: #000000; font-weight: bold;">/</span>server</pre></div></div>

<p>Abra o seu navegador em: <a href="http://localhost:3000/contacts/new">http://localhost:3000/contacts/new</a></p>
<p><strong>Exemplo completo usando tableless_model gerador</strong></p>
<p>Criar tableless model</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">.<span style="color: #000000; font-weight: bold;">/</span>script<span style="color: #000000; font-weight: bold;">/</span>generate tableless_model contact name:string telephone:string firm:string email:string message:text</pre></div></div>

<p>Adicionar as validações no model</p>
<p>Abra o arquivo app/models/contact.rb e adicione as validações:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
</pre></td><td class="code"><pre class="ruby" style="font-family:monospace;"><span style="color:#9966CC; font-weight:bold;">class</span> Contact <span style="color:#006600; font-weight:bold;">&lt;</span> TablelessModel
  column <span style="color:#ff3333; font-weight:bold;">:name</span>, <span style="color:#ff3333; font-weight:bold;">:string</span>
  column <span style="color:#ff3333; font-weight:bold;">:telephone</span>, <span style="color:#ff3333; font-weight:bold;">:string</span>
  column <span style="color:#ff3333; font-weight:bold;">:firm</span>, <span style="color:#ff3333; font-weight:bold;">:string</span>
  column <span style="color:#ff3333; font-weight:bold;">:email</span>, <span style="color:#ff3333; font-weight:bold;">:string</span>
  column <span style="color:#ff3333; font-weight:bold;">:message</span>, <span style="color:#ff3333; font-weight:bold;">:text</span>
&nbsp;
  <span style="color:#008000; font-style:italic;"># Validations</span>
  validates_presence_of <span style="color:#ff3333; font-weight:bold;">:name</span>, <span style="color:#ff3333; font-weight:bold;">:email</span>, <span style="color:#ff3333; font-weight:bold;">:message</span>
  validates_format_of <span style="color:#ff3333; font-weight:bold;">:email</span>, <span style="color:#ff3333; font-weight:bold;">:with</span> <span style="color:#006600; font-weight:bold;">=&gt;</span> <span style="color:#006600; font-weight:bold;">/</span>^<span style="color:#006600; font-weight:bold;">&#91;</span>A<span style="color:#006600; font-weight:bold;">-</span>Z0<span style="color:#006600; font-weight:bold;">-</span>9._<span style="color:#006600; font-weight:bold;">%+-</span><span style="color:#006600; font-weight:bold;">&#93;</span><span style="color:#006600; font-weight:bold;">+</span>@<span style="color:#006600; font-weight:bold;">&#91;</span>A<span style="color:#006600; font-weight:bold;">-</span>Z0<span style="color:#006600; font-weight:bold;">-</span>9.<span style="color:#006600; font-weight:bold;">-</span><span style="color:#006600; font-weight:bold;">&#93;</span><span style="color:#006600; font-weight:bold;">+</span>\.<span style="color:#006600; font-weight:bold;">&#91;</span>A<span style="color:#006600; font-weight:bold;">-</span>Z<span style="color:#006600; font-weight:bold;">&#93;</span><span style="color:#006600; font-weight:bold;">&#123;</span><span style="color:#006666;">2</span>,<span style="color:#006666;">4</span><span style="color:#006600; font-weight:bold;">&#125;</span>$<span style="color:#006600; font-weight:bold;">/</span>i
  validates_length_of <span style="color:#ff3333; font-weight:bold;">:message</span>, <span style="color:#ff3333; font-weight:bold;">:minimum</span> <span style="color:#006600; font-weight:bold;">=&gt;</span> <span style="color:#006666;">3</span>
<span style="color:#9966CC; font-weight:bold;">end</span></pre></td></tr></table></div>

<p>Criar o controlador</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">.<span style="color: #000000; font-weight: bold;">/</span>script<span style="color: #000000; font-weight: bold;">/</span>generate controller contacts new create</pre></div></div>

<p>Adicionar os códigos das actions:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
</pre></td><td class="code"><pre class="ruby" style="font-family:monospace;"><span style="color:#9966CC; font-weight:bold;">class</span> ContactController <span style="color:#006600; font-weight:bold;">&lt;</span> ApplicationController
  <span style="color:#9966CC; font-weight:bold;">def</span> new
    <span style="color:#0066ff; font-weight:bold;">@contact</span> = Contact.<span style="color:#9900CC;">new</span>
  <span style="color:#9966CC; font-weight:bold;">end</span>
&nbsp;
  <span style="color:#9966CC; font-weight:bold;">def</span> create
    <span style="color:#0066ff; font-weight:bold;">@contact</span> = Contact.<span style="color:#9900CC;">new</span><span style="color:#006600; font-weight:bold;">&#40;</span>params<span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#ff3333; font-weight:bold;">:contact</span><span style="color:#006600; font-weight:bold;">&#93;</span><span style="color:#006600; font-weight:bold;">&#41;</span>
&nbsp;
    <span style="color:#9966CC; font-weight:bold;">if</span> <span style="color:#0066ff; font-weight:bold;">@contact</span>.<span style="color:#9900CC;">save</span> <span style="color:#008000; font-style:italic;"># or @contact.valid?</span>
      flash<span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#ff3333; font-weight:bold;">:notice</span><span style="color:#006600; font-weight:bold;">&#93;</span> = <span style="color:#996600;">&quot;Contact email sent successfully.&quot;</span>
&nbsp;
      <span style="color:#008000; font-style:italic;"># Send contact email</span>
      <span style="color:#008000; font-style:italic;">#MyMailer.deliver_contact(@contact)</span>
&nbsp;
      redirect_to new_contact_path
    <span style="color:#9966CC; font-weight:bold;">else</span>
      render <span style="color:#ff3333; font-weight:bold;">:action</span> <span style="color:#006600; font-weight:bold;">=&gt;</span> <span style="color:#996600;">&quot;new&quot;</span>
    <span style="color:#9966CC; font-weight:bold;">end</span>
  <span style="color:#9966CC; font-weight:bold;">end</span>
<span style="color:#9966CC; font-weight:bold;">end</span></pre></td></tr></table></div>

<p>Criar as routas para os contacts</p>
<p>Abra o arquivo config/routes.rb e adicione a linha:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
</pre></td><td class="code"><pre class="ruby" style="font-family:monospace;"><span style="color:#6666ff; font-weight:bold;">ActionController::Routing::Routes</span>.<span style="color:#9900CC;">draw</span> <span style="color:#9966CC; font-weight:bold;">do</span> <span style="color:#006600; font-weight:bold;">|</span>map<span style="color:#006600; font-weight:bold;">|</span>
  map.<span style="color:#9900CC;">resources</span> <span style="color:#ff3333; font-weight:bold;">:contacts</span>, <span style="color:#ff3333; font-weight:bold;">:only</span> <span style="color:#006600; font-weight:bold;">=&gt;</span> <span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#ff3333; font-weight:bold;">:new</span>, <span style="color:#ff3333; font-weight:bold;">:create</span><span style="color:#006600; font-weight:bold;">&#93;</span>
  ...
<span style="color:#9966CC; font-weight:bold;">end</span></pre></td></tr></table></div>

<p>Criar o formulário de contato</p>
<p>Abra o arquivo app/views/contacts/new.html.erb e adicione o conteúdo:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
</pre></td><td class="code"><pre class="ruby" style="font-family:monospace;"><span style="color:#006600; font-weight:bold;">&lt;%</span> form_for<span style="color:#006600; font-weight:bold;">&#40;</span>@contact<span style="color:#006600; font-weight:bold;">&#41;</span> <span style="color:#9966CC; font-weight:bold;">do</span> <span style="color:#006600; font-weight:bold;">|</span>f<span style="color:#006600; font-weight:bold;">|</span> <span style="color:#006600; font-weight:bold;">%&gt;</span>
  <span style="color:#006600; font-weight:bold;">&lt;%</span>= f.<span style="color:#9900CC;">error_messages</span> <span style="color:#006600; font-weight:bold;">%&gt;</span>
&nbsp;
  <span style="color:#006600; font-weight:bold;">&lt;%</span>= f.<span style="color:#9900CC;">label</span> <span style="color:#ff3333; font-weight:bold;">:name</span> <span style="color:#006600; font-weight:bold;">%&gt;</span>
  <span style="color:#006600; font-weight:bold;">&lt;%</span>= f.<span style="color:#9900CC;">text_field</span> <span style="color:#ff3333; font-weight:bold;">:name</span> <span style="color:#006600; font-weight:bold;">%&gt;</span>
&nbsp;
  <span style="color:#006600; font-weight:bold;">&lt;%</span>= f.<span style="color:#9900CC;">label</span> <span style="color:#ff3333; font-weight:bold;">:telephone</span> <span style="color:#006600; font-weight:bold;">%&gt;</span>
  <span style="color:#006600; font-weight:bold;">&lt;%</span>= f.<span style="color:#9900CC;">text_field</span> <span style="color:#ff3333; font-weight:bold;">:telephone</span> <span style="color:#006600; font-weight:bold;">%&gt;</span>
&nbsp;
  <span style="color:#006600; font-weight:bold;">&lt;%</span>= f.<span style="color:#9900CC;">label</span> <span style="color:#ff3333; font-weight:bold;">:firm</span> <span style="color:#006600; font-weight:bold;">%&gt;</span>
  <span style="color:#006600; font-weight:bold;">&lt;%</span>= f.<span style="color:#9900CC;">text_field</span> <span style="color:#ff3333; font-weight:bold;">:firm</span> <span style="color:#006600; font-weight:bold;">%&gt;</span>
&nbsp;
  <span style="color:#006600; font-weight:bold;">&lt;%</span>= f.<span style="color:#9900CC;">label</span> <span style="color:#ff3333; font-weight:bold;">:email</span> <span style="color:#006600; font-weight:bold;">%&gt;</span>
  <span style="color:#006600; font-weight:bold;">&lt;%</span>= f.<span style="color:#9900CC;">text_field</span> <span style="color:#ff3333; font-weight:bold;">:email</span> <span style="color:#006600; font-weight:bold;">%&gt;</span>
&nbsp;
  <span style="color:#006600; font-weight:bold;">&lt;%</span>= f.<span style="color:#9900CC;">label</span> <span style="color:#ff3333; font-weight:bold;">:message</span> <span style="color:#006600; font-weight:bold;">%&gt;</span>
  <span style="color:#006600; font-weight:bold;">&lt;%</span>= f.<span style="color:#9900CC;">text_area</span> <span style="color:#ff3333; font-weight:bold;">:message</span> <span style="color:#006600; font-weight:bold;">%&gt;</span>
&nbsp;
  <span style="color:#006600; font-weight:bold;">&lt;%</span>= f.<span style="color:#9900CC;">submit</span> <span style="color:#996600;">&quot;Send&quot;</span> <span style="color:#006600; font-weight:bold;">%&gt;</span>
<span style="color:#006600; font-weight:bold;">&lt;%</span> <span style="color:#9966CC; font-weight:bold;">end</span> <span style="color:#006600; font-weight:bold;">%&gt;</span></pre></td></tr></table></div>

<p>Apague o arquivo app/views/contacts/create.html.erb.</p>
<p>Execute</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">.<span style="color: #000000; font-weight: bold;">/</span>script<span style="color: #000000; font-weight: bold;">/</span>server</pre></div></div>

<p>Abra o seu navegador em: <a href="http://localhost:3000/contacts/new">http://localhost:3000/contacts/new</a></p>
<p><strong>Documentação</strong></p>
<p><a href="http://lab.patrickespake.com/tableless_model">http://lab.patrickespake.com/tableless_model</a></p>
<p><strong>Código fonte</strong></p>
<p><a href="http://github.com/patrickespake/tableless_model">http://github.com/patrickespake/tableless_model</a></p>
<p>Se você gostou desse texto e acha que ajudou você, me recomende: <a href="http://www.workingwithrails.com/recommendation/new/person/15479-patrick-espake"><img src="http://workingwithrails.com/images/tools/compact-small-button.jpg" alt="Recommend Me" /></a>.</p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save"><img src="http://blog.patrickespake.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://blog.patrickespake.com/2009/08/11/ruby-on-rails-plugin-tableless_model/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ruby on Rails como colocar um captcha no formulário, instalação e uso do plugin Simple Captcha</title>
		<link>http://blog.patrickespake.com/2009/02/01/ruby-on-rails-como-colocar-um-captcha-no-formulario-instalacao-e-uso-do-plugin-simple-captcha/</link>
		<comments>http://blog.patrickespake.com/2009/02/01/ruby-on-rails-como-colocar-um-captcha-no-formulario-instalacao-e-uso-do-plugin-simple-captcha/#comments</comments>
		<pubDate>Sun, 01 Feb 2009 18:21:27 +0000</pubDate>
		<dc:creator>patrickespake</dc:creator>
				<category><![CDATA[Ruby on Rails]]></category>
		<category><![CDATA[actioncontroller]]></category>
		<category><![CDATA[applicationcontroller]]></category>
		<category><![CDATA[apply_simple_captcha]]></category>
		<category><![CDATA[captcha]]></category>
		<category><![CDATA[db:migrate]]></category>
		<category><![CDATA[expressica]]></category>
		<category><![CDATA[form]]></category>
		<category><![CDATA[formulário]]></category>
		<category><![CDATA[gem]]></category>
		<category><![CDATA[imagemagick]]></category>
		<category><![CDATA[include]]></category>
		<category><![CDATA[instalação]]></category>
		<category><![CDATA[map.simple_captcha]]></category>
		<category><![CDATA[migrate]]></category>
		<category><![CDATA[model]]></category>
		<category><![CDATA[Plugin]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[rake]]></category>
		<category><![CDATA[rmagick]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[rubyforce]]></category>
		<category><![CDATA[save]]></category>
		<category><![CDATA[save_with_captcha]]></category>
		<category><![CDATA[show_simple_captcha]]></category>
		<category><![CDATA[simple catpcha]]></category>
		<category><![CDATA[simple_captcha]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[uso]]></category>
		<category><![CDATA[validate captcha]]></category>

		<guid isPermaLink="false">http://patrickespake.wordpress.com/?p=421</guid>
		<description><![CDATA[Conheço um plugin chamado Simple Captcha, eu acho ele muito bom e satifaz todas as minhas necessidades. Vou explicar como instalar e usar: Instalação ImageMagick e RMagick:: Como o captcha trabalha com geração dinâmica de imagens e necessário instalar essas libs: 1 2 3 sudo apt-get install imagemagick sudo apt-get install libmagick9-dev sudo gem install [...]]]></description>
			<content:encoded><![CDATA[<p>Conheço um plugin chamado <strong>Simple Captcha</strong>, eu acho ele muito bom e satifaz todas as minhas necessidades.</p>
<p>Vou explicar como instalar e usar:</p>
<p><strong>Instalação ImageMagick e RMagick:</strong>:</p>
<p>Como o captcha trabalha com geração dinâmica de imagens e necessário instalar essas libs:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
</pre></td><td class="code"><pre class="ruby" style="font-family:monospace;">sudo apt<span style="color:#006600; font-weight:bold;">-</span>get install imagemagick
sudo apt<span style="color:#006600; font-weight:bold;">-</span>get install libmagick9<span style="color:#006600; font-weight:bold;">-</span>dev
sudo gem install rmagick</pre></td></tr></table></div>

<p><strong>Instalação do plugin Simple Captcha:</strong></p>
<p>No diretório do projeto digite o seguinte:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="ruby" style="font-family:monospace;">ruby script<span style="color:#006600; font-weight:bold;">/</span>plugin install svn:<span style="color:#006600; font-weight:bold;">//</span>rubyforge.<span style="color:#9900CC;">org</span><span style="color:#006600; font-weight:bold;">/</span>var<span style="color:#006600; font-weight:bold;">/</span>svn<span style="color:#006600; font-weight:bold;">/</span>expressica<span style="color:#006600; font-weight:bold;">/</span>plugins<span style="color:#006600; font-weight:bold;">/</span>simple_captcha</pre></td></tr></table></div>

<p><strong>Configuração da aplicação:</strong></p>
<p>No diretório do projeto digite:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="ruby" style="font-family:monospace;">rake simple_captcha:setup</pre></td></tr></table></div>

<p>O comando acima irá criar um arquivo de migração para armazenar os captchas gerados no banco de dados, também irá criar um partial para exibir o captcha na view.</p>
<p>Agora faça o migrate:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="ruby" style="font-family:monospace;">rake db:migrate</pre></td></tr></table></div>

<p>É necessário adicionar uma rota no arquivo <strong>config/routes.rb</strong>, essa rota será responsável por gerar as imagens:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="ruby" style="font-family:monospace;">map.<span style="color:#9900CC;">simple_captcha</span> <span style="color:#996600;">'/simple_captcha/:action'</span>, <span style="color:#ff3333; font-weight:bold;">:controller</span> <span style="color:#006600; font-weight:bold;">=&gt;</span> <span style="color:#996600;">'simple_captcha'</span></pre></td></tr></table></div>

<p>Adicione a seguinte linha no arquivo <strong>app/controllers/application.rb</strong>:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
</pre></td><td class="code"><pre class="ruby" style="font-family:monospace;">ApplicationController <span style="color:#006600; font-weight:bold;">&lt;</span> <span style="color:#6666ff; font-weight:bold;">ActionController::Base</span>
  <span style="color:#9966CC; font-weight:bold;">include</span> <span style="color:#6666ff; font-weight:bold;">SimpleCaptcha::ControllerHelpers</span>
<span style="color:#9966CC; font-weight:bold;">end</span></pre></td></tr></table></div>

<p><strong>Como usar:</strong></p>
<p>No seu formulário na view adicione o seguinte:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="ruby" style="font-family:monospace;"><span style="color:#006600; font-weight:bold;">&lt;%</span>= show_simple_captcha<span style="color:#006600; font-weight:bold;">&#40;</span> : object<span style="color:#006600; font-weight:bold;">=&gt;</span> <span style="color:#996600;">&quot;user&quot;</span> <span style="color:#006600; font-weight:bold;">&#41;</span> <span style="color:#006600; font-weight:bold;">%&gt;</span></pre></td></tr></table></div>

<p>Onde <strong>: object =&gt; &#8220;user&#8221;</strong> é o nome do seu model.<br />
<strong>Obs.: Eu deixei separado o dois pontos, : object =&gt; &#8220;user&#8221; porque o wordpress troca por desenhos smiley, na hora de codificar deixa tudo junto.</strong></p>
<p>No model adicione a seguinte linha:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
</pre></td><td class="code"><pre class="ruby" style="font-family:monospace;"><span style="color:#9966CC; font-weight:bold;">class</span> User <span style="color:#006600; font-weight:bold;">&lt;</span> <span style="color:#6666ff; font-weight:bold;">ActiveRecord::Base</span>
  apply_simple_captcha
<span style="color:#9966CC; font-weight:bold;">end</span></pre></td></tr></table></div>

<p>Agora no controller ao invés de usar:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="ruby" style="font-family:monospace;"><span style="color:#0066ff; font-weight:bold;">@user</span>.<span style="color:#9900CC;">save</span></pre></td></tr></table></div>

<p>Use:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="ruby" style="font-family:monospace;"><span style="color:#0066ff; font-weight:bold;">@user</span>.<span style="color:#9900CC;">save_with_captcha</span></pre></td></tr></table></div>

<p>O método <strong>@user.save</strong> funciona corretamente, mas não leva em consideração o novo campo captcha, por isso é necessário usar o método <strong>@user.save_with_captcha</strong>.</p>
<p>Outras opções de uso e configuração, para ver outras alternativas eu sugiro que leia: <a href="http://expressica.com/simple_captcha/">http://expressica.com/simple_captcha/</a>.</p>
<p>Se você gostou desse texto e acha que ajudou você, me recomende: <a href="http://www.workingwithrails.com/recommendation/new/person/15479-patrick-espake"><img alt="Recommend Me" src="http://workingwithrails.com/images/tools/compact-small-button.jpg" /></a>.</p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save"><img src="http://blog.patrickespake.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://blog.patrickespake.com/2009/02/01/ruby-on-rails-como-colocar-um-captcha-no-formulario-instalacao-e-uso-do-plugin-simple-captcha/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ext JS carregar um combo box a partir de outro combo box</title>
		<link>http://blog.patrickespake.com/2009/01/16/ext-js-carregar-um-combo-box-a-partir-de-outro-combo-box/</link>
		<comments>http://blog.patrickespake.com/2009/01/16/ext-js-carregar-um-combo-box-a-partir-de-outro-combo-box/#comments</comments>
		<pubDate>Fri, 16 Jan 2009 16:05:11 +0000</pubDate>
		<dc:creator>patrickespake</dc:creator>
				<category><![CDATA[Ext JS]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[addlistener]]></category>
		<category><![CDATA[anchor]]></category>
		<category><![CDATA[change]]></category>
		<category><![CDATA[clearvalue]]></category>
		<category><![CDATA[combo box]]></category>
		<category><![CDATA[displayfield]]></category>
		<category><![CDATA[ext]]></category>
		<category><![CDATA[ext.data.httpproxy]]></category>
		<category><![CDATA[ext.data.jsonstore]]></category>
		<category><![CDATA[ext.form.combobox]]></category>
		<category><![CDATA[fieldlabel]]></category>
		<category><![CDATA[fields]]></category>
		<category><![CDATA[forceselection]]></category>
		<category><![CDATA[form]]></category>
		<category><![CDATA[get]]></category>
		<category><![CDATA[global]]></category>
		<category><![CDATA[js]]></category>
		<category><![CDATA[method]]></category>
		<category><![CDATA[obj]]></category>
		<category><![CDATA[onchange]]></category>
		<category><![CDATA[onselect]]></category>
		<category><![CDATA[proxy]]></category>
		<category><![CDATA[record]]></category>
		<category><![CDATA[record.get]]></category>
		<category><![CDATA[removeall]]></category>
		<category><![CDATA[select]]></category>
		<category><![CDATA[sourcecode]]></category>
		<category><![CDATA[store]]></category>
		<category><![CDATA[var]]></category>
		<category><![CDATA[variáveis]]></category>

		<guid isPermaLink="false">http://patrickespake.wordpress.com/?p=336</guid>
		<description><![CDATA[Nesse exemplo será construído dois combo boxs com framework Ext JS, um de estados e outro de cidades. O combo box de cidades será carregado após selecionar o estado, ou seja, será exibido as cidades de um determinado estado. Crie duas variáveis globais: 1 2 var SELECTED_STATE; var CITY_STORE; Crie o data store de estados [...]]]></description>
			<content:encoded><![CDATA[<p>Nesse exemplo será construído dois combo boxs com framework Ext JS, um de estados e outro de cidades.</p>
<p>O combo box de cidades será carregado após selecionar o estado, ou seja, será exibido as cidades de um determinado estado.</p>
<p>Crie duas variáveis globais:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
</pre></td><td class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #003366; font-weight: bold;">var</span> SELECTED_STATE<span style="color: #339933;">;</span>
<span style="color: #003366; font-weight: bold;">var</span> CITY_STORE<span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>Crie o data store de estados e o combo box de estados:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
</pre></td><td class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #003366; font-weight: bold;">var</span> state_store <span style="color: #339933;">=</span> <span style="color: #003366; font-weight: bold;">new</span> Ext.<span style="color: #660066;">data</span>.<span style="color: #660066;">JsonStore</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#123;</span>
  fields<span style="color: #339933;">:</span> <span style="color: #009900;">&#91;</span>
    <span style="color: #009900;">&#123;</span><span style="color: #000066;">name</span><span style="color: #339933;">:</span> <span style="color: #3366CC;">'id'</span><span style="color: #339933;">,</span> type<span style="color: #339933;">:</span> <span style="color: #3366CC;">'int'</span><span style="color: #009900;">&#125;</span><span style="color: #339933;">,</span>
    <span style="color: #009900;">&#123;</span><span style="color: #000066;">name</span><span style="color: #339933;">:</span> <span style="color: #3366CC;">'short'</span><span style="color: #339933;">,</span> type<span style="color: #339933;">:</span> <span style="color: #3366CC;">'string'</span><span style="color: #009900;">&#125;</span>
  <span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span>
  proxy<span style="color: #339933;">:</span> <span style="color: #003366; font-weight: bold;">new</span> Ext.<span style="color: #660066;">data</span>.<span style="color: #660066;">HttpProxy</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#123;</span>
    url<span style="color: #339933;">:</span> <span style="color: #3366CC;">'getStates.php'</span><span style="color: #339933;">,</span>
    method<span style="color: #339933;">:</span> <span style="color: #3366CC;">'GET'</span>
  <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #003366; font-weight: bold;">var</span> state <span style="color: #339933;">=</span> <span style="color: #003366; font-weight: bold;">new</span> Ext.<span style="color: #660066;">form</span>.<span style="color: #660066;">ComboBox</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#123;</span>
  store<span style="color: #339933;">:</span> state_store<span style="color: #339933;">,</span>
  displayField<span style="color: #339933;">:</span> <span style="color: #3366CC;">'short'</span><span style="color: #339933;">,</span>
  fieldLabel<span style="color: #339933;">:</span> <span style="color: #3366CC;">'Estado'</span><span style="color: #339933;">,</span>
  <span style="color: #000066;">name</span><span style="color: #339933;">:</span> <span style="color: #3366CC;">'state'</span><span style="color: #339933;">,</span>
  anchor<span style="color: #339933;">:</span> <span style="color: #3366CC;">'100%'</span><span style="color: #339933;">,</span>
  emptyText<span style="color: #339933;">:</span> <span style="color: #3366CC;">'Selecione o estado...'</span><span style="color: #339933;">,</span>
  typeAhead<span style="color: #339933;">:</span> <span style="color: #003366; font-weight: bold;">true</span><span style="color: #339933;">,</span>
  forceSelection<span style="color: #339933;">:</span> <span style="color: #003366; font-weight: bold;">true</span><span style="color: #339933;">,</span>
  triggerAction<span style="color: #339933;">:</span> <span style="color: #3366CC;">'all'</span><span style="color: #339933;">,</span>
  selectOnFocus<span style="color: #339933;">:</span> <span style="color: #003366; font-weight: bold;">true</span>
<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>Quando o combo box de estado for iniciado, será disparado uma requisição ajax para getStates.php e deve retorna um json de estados com os atributos id e short (usado para o nome curto do estado, por exemplo PR, SP, RJ, &#8230;)</p>
<p>Agora vamos criar o combo box de cidades:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
</pre></td><td class="code"><pre class="javascript" style="font-family:monospace;">CITY_STORE <span style="color: #339933;">=</span> <span style="color: #003366; font-weight: bold;">new</span> Ext.<span style="color: #660066;">data</span>.<span style="color: #660066;">JsonStore</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#123;</span>
  fields<span style="color: #339933;">:</span> <span style="color: #009900;">&#91;</span>
    <span style="color: #009900;">&#123;</span><span style="color: #000066;">name</span><span style="color: #339933;">:</span> <span style="color: #3366CC;">'id'</span><span style="color: #339933;">,</span> type<span style="color: #339933;">:</span> <span style="color: #3366CC;">'int'</span><span style="color: #009900;">&#125;</span><span style="color: #339933;">,</span>
    <span style="color: #009900;">&#123;</span><span style="color: #000066;">name</span><span style="color: #339933;">:</span> <span style="color: #3366CC;">'name'</span><span style="color: #339933;">,</span> type<span style="color: #339933;">:</span> <span style="color: #3366CC;">'string'</span><span style="color: #009900;">&#125;</span>
  <span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span>
  proxy<span style="color: #339933;">:</span> <span style="color: #003366; font-weight: bold;">new</span> Ext.<span style="color: #660066;">data</span>.<span style="color: #660066;">HttpProxy</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#123;</span>
    url<span style="color: #339933;">:</span> <span style="color: #3366CC;">'getCities.php'</span><span style="color: #339933;">,</span>
    method<span style="color: #339933;">:</span> <span style="color: #3366CC;">'GET'</span>
  <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #003366; font-weight: bold;">var</span> city <span style="color: #339933;">=</span> <span style="color: #003366; font-weight: bold;">new</span> Ext.<span style="color: #660066;">form</span>.<span style="color: #660066;">ComboBox</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#123;</span>
  store<span style="color: #339933;">:</span> CITY_STORE<span style="color: #339933;">,</span>
  displayField<span style="color: #339933;">:</span> <span style="color: #3366CC;">'name'</span><span style="color: #339933;">,</span>
  fieldLabel<span style="color: #339933;">:</span> <span style="color: #3366CC;">'Cidade'</span><span style="color: #339933;">,</span>
  <span style="color: #000066;">name</span><span style="color: #339933;">:</span> <span style="color: #3366CC;">'city'</span><span style="color: #339933;">,</span>
  anchor<span style="color: #339933;">:</span> <span style="color: #3366CC;">'100%'</span><span style="color: #339933;">,</span>
  emptyText<span style="color: #339933;">:</span> <span style="color: #3366CC;">'Selecione a cidade...'</span><span style="color: #339933;">,</span>
  typeAhead<span style="color: #339933;">:</span> <span style="color: #003366; font-weight: bold;">true</span><span style="color: #339933;">,</span>
  forceSelection<span style="color: #339933;">:</span> <span style="color: #003366; font-weight: bold;">true</span><span style="color: #339933;">,</span>
  triggerAction<span style="color: #339933;">:</span> <span style="color: #3366CC;">'all'</span><span style="color: #339933;">,</span>
  selectOnFocus<span style="color: #339933;">:</span> <span style="color: #003366; font-weight: bold;">true</span>
<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>Repare que o data store de cidades usa a variável global CITY_STORE, vamos precisar acessar esse data store dentro de algumas funções.</p>
<p>A ideia aqui é quando for selecionado o estado, armazenar o id selecionado e usar para fazer a requisição ajax para getCities.php, buscando somente pelas cidades de um determinado estado. Para fazer isso precisamos adicionar um listener na combo box de estados:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="javascript" style="font-family:monospace;">state.<span style="color: #660066;">addListener</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'select'</span><span style="color: #339933;">,</span> onStateSelect<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>Agora crie a função onStateSelect:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
</pre></td><td class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #003366; font-weight: bold;">function</span> onStateSelect<span style="color: #009900;">&#40;</span>obj<span style="color: #339933;">,</span> record<span style="color: #339933;">,</span> index<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
  SELECTED_STATE <span style="color: #339933;">=</span> record.<span style="color: #660066;">get</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'id'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
  CITY_STORE.<span style="color: #660066;">removeAll</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
  CITY_STORE.<span style="color: #660066;">load</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>No código acima usamos a variável global SELECTED_STATE para armazenar o id do estado selecionado, também limpamos o data store de cidades caso já tenha sido uma requisição é zerado o combo box de cidades e disparamos a requisição para preencher o combo box de cidades.</p>
<p>Mas só fazendo isso não vai funcionar, é necessário adicionar o parâmetro state_id na requisição ajax para obter as cidades, podemos fazer isso da seguinte forma, adicione o código:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
</pre></td><td class="code"><pre class="javascript" style="font-family:monospace;">CITY_STORE.<span style="color: #660066;">proxy</span>.<span style="color: #660066;">on</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'beforeload'</span><span style="color: #339933;">,</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span>proxy<span style="color: #339933;">,</span> params<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
  city.<span style="color: #660066;">clearValue</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
  params.<span style="color: #660066;">state_id</span> <span style="color: #339933;">=</span> SELECTED_STATE<span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>Antes de fazer a requisição ajax para as cidades, será adicionado o parâmetro state_id, usando um controle de eventos no Ext JS. Também limpo aqui o valor selecionado na combo box de cidades.</p>
<p>Bom, o Ext JS é fodinha mesmo, é meio complicado, a documentação é tão ampla que quebra as pernas. Ae você tem que balancear para ver até que ponto vale a pena usar ele. Uma coisa é verdade ele gera ótimas interfaces, mas toda essa sintaxe parece muito com o Swing do Java (coisa que eu não gosto em nada :-().</p>
<p>Esse exemplo é meio genérico, dá para usar tanto em combo box isolados ou com formulários em ext. Por isso você tem que fazer alguns ajustes para imprimir os combo boxs.</p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save"><img src="http://blog.patrickespake.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://blog.patrickespake.com/2009/01/16/ext-js-carregar-um-combo-box-a-partir-de-outro-combo-box/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Instalando e usando o plugin paperClip no Ruby on Rails</title>
		<link>http://blog.patrickespake.com/2008/12/18/instalando-e-usando-o-plugin-paperclip-no-ruby-on-rails/</link>
		<comments>http://blog.patrickespake.com/2008/12/18/instalando-e-usando-o-plugin-paperclip-no-ruby-on-rails/#comments</comments>
		<pubDate>Thu, 18 Dec 2008 02:18:48 +0000</pubDate>
		<dc:creator>patrickespake</dc:creator>
				<category><![CDATA[Ruby on Rails]]></category>
		<category><![CDATA[Active Record]]></category>
		<category><![CDATA[class]]></category>
		<category><![CDATA[create]]></category>
		<category><![CDATA[download]]></category>
		<category><![CDATA[file_field]]></category>
		<category><![CDATA[form]]></category>
		<category><![CDATA[fotos]]></category>
		<category><![CDATA[github]]></category>
		<category><![CDATA[has_attached_file]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[imagemagick]]></category>
		<category><![CDATA[imagens]]></category>
		<category><![CDATA[images]]></category>
		<category><![CDATA[image_content_type]]></category>
		<category><![CDATA[image_file_name]]></category>
		<category><![CDATA[image_file_size]]></category>
		<category><![CDATA[image_updated_at]]></category>
		<category><![CDATA[instalação]]></category>
		<category><![CDATA[migration]]></category>
		<category><![CDATA[multipart]]></category>
		<category><![CDATA[paperclip]]></category>
		<category><![CDATA[photos]]></category>
		<category><![CDATA[Plugin]]></category>
		<category><![CDATA[render]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[sourcecode]]></category>
		<category><![CDATA[styles]]></category>
		<category><![CDATA[tarballs]]></category>
		<category><![CDATA[template]]></category>
		<category><![CDATA[thoughtbot]]></category>
		<category><![CDATA[tournaments]]></category>
		<category><![CDATA[upload]]></category>
		<category><![CDATA[validates_attachment_content_type]]></category>

		<guid isPermaLink="false">http://patrickespake.wordpress.com/?p=305</guid>
		<description><![CDATA[O plugin paperClip do Ruby on Rails é muito bacana, agiliza muito a vida, com ele é possível fazer upload de imagens e já gerar várias dimensões da imagem. Vou explicar como instalar e como usar. Instalação: Faça o download do paperClip: http://github.com/tarballs/thoughtbot-paperclip-18c0246c11c51dafa77b6367ddaf730684d0e752.zip Descompacte o arquivo e renomei o diretório extraído para paperclip. Coloque esse [...]]]></description>
			<content:encoded><![CDATA[<p>O plugin paperClip do Ruby on Rails é muito bacana, agiliza muito a vida, com ele é possível fazer upload de imagens e já gerar várias dimensões da imagem.</p>
<p>Vou explicar como instalar e como usar.</p>
<p><strong>Instalação:</strong></p>
<p>Faça o download do paperClip: <a href="http://github.com/tarballs/thoughtbot-paperclip-18c0246c11c51dafa77b6367ddaf730684d0e752.zip">http://github.com/tarballs/thoughtbot-paperclip-18c0246c11c51dafa77b6367ddaf730684d0e752.zip</a></p>
<p>Descompacte o arquivo e renomei o diretório extraído para paperclip.</p>
<p>Coloque esse diretório dentro de <strong>seu_projeto/vendor/plugins/paperclip</strong>.</p>
<p>Você vai precisar do imageMagick, através dele o paperClip faz o resize nas imagens. Para instalar no Ubuntu 8.04 faça:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="ruby" style="font-family:monospace;">sudo apt<span style="color:#006600; font-weight:bold;">-</span>get install imagemagick</pre></td></tr></table></div>

<p><strong>Configuração:</strong></p>
<p>Para o paperClip funcionar você vai precisar que exista 4 novas colunas na sua tabela são elas: image_file_name, image_content_type, image_file_size, image_updated_at.</p>
<p>Esse nome image_&#8230; pode ser qualquer outra coisa por exemplo: avatar_&#8230;, foto_&#8230;</p>
<p>Seguindo essa ideia você poderia ter um migrate mais ou menos assim:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
</pre></td><td class="code"><pre class="ruby" style="font-family:monospace;"><span style="color:#9966CC; font-weight:bold;">class</span> CreateTournaments <span style="color:#006600; font-weight:bold;">&lt;</span> <span style="color:#6666ff; font-weight:bold;">ActiveRecord::Migration</span>
  <span style="color:#9966CC; font-weight:bold;">def</span> <span style="color:#0000FF; font-weight:bold;">self</span>.<span style="color:#9900CC;">up</span>
    create_table <span style="color:#ff3333; font-weight:bold;">:tournaments</span> <span style="color:#9966CC; font-weight:bold;">do</span> <span style="color:#006600; font-weight:bold;">|</span>t<span style="color:#006600; font-weight:bold;">|</span>
      t.<span style="color:#9900CC;">column</span> <span style="color:#ff3333; font-weight:bold;">:name</span>,               <span style="color:#ff3333; font-weight:bold;">:string</span>,    <span style="color:#ff3333; font-weight:bold;">:limit</span> <span style="color:#006600; font-weight:bold;">=&gt;</span> <span style="color:#006666;">100</span>, <span style="color:#ff3333; font-weight:bold;">:null</span> <span style="color:#006600; font-weight:bold;">=&gt;</span> <span style="color:#0000FF; font-weight:bold;">false</span>
      t.<span style="color:#9900CC;">column</span> <span style="color:#ff3333; font-weight:bold;">:description</span>,        <span style="color:#ff3333; font-weight:bold;">:text</span>,      <span style="color:#ff3333; font-weight:bold;">:null</span> <span style="color:#006600; font-weight:bold;">=&gt;</span> <span style="color:#0000FF; font-weight:bold;">true</span>
      t.<span style="color:#9900CC;">column</span> <span style="color:#ff3333; font-weight:bold;">:image_file_name</span>,    <span style="color:#ff3333; font-weight:bold;">:string</span>
      t.<span style="color:#9900CC;">column</span> <span style="color:#ff3333; font-weight:bold;">:image_content_type</span>, <span style="color:#ff3333; font-weight:bold;">:string</span>
      t.<span style="color:#9900CC;">column</span> <span style="color:#ff3333; font-weight:bold;">:image_file_size</span>,    <span style="color:#ff3333; font-weight:bold;">:integer</span>
      t.<span style="color:#9900CC;">column</span> <span style="color:#ff3333; font-weight:bold;">:image_updated_at</span>,   <span style="color:#ff3333; font-weight:bold;">:timestamp</span>
      t.<span style="color:#9900CC;">column</span> <span style="color:#ff3333; font-weight:bold;">:is_active</span>,          <span style="color:#ff3333; font-weight:bold;">:boolean</span>,   <span style="color:#ff3333; font-weight:bold;">:null</span> <span style="color:#006600; font-weight:bold;">=&gt;</span> <span style="color:#0000FF; font-weight:bold;">false</span>, <span style="color:#ff3333; font-weight:bold;">:default</span> <span style="color:#006600; font-weight:bold;">=&gt;</span> <span style="color:#0000FF; font-weight:bold;">false</span>
      t.<span style="color:#9900CC;">column</span> <span style="color:#ff3333; font-weight:bold;">:start_date</span>,         <span style="color:#ff3333; font-weight:bold;">:date</span>,      <span style="color:#ff3333; font-weight:bold;">:null</span> <span style="color:#006600; font-weight:bold;">=&gt;</span> <span style="color:#0000FF; font-weight:bold;">false</span>
      t.<span style="color:#9900CC;">column</span> <span style="color:#ff3333; font-weight:bold;">:end_date</span>,           <span style="color:#ff3333; font-weight:bold;">:date</span>,      <span style="color:#ff3333; font-weight:bold;">:null</span> <span style="color:#006600; font-weight:bold;">=&gt;</span> <span style="color:#0000FF; font-weight:bold;">false</span>
      t.<span style="color:#9900CC;">column</span> <span style="color:#ff3333; font-weight:bold;">:created_at</span>,         <span style="color:#ff3333; font-weight:bold;">:timestamp</span>, <span style="color:#ff3333; font-weight:bold;">:null</span> <span style="color:#006600; font-weight:bold;">=&gt;</span> <span style="color:#0000FF; font-weight:bold;">false</span>
      t.<span style="color:#9900CC;">column</span> <span style="color:#ff3333; font-weight:bold;">:updated_at</span>,         <span style="color:#ff3333; font-weight:bold;">:timestamp</span>, <span style="color:#ff3333; font-weight:bold;">:null</span> <span style="color:#006600; font-weight:bold;">=&gt;</span> <span style="color:#0000FF; font-weight:bold;">false</span>
    <span style="color:#9966CC; font-weight:bold;">end</span>
  <span style="color:#9966CC; font-weight:bold;">end</span>
&nbsp;
  <span style="color:#9966CC; font-weight:bold;">def</span> <span style="color:#0000FF; font-weight:bold;">self</span>.<span style="color:#9900CC;">down</span>
    drop_table <span style="color:#ff3333; font-weight:bold;">:tournaments</span>
  <span style="color:#9966CC; font-weight:bold;">end</span>
<span style="color:#9966CC; font-weight:bold;">end</span></pre></td></tr></table></div>

<p>Agora é necessário informar o seu model que existirá anexos e que formatos são aceitos:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
</pre></td><td class="code"><pre class="ruby" style="font-family:monospace;"><span style="color:#9966CC; font-weight:bold;">class</span> Tournament <span style="color:#006600; font-weight:bold;">&lt;</span> <span style="color:#6666ff; font-weight:bold;">ActiveRecord::Base</span>
  has_attached_file <span style="color:#ff3333; font-weight:bold;">:image</span>,
                    <span style="color:#ff3333; font-weight:bold;">:styles</span> <span style="color:#006600; font-weight:bold;">=&gt;</span> <span style="color:#006600; font-weight:bold;">&#123;</span>:large <span style="color:#006600; font-weight:bold;">=&gt;</span> <span style="color:#996600;">'600x600&gt;'</span>, <span style="color:#ff3333; font-weight:bold;">:medium</span> <span style="color:#006600; font-weight:bold;">=&gt;</span> <span style="color:#996600;">'300x300&gt;'</span>, <span style="color:#ff3333; font-weight:bold;">:small</span> <span style="color:#006600; font-weight:bold;">=&gt;</span> <span style="color:#996600;">'150x150&gt;'</span>, <span style="color:#ff3333; font-weight:bold;">:thumb</span> <span style="color:#006600; font-weight:bold;">=&gt;</span> <span style="color:#996600;">'50x50&gt;'</span><span style="color:#006600; font-weight:bold;">&#125;</span>,
                    <span style="color:#ff3333; font-weight:bold;">:path</span> <span style="color:#006600; font-weight:bold;">=&gt;</span> <span style="color:#996600;">&quot;:rails_root/public/images/:class/:id/:style_:basename.:extension&quot;</span>,
                    <span style="color:#ff3333; font-weight:bold;">:url</span> <span style="color:#006600; font-weight:bold;">=&gt;</span> <span style="color:#996600;">&quot;/images/:class/:id/:style_:basename.:extension&quot;</span>
&nbsp;
  validates_uniqueness_of <span style="color:#ff3333; font-weight:bold;">:name</span>
  validates_presence_of   <span style="color:#ff3333; font-weight:bold;">:name</span>, <span style="color:#ff3333; font-weight:bold;">:start_date</span>, <span style="color:#ff3333; font-weight:bold;">:end_date</span>
  validates_attachment_content_type <span style="color:#ff3333; font-weight:bold;">:image</span>, <span style="color:#ff3333; font-weight:bold;">:content_type</span> <span style="color:#006600; font-weight:bold;">=&gt;</span> <span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#996600;">'image/jpeg'</span>, <span style="color:#996600;">'image/png'</span>, <span style="color:#996600;">'image/gif'</span><span style="color:#006600; font-weight:bold;">&#93;</span>
<span style="color:#9966CC; font-weight:bold;">end</span></pre></td></tr></table></div>

<p>O interessante da linha abaixo, é que posso definir todos os tamanhos de imagens que desejo gerar em cima da imagem original, nesse trecho de código eu também alterei o path de armazenamento das imagens, fiz as imagens ficarem no diretório public_html/images/tournaments/id_do_banco_de_dados/imagens_em_diversas_dimensões:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
</pre></td><td class="code"><pre class="ruby" style="font-family:monospace;">  has_attached_file <span style="color:#ff3333; font-weight:bold;">:image</span>,
                    <span style="color:#ff3333; font-weight:bold;">:styles</span> <span style="color:#006600; font-weight:bold;">=&gt;</span> <span style="color:#006600; font-weight:bold;">&#123;</span>:large <span style="color:#006600; font-weight:bold;">=&gt;</span> <span style="color:#996600;">'600x600&gt;'</span>, <span style="color:#ff3333; font-weight:bold;">:medium</span> <span style="color:#006600; font-weight:bold;">=&gt;</span> <span style="color:#996600;">'300x300&gt;'</span>, <span style="color:#ff3333; font-weight:bold;">:small</span> <span style="color:#006600; font-weight:bold;">=&gt;</span> <span style="color:#996600;">'150x150&gt;'</span>, <span style="color:#ff3333; font-weight:bold;">:thumb</span> <span style="color:#006600; font-weight:bold;">=&gt;</span> <span style="color:#996600;">'50x50&gt;'</span><span style="color:#006600; font-weight:bold;">&#125;</span>,
                    <span style="color:#ff3333; font-weight:bold;">:path</span> <span style="color:#006600; font-weight:bold;">=&gt;</span> <span style="color:#996600;">&quot;:rails_root/public/images/:class/:id/:style_:basename.:extension&quot;</span>,
                    <span style="color:#ff3333; font-weight:bold;">:url</span> <span style="color:#006600; font-weight:bold;">=&gt;</span> <span style="color:#996600;">&quot;/images/:class/:id/:style_:basename.:extension&quot;</span></pre></td></tr></table></div>

<p>A linha seguinte informa os tipos de mime types aceitos:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="ruby" style="font-family:monospace;">  validates_attachment_content_type <span style="color:#ff3333; font-weight:bold;">:image</span>, <span style="color:#ff3333; font-weight:bold;">:content_type</span> <span style="color:#006600; font-weight:bold;">=&gt;</span> <span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#996600;">'image/jpeg'</span>, <span style="color:#996600;">'image/png'</span>, <span style="color:#996600;">'image/gif'</span><span style="color:#006600; font-weight:bold;">&#93;</span></pre></td></tr></table></div>

<p>Agora você precisa definir que o seu formulário de cadastro trabalha com multipart, para enviar dados binários:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
</pre></td><td class="code"><pre class="ruby" style="font-family:monospace;">  <span style="color:#006600; font-weight:bold;">&lt;%</span> form_for <span style="color:#ff3333; font-weight:bold;">:tournament</span>, <span style="color:#0066ff; font-weight:bold;">@tournament</span>, <span style="color:#ff3333; font-weight:bold;">:url</span> <span style="color:#006600; font-weight:bold;">=&gt;</span> <span style="color:#006600; font-weight:bold;">&#123;</span> <span style="color:#ff3333; font-weight:bold;">:action</span> <span style="color:#006600; font-weight:bold;">=&gt;</span> <span style="color:#996600;">'create'</span> <span style="color:#006600; font-weight:bold;">&#125;</span>, <span style="color:#ff3333; font-weight:bold;">:html</span> <span style="color:#006600; font-weight:bold;">=&gt;</span> <span style="color:#006600; font-weight:bold;">&#123;</span> <span style="color:#ff3333; font-weight:bold;">:multipart</span> <span style="color:#006600; font-weight:bold;">=&gt;</span> <span style="color:#0000FF; font-weight:bold;">true</span> <span style="color:#006600; font-weight:bold;">&#125;</span> <span style="color:#9966CC; font-weight:bold;">do</span> <span style="color:#006600; font-weight:bold;">|</span>form<span style="color:#006600; font-weight:bold;">|</span> <span style="color:#006600; font-weight:bold;">%&gt;</span>
    <span style="color:#006600; font-weight:bold;">&lt;%</span>= render <span style="color:#ff3333; font-weight:bold;">:partial</span> <span style="color:#006600; font-weight:bold;">=&gt;</span> <span style="color:#996600;">'form'</span>, <span style="color:#ff3333; font-weight:bold;">:locals</span> <span style="color:#006600; font-weight:bold;">=&gt;</span> <span style="color:#006600; font-weight:bold;">&#123;</span> <span style="color:#ff3333; font-weight:bold;">:form</span> <span style="color:#006600; font-weight:bold;">=&gt;</span> form <span style="color:#006600; font-weight:bold;">&#125;</span> <span style="color:#006600; font-weight:bold;">%&gt;</span>
    &lt;div class=&quot;submit&quot;&gt;<span style="color:#006600; font-weight:bold;">&lt;%</span>= submit_tag <span style="color:#996600;">&quot;Criar&quot;</span> <span style="color:#006600; font-weight:bold;">%&gt;</span>&lt;/div&gt;
  <span style="color:#006600; font-weight:bold;">&lt;%</span> <span style="color:#9966CC; font-weight:bold;">end</span> <span style="color:#006600; font-weight:bold;">%&gt;</span></pre></td></tr></table></div>

<p>No código acima eu chamo o partial _form.rhtml, segue o seu conteúdo abaixo:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
</pre></td><td class="code"><pre class="ruby" style="font-family:monospace;"><span style="color:#006600; font-weight:bold;">&lt;%</span>= error_messages_for <span style="color:#996600;">'tournament'</span> <span style="color:#006600; font-weight:bold;">%&gt;</span>
&nbsp;
&lt;!--[form:tournament]--&gt;
&lt;p&gt;&lt;label for=&quot;tournament_name&quot;&gt;Nome&lt;/label&gt;
<span style="color:#006600; font-weight:bold;">&lt;%</span>= form.<span style="color:#9900CC;">text_field</span> <span style="color:#ff3333; font-weight:bold;">:name</span>  <span style="color:#006600; font-weight:bold;">%&gt;</span>&lt;/p&gt;
&nbsp;
&lt;p&gt;&lt;label for=&quot;tournament_description&quot;&gt;Descrição&lt;/label&gt;
<span style="color:#006600; font-weight:bold;">&lt;%</span>= form.<span style="color:#9900CC;">text_area</span> <span style="color:#ff3333; font-weight:bold;">:description</span>  <span style="color:#006600; font-weight:bold;">%&gt;</span>&lt;/p&gt;
&nbsp;
&lt;p&gt;&lt;label for=&quot;tournament_image&quot;&gt;Imagem&lt;/label&gt;
<span style="color:#006600; font-weight:bold;">&lt;%</span>= form.<span style="color:#9900CC;">file_field</span> <span style="color:#ff3333; font-weight:bold;">:image</span> <span style="color:#006600; font-weight:bold;">%&gt;</span>&lt;/p&gt;
&nbsp;
&lt;p&gt;&lt;label for=&quot;tournament_is_active&quot;&gt;Ativo&lt;/label&gt;
<span style="color:#006600; font-weight:bold;">&lt;%</span>= form.<span style="color:#9900CC;">check_box</span> <span style="color:#ff3333; font-weight:bold;">:is_active</span>  <span style="color:#006600; font-weight:bold;">%&gt;</span>
&nbsp;
&lt;p&gt;&lt;label for=&quot;tournament_start_date&quot;&gt;Data de início&lt;/label&gt;
<span style="color:#006600; font-weight:bold;">&lt;%</span>= form.<span style="color:#9900CC;">date_select</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#ff3333; font-weight:bold;">:start_date</span>, <span style="color:#ff3333; font-weight:bold;">:order</span> <span style="color:#006600; font-weight:bold;">=&gt;</span> <span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#ff3333; font-weight:bold;">:day</span>, <span style="color:#ff3333; font-weight:bold;">:month</span>, <span style="color:#ff3333; font-weight:bold;">:year</span><span style="color:#006600; font-weight:bold;">&#93;</span>, <span style="color:#ff3333; font-weight:bold;">:use_month_numbers</span> <span style="color:#006600; font-weight:bold;">=&gt;</span> <span style="color:#0000FF; font-weight:bold;">true</span><span style="color:#006600; font-weight:bold;">&#41;</span> <span style="color:#006600; font-weight:bold;">%&gt;</span>&lt;/p&gt;
&nbsp;
&lt;p&gt;&lt;label for=&quot;tournament_end_date&quot;&gt;Data de término&lt;/label&gt;
<span style="color:#006600; font-weight:bold;">&lt;%</span>= form.<span style="color:#9900CC;">date_select</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#ff3333; font-weight:bold;">:end_date</span>, <span style="color:#ff3333; font-weight:bold;">:order</span> <span style="color:#006600; font-weight:bold;">=&gt;</span> <span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#ff3333; font-weight:bold;">:day</span>, <span style="color:#ff3333; font-weight:bold;">:month</span>, <span style="color:#ff3333; font-weight:bold;">:year</span><span style="color:#006600; font-weight:bold;">&#93;</span>, <span style="color:#ff3333; font-weight:bold;">:use_month_numbers</span> <span style="color:#006600; font-weight:bold;">=&gt;</span> <span style="color:#0000FF; font-weight:bold;">true</span><span style="color:#006600; font-weight:bold;">&#41;</span>  <span style="color:#006600; font-weight:bold;">%&gt;</span>&lt;/p&gt;
&lt;!--[eoform:tournament]--&gt;</pre></td></tr></table></div>

<p>Nesse partial _form.rhtml é declarado o campo para upload da imagem:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="ruby" style="font-family:monospace;"><span style="color:#006600; font-weight:bold;">&lt;%</span>= form.<span style="color:#9900CC;">file_field</span> <span style="color:#ff3333; font-weight:bold;">:image</span> <span style="color:#006600; font-weight:bold;">%&gt;</span></pre></td></tr></table></div>

<p>Perceba que na tabela do banco de dados não existe a coluna chamada <strong>image</strong>, mas sim aquelas 4 que criei no migrate. Aqui que entra a mágica do paperClip juntamente com o model, ele consegue fazer o upload da imagem e definir os valores para os 4 campos no model.</p>
<p>Para exibir as imagens e suas diversas proporções use:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
</pre></td><td class="code"><pre class="ruby" style="font-family:monospace;"><span style="color:#006600; font-weight:bold;">&lt;%</span>= image_tag <span style="color:#0066ff; font-weight:bold;">@tournament</span>.<span style="color:#9900CC;">image</span>.<span style="color:#9900CC;">url</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#ff3333; font-weight:bold;">:thumb</span><span style="color:#006600; font-weight:bold;">&#41;</span>  <span style="color:#006600; font-weight:bold;">%&gt;</span>
<span style="color:#006600; font-weight:bold;">&lt;%</span>= image_tag <span style="color:#0066ff; font-weight:bold;">@tournament</span>.<span style="color:#9900CC;">image</span>.<span style="color:#9900CC;">url</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#ff3333; font-weight:bold;">:small</span><span style="color:#006600; font-weight:bold;">&#41;</span>  <span style="color:#006600; font-weight:bold;">%&gt;</span>
<span style="color:#006600; font-weight:bold;">&lt;%</span>= image_tag <span style="color:#0066ff; font-weight:bold;">@tournament</span>.<span style="color:#9900CC;">image</span>.<span style="color:#9900CC;">url</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#ff3333; font-weight:bold;">:medium</span><span style="color:#006600; font-weight:bold;">&#41;</span>  <span style="color:#006600; font-weight:bold;">%&gt;</span>
<span style="color:#006600; font-weight:bold;">&lt;%</span>= image_tag <span style="color:#0066ff; font-weight:bold;">@tournament</span>.<span style="color:#9900CC;">image</span>.<span style="color:#9900CC;">url</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#ff3333; font-weight:bold;">:large</span><span style="color:#006600; font-weight:bold;">&#41;</span>  <span style="color:#006600; font-weight:bold;">%&gt;</span></pre></td></tr></table></div>

<p>Pronto! Depois de pegar o jeito com o paperClip você vai dar risada a toa. ;-)</p>
<p>Se você gostou desse texto e acha que ajudou você, me recomende: <a href="http://www.workingwithrails.com/recommendation/new/person/15479-patrick-espake"><img alt="Recommend Me" src="http://workingwithrails.com/images/tools/compact-small-button.jpg" /></a>.</p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save"><img src="http://blog.patrickespake.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://blog.patrickespake.com/2008/12/18/instalando-e-usando-o-plugin-paperclip-no-ruby-on-rails/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Populando um combobox através de um resultado em JSON usando o framework javascript Prototype</title>
		<link>http://blog.patrickespake.com/2008/12/04/populando-um-combobox-atraves-de-um-resultado-em-json-usando-o-framework-javascript-prototype/</link>
		<comments>http://blog.patrickespake.com/2008/12/04/populando-um-combobox-atraves-de-um-resultado-em-json-usando-o-framework-javascript-prototype/#comments</comments>
		<pubDate>Thu, 04 Dec 2008 16:25:37 +0000</pubDate>
		<dc:creator>patrickespake</dc:creator>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Prototype]]></category>
		<category><![CDATA[Ajax.Request]]></category>
		<category><![CDATA[change]]></category>
		<category><![CDATA[cidade]]></category>
		<category><![CDATA[cleancombobox]]></category>
		<category><![CDATA[combobox]]></category>
		<category><![CDATA[descendants]]></category>
		<category><![CDATA[estado]]></category>
		<category><![CDATA[exemplo]]></category>
		<category><![CDATA[fillcombobox]]></category>
		<category><![CDATA[form]]></category>
		<category><![CDATA[framework]]></category>
		<category><![CDATA[function]]></category>
		<category><![CDATA[id]]></category>
		<category><![CDATA[if]]></category>
		<category><![CDATA[insert]]></category>
		<category><![CDATA[invoke]]></category>
		<category><![CDATA[js]]></category>
		<category><![CDATA[json]]></category>
		<category><![CDATA[makeRequest]]></category>
		<category><![CDATA[method]]></category>
		<category><![CDATA[name]]></category>
		<category><![CDATA[new]]></category>
		<category><![CDATA[new Element]]></category>
		<category><![CDATA[observe]]></category>
		<category><![CDATA[onLonding]]></category>
		<category><![CDATA[onSuccess]]></category>
		<category><![CDATA[pair]]></category>
		<category><![CDATA[populado]]></category>
		<category><![CDATA[post]]></category>
		<category><![CDATA[remove]]></category>
		<category><![CDATA[response]]></category>
		<category><![CDATA[table]]></category>
		<category><![CDATA[tbody]]></category>
		<category><![CDATA[transport]]></category>
		<category><![CDATA[url]]></category>
		<category><![CDATA[webservice]]></category>

		<guid isPermaLink="false">http://patrickespake.wordpress.com/?p=276</guid>
		<description><![CDATA[Vou mostrar como popular um combobox de cidades através de um resultado em JSON, usando o framework javascript Prototype. Eu tenho um formulário com dois comboboxs um de estado e outro de cidade, quando o usuário selecionar o estado é buscada as cidades através de um webservice que retorna um JSON. Meu formulário: 1 2 [...]]]></description>
			<content:encoded><![CDATA[<p>Vou mostrar como popular um combobox de cidades através de um resultado em JSON, usando o framework javascript Prototype.</p>
<p>Eu tenho um formulário com dois comboboxs um de estado e outro de cidade, quando o usuário selecionar o estado é buscada as cidades através de um webservice que retorna um JSON.</p>
<p>Meu formulário:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
</pre></td><td class="code"><pre class="html" style="font-family:monospace;">&lt;form name=&quot;exemplo&quot; id=&quot;exemplo&quot; method=&quot;post&quot;&gt;
  &lt;table&gt;
    &lt;tbody&gt;
      &lt;tr&gt;
        &lt;th&gt;&lt;label for=&quot;state&quot;&gt;Estado&lt;/label&gt;&lt;/th&gt;
        &lt;td&gt;
          &lt;select id=&quot;state&quot; name=&quot;state&quot;&gt;
            &lt;option value=&quot;0&quot;/&gt;
            &lt;option value=&quot;1&quot;&gt;AC&lt;/option&gt;
            &lt;option value=&quot;2&quot;&gt;AL&lt;/option&gt;
            &lt;option value=&quot;3&quot;&gt;AM&lt;/option&gt;
            &lt;option value=&quot;4&quot;&gt;AP&lt;/option&gt;
            &lt;option value=&quot;5&quot;&gt;BA&lt;/option&gt;
            &lt;option value=&quot;6&quot;&gt;CE&lt;/option&gt;
            &lt;option value=&quot;7&quot;&gt;DF&lt;/option&gt;
            &lt;option value=&quot;8&quot;&gt;ES&lt;/option&gt;
            &lt;option value=&quot;9&quot;&gt;GO&lt;/option&gt;
            &lt;option value=&quot;10&quot;&gt;MA&lt;/option&gt;
            &lt;option value=&quot;11&quot;&gt;MG&lt;/option&gt;
            &lt;option value=&quot;12&quot;&gt;MS&lt;/option&gt;
            &lt;option value=&quot;13&quot;&gt;MT&lt;/option&gt;
            &lt;option value=&quot;14&quot;&gt;PA&lt;/option&gt;
            &lt;option value=&quot;15&quot;&gt;PB&lt;/option&gt;
            &lt;option value=&quot;16&quot;&gt;PE&lt;/option&gt;
            &lt;option value=&quot;17&quot;&gt;PI&lt;/option&gt;
            &lt;option value=&quot;18&quot;&gt;PR&lt;/option&gt;
            &lt;option value=&quot;19&quot;&gt;RJ&lt;/option&gt;
            &lt;option value=&quot;20&quot;&gt;RN&lt;/option&gt;
            &lt;option value=&quot;21&quot;&gt;RO&lt;/option&gt;
            &lt;option value=&quot;22&quot;&gt;RR&lt;/option&gt;
            &lt;option value=&quot;23&quot;&gt;RS&lt;/option&gt;
            &lt;option value=&quot;24&quot;&gt;SC&lt;/option&gt;
            &lt;option value=&quot;25&quot;&gt;SE&lt;/option&gt;
            &lt;option value=&quot;26&quot;&gt;SP&lt;/option&gt;
            &lt;option value=&quot;27&quot;&gt;TO&lt;/option&gt;
          &lt;/select&gt;
        &lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;th&gt;&lt;label for=&quot;city&quot;&gt;Cidade&lt;/label&gt;&lt;/th&gt;
        &lt;td&gt;
          &lt;select id=&quot;city&quot; name=&quot;city&quot;&gt;&lt;/select&gt;
        &lt;/td&gt;
      &lt;/tr&gt;
    &lt;/tbody&gt;
  &lt;/table&gt;
&lt;/form&gt;</pre></td></tr></table></div>

<p>Para todo o código javascript abaixo funcionar, é necessário ter as bibliotecas javascripts do Prototype incluídas na página.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
</pre></td><td class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #339933;">&lt;</span>script language<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;JavaScript&quot;</span><span style="color: #339933;">&gt;</span>
<span style="color: #006600; font-style: italic;">// Quando ocorrer o evento onchange no combobox chama a função getCitiesByStateId</span>
$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'state'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">observe</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'change'</span><span style="color: #339933;">,</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span> getCitiesByStateId<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #006600; font-style: italic;">/**
 * Busca todas cidades de um estado
 * @param object obj
 *  Informações do elemento
 */</span>
<span style="color: #003366; font-weight: bold;">function</span> getCitiesByStateId<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
  <span style="color: #003366; font-weight: bold;">var</span> state <span style="color: #339933;">=</span> $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'state'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
  <span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>state.<span style="color: #660066;">value</span> <span style="color: #339933;">&gt;</span> <span style="color: #CC0000;">0</span><span style="color: #009900;">&#41;</span>
  <span style="color: #009900;">&#123;</span>
    <span style="color: #003366; font-weight: bold;">var</span> url <span style="color: #339933;">=</span> <span style="color: #3366CC;">'/url_do_seu_webservice_que_vai_retornar_o_json/state_id/'</span> <span style="color: #339933;">+</span> state.<span style="color: #660066;">value</span><span style="color: #339933;">;</span>
    makeRequest<span style="color: #009900;">&#40;</span>url<span style="color: #339933;">,</span> <span style="color: #3366CC;">'city'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
  <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #006600; font-style: italic;">/**
 * Realiza a requisição ajax para o webservice
 * obtém os resultados e preenche o combobox
 * @param strung url
 *  Url da requisição
 * @param string combobox_fill_id
 *  Combobox para ser preenchida
 */</span>
<span style="color: #003366; font-weight: bold;">function</span> makeRequest<span style="color: #009900;">&#40;</span>url<span style="color: #339933;">,</span> combobox_fill_id<span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
  <span style="color: #003366; font-weight: bold;">new</span> Ajax.<span style="color: #660066;">Request</span><span style="color: #009900;">&#40;</span>url<span style="color: #339933;">,</span>
  <span style="color: #009900;">&#123;</span>
    method<span style="color: #339933;">:</span> <span style="color: #3366CC;">'get'</span><span style="color: #339933;">,</span>
    onLoading<span style="color: #339933;">:</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span> loadingComboBox<span style="color: #009900;">&#40;</span>combobox_fill_id<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#125;</span><span style="color: #339933;">,</span>
    onSuccess<span style="color: #339933;">:</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span>transport<span style="color: #009900;">&#41;</span>
    <span style="color: #009900;">&#123;</span>
      <span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #CC0000;">200</span> <span style="color: #339933;">==</span> transport.<span style="color: #000066;">status</span><span style="color: #009900;">&#41;</span>
      <span style="color: #009900;">&#123;</span>
        <span style="color: #003366; font-weight: bold;">var</span> response <span style="color: #339933;">=</span> <span style="color: #000066; font-weight: bold;">eval</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'('</span> <span style="color: #339933;">+</span> transport.<span style="color: #660066;">responseText</span> <span style="color: #339933;">+</span> <span style="color: #3366CC;">')'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        fillComboBox<span style="color: #009900;">&#40;</span>combobox_fill_id<span style="color: #339933;">,</span> response<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
      <span style="color: #009900;">&#125;</span>
    <span style="color: #009900;">&#125;</span>
  <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #006600; font-style: italic;">/**
 * Preenche a combobox com os valores de retorno
 * @param string name
 *  Combobox a ser preenchida
 * @param object response
 *  Objeto de resposta
 */</span>
<span style="color: #003366; font-weight: bold;">function</span> fillComboBox<span style="color: #009900;">&#40;</span><span style="color: #000066;">name</span><span style="color: #339933;">,</span> response<span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
  cleanComboBox<span style="color: #009900;">&#40;</span><span style="color: #000066;">name</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
  $<span style="color: #009900;">&#40;</span><span style="color: #000066;">name</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">insert</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">new</span> Element<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'option'</span><span style="color: #339933;">,</span> <span style="color: #009900;">&#123;</span>value<span style="color: #339933;">:</span> <span style="color: #3366CC;">''</span><span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">insert</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">''</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
  response.<span style="color: #660066;">each</span>
  <span style="color: #009900;">&#40;</span>
    <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span>pair<span style="color: #009900;">&#41;</span>
    <span style="color: #009900;">&#123;</span>
      $<span style="color: #009900;">&#40;</span><span style="color: #000066;">name</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">insert</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">new</span> Element<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'option'</span><span style="color: #339933;">,</span> <span style="color: #009900;">&#123;</span>value<span style="color: #339933;">:</span> pair.<span style="color: #660066;">id</span><span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">insert</span><span style="color: #009900;">&#40;</span>pair.<span style="color: #000066;">name</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
  <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #006600; font-style: italic;">/**
 * Remove todos os elementos da combobox
 * @param string name
 *  Id da combobox para limpar
 */</span>
<span style="color: #003366; font-weight: bold;">function</span> cleanComboBox<span style="color: #009900;">&#40;</span><span style="color: #000066;">name</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
  $<span style="color: #009900;">&#40;</span><span style="color: #000066;">name</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">descendants</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">invoke</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'remove'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #006600; font-style: italic;">/**
 * Exibe a mensagem de aguarde... na combobox enquanto os dados estão sendo requisitados
 */</span>
<span style="color: #003366; font-weight: bold;">function</span> loadingComboBox<span style="color: #009900;">&#40;</span><span style="color: #000066;">name</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
  cleanComboBox<span style="color: #009900;">&#40;</span><span style="color: #000066;">name</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
  $<span style="color: #009900;">&#40;</span><span style="color: #000066;">name</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">insert</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">new</span> Element<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'option'</span><span style="color: #339933;">,</span> <span style="color: #009900;">&#123;</span>value<span style="color: #339933;">:</span> <span style="color: #3366CC;">''</span><span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">insert</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'Aguarde...'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #339933;">&lt;/</span>script<span style="color: #339933;">&gt;</span></pre></td></tr></table></div>

<p>O código acima não precisa de muitas explicações, já está bem dividido em funções e comentado.</p>
<p>O meu webservice retorna um JSON no seguinte formato:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
</pre></td><td class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3037</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Abati<span style="color: #000099; font-weight: bold;">\u</span>00e1&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3038</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Adrian<span style="color: #000099; font-weight: bold;">\u</span>00f3polis&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3039</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Agudos do Sul&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">160</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Almirante Tamandar<span style="color: #000099; font-weight: bold;">\u</span>00e9&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3040</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Altamira do Paran<span style="color: #000099; font-weight: bold;">\u</span>00e1&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3043</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Alt<span style="color: #000099; font-weight: bold;">\u</span>00f4nia&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3041</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Alto Paran<span style="color: #000099; font-weight: bold;">\u</span>00e1&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3042</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Alto Piquiri&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3044</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Alvorada do Sul&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3045</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Amapor<span style="color: #000099; font-weight: bold;">\u</span>00e3&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3046</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Amp<span style="color: #000099; font-weight: bold;">\u</span>00e9re&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3047</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Anahy&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3048</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Andir<span style="color: #000099; font-weight: bold;">\u</span>00e1&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3049</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;<span style="color: #000099; font-weight: bold;">\u</span>00c2ngulo&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3050</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Antonina&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3051</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Ant<span style="color: #000099; font-weight: bold;">\u</span>00f4nio Olinto&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">174</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Apucarana&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">163</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Arapongas&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3052</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Arapoti&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3053</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Arapu<span style="color: #000099; font-weight: bold;">\u</span>00e3&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3054</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Araruna&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">173</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Arauc<span style="color: #000099; font-weight: bold;">\u</span>00e1ria&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3055</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Ariranha do Iva<span style="color: #000099; font-weight: bold;">\u</span>00ed&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3056</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Assa<span style="color: #000099; font-weight: bold;">\u</span>00ed&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3057</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Assis Chateaubriand&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3058</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Astorga&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3059</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Atalaia&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3060</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Balsa Nova&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3061</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Bandeirantes&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3062</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Barbosa Ferraz&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3064</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Barrac<span style="color: #000099; font-weight: bold;">\u</span>00e3o&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3063</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Barra do Jacar<span style="color: #000099; font-weight: bold;">\u</span>00e9&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3065</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Bela Vista da Caroba&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3066</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Bela Vista do Para<span style="color: #000099; font-weight: bold;">\u</span>00edso&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3067</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Bituruna&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3068</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Boa Esperan<span style="color: #000099; font-weight: bold;">\u</span>00e7a&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3069</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Boa Esperan<span style="color: #000099; font-weight: bold;">\u</span>00e7a do Igua<span style="color: #000099; font-weight: bold;">\u</span>00e7u&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3070</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Boa Ventura de S<span style="color: #000099; font-weight: bold;">\u</span>00e3o Roque&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3071</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Boa Vista da Aparecida&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3072</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Bocai<span style="color: #000099; font-weight: bold;">\u</span>00fava do Sul&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3073</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Bom Jesus do Sul&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3074</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Bom Sucesso&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3075</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Bom Sucesso do Sul&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3076</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Borraz<span style="color: #000099; font-weight: bold;">\u</span>00f3polis&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3077</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Braganey&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3078</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Brasil<span style="color: #000099; font-weight: bold;">\u</span>00e2ndia do Sul&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3079</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Cafeara&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3080</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Cafel<span style="color: #000099; font-weight: bold;">\u</span>00e2ndia&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3081</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Cafezal do Sul&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3082</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Calif<span style="color: #000099; font-weight: bold;">\u</span>00f3rnia&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3083</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Cambar<span style="color: #000099; font-weight: bold;">\u</span>00e1&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">170</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Camb<span style="color: #000099; font-weight: bold;">\u</span>00e9&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3084</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Cambira&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3085</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Campina da Lagoa&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3086</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Campina do Sim<span style="color: #000099; font-weight: bold;">\u</span>00e3o&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3087</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Campina Grande do Sul&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3088</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Campo Bonito&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3089</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Campo do Tenente&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">159</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Campo Largo&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3090</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Campo Magro&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">162</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Campo Mour<span style="color: #000099; font-weight: bold;">\u</span>00e3o&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3091</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;C<span style="color: #000099; font-weight: bold;">\u</span>00e2ndido de Abreu&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3092</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Cand<span style="color: #000099; font-weight: bold;">\u</span>00f3i&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3093</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Cantagalo&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3094</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Capanema&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3095</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Capit<span style="color: #000099; font-weight: bold;">\u</span>00e3o Le<span style="color: #000099; font-weight: bold;">\u</span>00f4nidas Marques&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3096</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Carambe<span style="color: #000099; font-weight: bold;">\u</span>00ed&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3097</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Carl<span style="color: #000099; font-weight: bold;">\u</span>00f3polis&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">166</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Cascavel&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">161</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Castro&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3098</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Catanduvas&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3099</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Centen<span style="color: #000099; font-weight: bold;">\u</span>00e1rio do Sul&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3100</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Cerro Azul&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3101</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;C<span style="color: #000099; font-weight: bold;">\u</span>00e9u Azul&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3102</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Chopinzinho&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3103</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Cianorte&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3104</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Cidade Ga<span style="color: #000099; font-weight: bold;">\u</span>00facha&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3105</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Clevel<span style="color: #000099; font-weight: bold;">\u</span>00e2ndia&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">171</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Colombo&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3106</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Colorado&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3107</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Congonhinhas&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3108</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Conselheiro Mairinck&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3109</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Contenda&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3110</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Corb<span style="color: #000099; font-weight: bold;">\u</span>00e9lia&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3111</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Corn<span style="color: #000099; font-weight: bold;">\u</span>00e9lio Proc<span style="color: #000099; font-weight: bold;">\u</span>00f3pio&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3112</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Coronel Domingos Soares&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3113</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Coronel Vivida&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3114</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Corumbata<span style="color: #000099; font-weight: bold;">\u</span>00ed do Sul&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3116</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Cruzeiro do Igua<span style="color: #000099; font-weight: bold;">\u</span>00e7u&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3117</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Cruzeiro do Oeste&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3118</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Cruzeiro do Sul&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3115</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Cruz Machado&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3119</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Cruzmaltina&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">164</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Curitiba&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3120</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Curi<span style="color: #000099; font-weight: bold;">\u</span>00fava&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3121</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Diamante d'Oeste&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3122</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Diamante do Norte&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3123</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Diamante do Sul&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3124</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Dois Vizinhos&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3125</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Douradina&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3126</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Doutor Camargo&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3127</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Doutor Ulysses&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3128</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;En<span style="color: #000099; font-weight: bold;">\u</span>00e9as Marques&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3129</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Engenheiro Beltr<span style="color: #000099; font-weight: bold;">\u</span>00e3o&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3130</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Entre Rios do Oeste&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3131</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Esperan<span style="color: #000099; font-weight: bold;">\u</span>00e7a Nova&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3132</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Espig<span style="color: #000099; font-weight: bold;">\u</span>00e3o Alto do Igua<span style="color: #000099; font-weight: bold;">\u</span>00e7u&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3133</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Farol&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3134</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Faxinal&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3135</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Fazenda Rio Grande&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3136</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;F<span style="color: #000099; font-weight: bold;">\u</span>00eanix&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3137</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Fernandes Pinheiro&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3138</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Figueira&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3140</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Flora<span style="color: #000099; font-weight: bold;">\u</span>00ed&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3139</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Flor da Serra do Sul&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3141</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Floresta&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3142</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Florest<span style="color: #000099; font-weight: bold;">\u</span>00f3polis&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3143</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Fl<span style="color: #000099; font-weight: bold;">\u</span>00f3rida&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3144</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Formosa do Oeste&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">152</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Foz do Igua<span style="color: #000099; font-weight: bold;">\u</span>00e7u&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3145</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Foz do Jord<span style="color: #000099; font-weight: bold;">\u</span>00e3o&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3146</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Francisco Alves&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">153</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Francisco Beltr<span style="color: #000099; font-weight: bold;">\u</span>00e3o&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3147</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;General Carneiro&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3148</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Godoy Moreira&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3149</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Goioer<span style="color: #000099; font-weight: bold;">\u</span>00ea&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3150</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Goioxim&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3151</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Grandes Rios&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3152</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Gua<span style="color: #000099; font-weight: bold;">\u</span>00edra&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3153</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Guaira<span style="color: #000099; font-weight: bold;">\u</span>00e7<span style="color: #000099; font-weight: bold;">\u</span>00e1&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3154</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Guamiranga&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3155</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Guapirama&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3156</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Guaporema&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3157</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Guaraci&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3158</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Guarania<span style="color: #000099; font-weight: bold;">\u</span>00e7u&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">168</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Guarapuava&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3159</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Guaraque<span style="color: #000099; font-weight: bold;">\u</span>00e7aba&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3160</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Guaratuba&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3161</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Hon<span style="color: #000099; font-weight: bold;">\u</span>00f3rio Serpa&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3162</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Ibaiti&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3163</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Ibema&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3164</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Ibipor<span style="color: #000099; font-weight: bold;">\u</span>00e3&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3165</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Icara<span style="color: #000099; font-weight: bold;">\u</span>00edma&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3166</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Iguara<span style="color: #000099; font-weight: bold;">\u</span>00e7u&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3167</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Iguatu&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3168</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Imba<span style="color: #000099; font-weight: bold;">\u</span>00fa&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3169</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Imbituva&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3170</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;In<span style="color: #000099; font-weight: bold;">\u</span>00e1cio Martins&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3171</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Inaj<span style="color: #000099; font-weight: bold;">\u</span>00e1&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3172</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Indian<span style="color: #000099; font-weight: bold;">\u</span>00f3polis&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3173</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Ipiranga&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3174</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Ipor<span style="color: #000099; font-weight: bold;">\u</span>00e3&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3175</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Iracema do Oeste&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3176</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Irati&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3177</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Iretama&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3178</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Itaguaj<span style="color: #000099; font-weight: bold;">\u</span>00e9&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3179</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Itaipul<span style="color: #000099; font-weight: bold;">\u</span>00e2ndia&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3180</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Itambarac<span style="color: #000099; font-weight: bold;">\u</span>00e1&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3181</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Itamb<span style="color: #000099; font-weight: bold;">\u</span>00e9&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3182</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Itapejara d'Oeste&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3183</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Itaperu<span style="color: #000099; font-weight: bold;">\u</span>00e7u&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3184</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Ita<span style="color: #000099; font-weight: bold;">\u</span>00fana do Sul&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3185</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Iva<span style="color: #000099; font-weight: bold;">\u</span>00ed&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3186</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Ivaipor<span style="color: #000099; font-weight: bold;">\u</span>00e3&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3187</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Ivat<span style="color: #000099; font-weight: bold;">\u</span>00e9&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3188</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Ivatuba&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3189</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Jaboti&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3190</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Jacarezinho&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3191</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Jaguapit<span style="color: #000099; font-weight: bold;">\u</span>00e3&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3192</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Jaguaria<span style="color: #000099; font-weight: bold;">\u</span>00edva&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3193</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Jandaia do Sul&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3194</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Jani<span style="color: #000099; font-weight: bold;">\u</span>00f3polis&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3195</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Japira&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3196</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Japur<span style="color: #000099; font-weight: bold;">\u</span>00e1&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3197</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Jardim Alegre&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3198</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Jardim Olinda&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3199</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Jataizinho&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3200</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Jesu<span style="color: #000099; font-weight: bold;">\u</span>00edtas&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3201</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Joaquim T<span style="color: #000099; font-weight: bold;">\u</span>00e1vora&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3202</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Jundia<span style="color: #000099; font-weight: bold;">\u</span>00ed do Sul&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3203</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Juranda&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3204</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Jussara&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3205</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Kalor<span style="color: #000099; font-weight: bold;">\u</span>00e9&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3206</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Lapa&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3207</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Laranjal&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">177</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Laranjeiras do Sul&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3208</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Le<span style="color: #000099; font-weight: bold;">\u</span>00f3polis&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3209</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Lidian<span style="color: #000099; font-weight: bold;">\u</span>00f3polis&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3210</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Lindoeste&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3211</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Loanda&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3212</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Lobato&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">165</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Londrina&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3213</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Luiziana&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3214</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Lunardelli&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3215</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Lupion<span style="color: #000099; font-weight: bold;">\u</span>00f3polis&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3216</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Mallet&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3217</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Mambor<span style="color: #000099; font-weight: bold;">\u</span>00ea&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3218</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Mandagua<span style="color: #000099; font-weight: bold;">\u</span>00e7u&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3219</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Mandaguari&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3220</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Mandirituba&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3221</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Manfrin<span style="color: #000099; font-weight: bold;">\u</span>00f3polis&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3222</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Mangueirinha&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3223</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Manoel Ribas&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3224</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Marechal C<span style="color: #000099; font-weight: bold;">\u</span>00e2ndido Rondon&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3225</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Maria Helena&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3226</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Marialva&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3227</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Maril<span style="color: #000099; font-weight: bold;">\u</span>00e2ndia do Sul&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3228</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Marilena&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3229</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Mariluz&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">151</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Maring<span style="color: #000099; font-weight: bold;">\u</span>00e1&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3230</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Mari<span style="color: #000099; font-weight: bold;">\u</span>00f3polis&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3231</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Marip<span style="color: #000099; font-weight: bold;">\u</span>00e1&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3232</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Marmeleiro&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3233</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Marquinho&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3234</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Marumbi&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3235</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Matel<span style="color: #000099; font-weight: bold;">\u</span>00e2ndia&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3236</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Matinhos&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3237</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Mato Rico&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3238</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Mau<span style="color: #000099; font-weight: bold;">\u</span>00e1 da Serra&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3239</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Medianeira&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3240</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Mercedes&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3241</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Mirador&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3242</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Miraselva&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3243</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Missal&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3244</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Moreira Sales&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3245</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Morretes&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3246</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Munhoz de Melo&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3247</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Nossa Senhora das Gra<span style="color: #000099; font-weight: bold;">\u</span>00e7as&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3248</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Nova Alian<span style="color: #000099; font-weight: bold;">\u</span>00e7a do Iva<span style="color: #000099; font-weight: bold;">\u</span>00ed&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3249</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Nova Am<span style="color: #000099; font-weight: bold;">\u</span>00e9rica da Colina&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3250</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Nova Aurora&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3251</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Nova Cantu&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3252</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Nova Esperan<span style="color: #000099; font-weight: bold;">\u</span>00e7a&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3253</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Nova Esperan<span style="color: #000099; font-weight: bold;">\u</span>00e7a do Sudoeste&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3254</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Nova F<span style="color: #000099; font-weight: bold;">\u</span>00e1tima&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3255</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Nova Laranjeiras&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3256</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Nova Londrina&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3257</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Nova Ol<span style="color: #000099; font-weight: bold;">\u</span>00edmpia&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3258</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Nova Prata do Igua<span style="color: #000099; font-weight: bold;">\u</span>00e7u&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3259</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Nova Santa B<span style="color: #000099; font-weight: bold;">\u</span>00e1rbara&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3260</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Nova Santa Rosa&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3261</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Nova Tebas&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3262</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Novo Itacolomi&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3263</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Ortigueira&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3264</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Ourizona&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3265</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Ouro Verde do Oeste&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3266</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Pai<span style="color: #000099; font-weight: bold;">\u</span>00e7andu&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3267</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Palmas&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3268</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Palmeira&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3269</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Palmital&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3270</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Palotina&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3271</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Para<span style="color: #000099; font-weight: bold;">\u</span>00edso do Norte&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3272</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Paranacity&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">167</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Paranagu<span style="color: #000099; font-weight: bold;">\u</span>00e1&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3273</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Paranapoema&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">155</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Paranava<span style="color: #000099; font-weight: bold;">\u</span>00ed&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3274</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Pato Bragado&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">169</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Pato Branco&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3275</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Paula Freitas&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3276</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Paulo Frontin&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3277</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Peabiru&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3278</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Perobal&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3279</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;P<span style="color: #000099; font-weight: bold;">\u</span>00e9rola&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3280</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;P<span style="color: #000099; font-weight: bold;">\u</span>00e9rola d'Oeste&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3281</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Pi<span style="color: #000099; font-weight: bold;">\u</span>00ean&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">176</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Pinhais&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3283</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Pinhal<span style="color: #000099; font-weight: bold;">\u</span>00e3o&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3282</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Pinhal de S<span style="color: #000099; font-weight: bold;">\u</span>00e3o Bento&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3284</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Pinh<span style="color: #000099; font-weight: bold;">\u</span>00e3o&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3285</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Pira<span style="color: #000099; font-weight: bold;">\u</span>00ed do Sul&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">156</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Piraquara&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3286</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Pitanga&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3287</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Pitangueiras&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3288</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Planaltina do Paran<span style="color: #000099; font-weight: bold;">\u</span>00e1&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3289</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Planalto&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">154</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Ponta Grossa&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3290</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Pontal do Paran<span style="color: #000099; font-weight: bold;">\u</span>00e1&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3291</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Porecatu&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3292</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Porto Amazonas&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3293</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Porto Barreiro&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3294</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Porto Rico&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3295</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Porto Vit<span style="color: #000099; font-weight: bold;">\u</span>00f3ria&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3296</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Prado Ferreira&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3297</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Pranchita&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3298</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Presidente Castelo Branco&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3299</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Primeiro de Maio&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3300</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Prudent<span style="color: #000099; font-weight: bold;">\u</span>00f3polis&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3301</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Quarto Centen<span style="color: #000099; font-weight: bold;">\u</span>00e1rio&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3302</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Quatigu<span style="color: #000099; font-weight: bold;">\u</span>00e1&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3303</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Quatro Barras&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3304</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Quatro Pontes&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3305</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Quedas do Igua<span style="color: #000099; font-weight: bold;">\u</span>00e7u&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3306</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Quer<span style="color: #000099; font-weight: bold;">\u</span>00eancia do Norte&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3307</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Quinta do Sol&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3308</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Quitandinha&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3309</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Ramil<span style="color: #000099; font-weight: bold;">\u</span>00e2ndia&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3310</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Rancho Alegre&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3311</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Rancho Alegre d'Oeste&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3312</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Realeza&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3313</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Rebou<span style="color: #000099; font-weight: bold;">\u</span>00e7as&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3314</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Renascen<span style="color: #000099; font-weight: bold;">\u</span>00e7a&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3315</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Reserva&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3316</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Reserva do Igua<span style="color: #000099; font-weight: bold;">\u</span>00e7u&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3317</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Ribeir<span style="color: #000099; font-weight: bold;">\u</span>00e3o Claro&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3318</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Ribeir<span style="color: #000099; font-weight: bold;">\u</span>00e3o do Pinhal&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3319</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Rio Azul&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3320</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Rio Bom&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3321</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Rio Bonito do Igua<span style="color: #000099; font-weight: bold;">\u</span>00e7u&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3322</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Rio Branco do Iva<span style="color: #000099; font-weight: bold;">\u</span>00ed&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3323</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Rio Branco do Sul&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3324</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Rio Negro&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3325</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Rol<span style="color: #000099; font-weight: bold;">\u</span>00e2ndia&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3326</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Roncador&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3327</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Rondon&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3328</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Ros<span style="color: #000099; font-weight: bold;">\u</span>00e1rio do Iva<span style="color: #000099; font-weight: bold;">\u</span>00ed&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3329</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Sab<span style="color: #000099; font-weight: bold;">\u</span>00e1udia&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3330</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Salgado Filho&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3331</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Salto do Itarar<span style="color: #000099; font-weight: bold;">\u</span>00e9&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3332</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Salto do Lontra&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3333</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Santa Am<span style="color: #000099; font-weight: bold;">\u</span>00e9lia&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3334</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Santa Cec<span style="color: #000099; font-weight: bold;">\u</span>00edlia do Pav<span style="color: #000099; font-weight: bold;">\u</span>00e3o&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3335</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Santa Cruz de Monte Castelo&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3336</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Santa F<span style="color: #000099; font-weight: bold;">\u</span>00e9&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3337</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Santa Helena&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3338</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Santa In<span style="color: #000099; font-weight: bold;">\u</span>00eas&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3339</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Santa Isabel do Iva<span style="color: #000099; font-weight: bold;">\u</span>00ed&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3340</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Santa Izabel do Oeste&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3341</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Santa L<span style="color: #000099; font-weight: bold;">\u</span>00facia&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3342</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Santa Maria do Oeste&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3343</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Santa Mariana&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3344</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Santa M<span style="color: #000099; font-weight: bold;">\u</span>00f4nica&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3347</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Santana do Itarar<span style="color: #000099; font-weight: bold;">\u</span>00e9&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3345</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Santa Tereza do Oeste&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3346</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Santa Terezinha de Itaipu&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3348</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Santo Ant<span style="color: #000099; font-weight: bold;">\u</span>00f4nio da Platina&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3349</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Santo Ant<span style="color: #000099; font-weight: bold;">\u</span>00f4nio do Caiu<span style="color: #000099; font-weight: bold;">\u</span>00e1&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3350</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Santo Ant<span style="color: #000099; font-weight: bold;">\u</span>00f4nio do Para<span style="color: #000099; font-weight: bold;">\u</span>00edso&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3351</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Santo Ant<span style="color: #000099; font-weight: bold;">\u</span>00f4nio do Sudoeste&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3352</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Santo In<span style="color: #000099; font-weight: bold;">\u</span>00e1cio&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3353</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;S<span style="color: #000099; font-weight: bold;">\u</span>00e3o Carlos d
o Iva<span style="color: #000099; font-weight: bold;">\u</span>00ed&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3354</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;S<span style="color: #000099; font-weight: bold;">\u</span>00e3o Jer<span style="color: #000099; font-weight: bold;">\u</span>00f4nimo da Serra&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3355</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;S<span style="color: #000099; font-weight: bold;">\u</span>00e3o Jo<span style="color: #000099; font-weight: bold;">\u</span>00e3o&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3356</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;S<span style="color: #000099; font-weight: bold;">\u</span>00e3o Jo<span style="color: #000099; font-weight: bold;">\u</span>00e3o do Caiu<span style="color: #000099; font-weight: bold;">\u</span>00e1&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3357</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;S<span style="color: #000099; font-weight: bold;">\u</span>00e3o Jo<span style="color: #000099; font-weight: bold;">\u</span>00e3o do Iva<span style="color: #000099; font-weight: bold;">\u</span>00ed&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3358</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;S<span style="color: #000099; font-weight: bold;">\u</span>00e3o Jo<span style="color: #000099; font-weight: bold;">\u</span>00e3o do Triunfo&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3359</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;S<span style="color: #000099; font-weight: bold;">\u</span>00e3o Jorge d'Oeste&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3360</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;S<span style="color: #000099; font-weight: bold;">\u</span>00e3o Jorge do Iva<span style="color: #000099; font-weight: bold;">\u</span>00ed&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3361</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;S<span style="color: #000099; font-weight: bold;">\u</span>00e3o Jorge do Patroc<span style="color: #000099; font-weight: bold;">\u</span>00ednio&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3362</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;S<span style="color: #000099; font-weight: bold;">\u</span>00e3o Jos<span style="color: #000099; font-weight: bold;">\u</span>00e9 da Boa Vista&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3363</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;S<span style="color: #000099; font-weight: bold;">\u</span>00e3o Jos<span style="color: #000099; font-weight: bold;">\u</span>00e9 das Palmeiras&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">175</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;S<span style="color: #000099; font-weight: bold;">\u</span>00e3o Jos<span style="color: #000099; font-weight: bold;">\u</span>00e9 dos Pinhais&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3364</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;S<span style="color: #000099; font-weight: bold;">\u</span>00e3o Manoel do Paran<span style="color: #000099; font-weight: bold;">\u</span>00e1&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3365</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;S<span style="color: #000099; font-weight: bold;">\u</span>00e3o Mateus do Sul&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3366</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;S<span style="color: #000099; font-weight: bold;">\u</span>00e3o Miguel do Igua<span style="color: #000099; font-weight: bold;">\u</span>00e7u&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3367</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;S<span style="color: #000099; font-weight: bold;">\u</span>00e3o Pedro do Igua<span style="color: #000099; font-weight: bold;">\u</span>00e7u&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3368</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;S<span style="color: #000099; font-weight: bold;">\u</span>00e3o Pedro do Iva<span style="color: #000099; font-weight: bold;">\u</span>00ed&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3369</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;S<span style="color: #000099; font-weight: bold;">\u</span>00e3o Pedro do Paran<span style="color: #000099; font-weight: bold;">\u</span>00e1&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3370</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;S<span style="color: #000099; font-weight: bold;">\u</span>00e3o Sebasti<span style="color: #000099; font-weight: bold;">\u</span>00e3o da Amoreira&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3371</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;S<span style="color: #000099; font-weight: bold;">\u</span>00e3o Tom<span style="color: #000099; font-weight: bold;">\u</span>00e9&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3372</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Sapopema&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">150</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Sarandi&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3373</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Saudade do Igua<span style="color: #000099; font-weight: bold;">\u</span>00e7u&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3374</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Seng<span style="color: #000099; font-weight: bold;">\u</span>00e9s&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3375</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Serran<span style="color: #000099; font-weight: bold;">\u</span>00f3polis do Igua<span style="color: #000099; font-weight: bold;">\u</span>00e7u&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3376</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Sertaneja&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3377</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Sertan<span style="color: #000099; font-weight: bold;">\u</span>00f3polis&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3378</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Siqueira Campos&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3379</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Sulina&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3380</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Tamarana&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3381</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Tamboara&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3382</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Tapejara&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3383</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Tapira&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3384</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Teixeira Soares&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">158</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Tel<span style="color: #000099; font-weight: bold;">\u</span>00eamaco Borba&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3385</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Terra Boa&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3386</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Terra Rica&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3387</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Terra Roxa&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3388</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Tibagi&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3389</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Tijucas do Sul&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">172</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Toledo&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3390</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Tomazina&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3391</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Tr<span style="color: #000099; font-weight: bold;">\u</span>00eas Barras do Paran<span style="color: #000099; font-weight: bold;">\u</span>00e1&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3392</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Tunas do Paran<span style="color: #000099; font-weight: bold;">\u</span>00e1&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3393</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Tuneiras do Oeste&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3394</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Tup<span style="color: #000099; font-weight: bold;">\u</span>00e3ssi&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3395</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Turvo&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3396</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Ubirat<span style="color: #000099; font-weight: bold;">\u</span>00e3&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">157</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Umuarama&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3397</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Uni<span style="color: #000099; font-weight: bold;">\u</span>00e3o da Vit<span style="color: #000099; font-weight: bold;">\u</span>00f3ria&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3398</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Uniflor&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3399</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Ura<span style="color: #000099; font-weight: bold;">\u</span>00ed&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3400</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Ventania&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3401</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Vera Cruz do Oeste&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3402</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Ver<span style="color: #000099; font-weight: bold;">\u</span>00ea&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3403</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Vila Alta&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3404</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Virmond&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3405</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Vitorino&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3406</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Wenceslau Braz&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3407</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Xambr<span style="color: #000099; font-weight: bold;">\u</span>00ea&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#93;</span></pre></td></tr></table></div>

<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save"><img src="http://blog.patrickespake.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://blog.patrickespake.com/2008/12/04/populando-um-combobox-atraves-de-um-resultado-em-json-usando-o-framework-javascript-prototype/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Como transformar os valores digitados pelo usuário antes de escrever-los de volta no form em symfony</title>
		<link>http://blog.patrickespake.com/2008/08/25/como-transformar-os-valores-digitados-pelo-usuario-antes-de-escrever-los-de-volta-no-form-em-symfony/</link>
		<comments>http://blog.patrickespake.com/2008/08/25/como-transformar-os-valores-digitados-pelo-usuario-antes-de-escrever-los-de-volta-no-form-em-symfony/#comments</comments>
		<pubDate>Mon, 25 Aug 2008 19:30:13 +0000</pubDate>
		<dc:creator>patrickespake</dc:creator>
				<category><![CDATA[Symfony]]></category>
		<category><![CDATA[conversão]]></category>
		<category><![CDATA[converters]]></category>
		<category><![CDATA[enabled]]></category>
		<category><![CDATA[field]]></category>
		<category><![CDATA[fillin]]></category>
		<category><![CDATA[form]]></category>
		<category><![CDATA[funções]]></category>
		<category><![CDATA[htmlspecialchars]]></category>
		<category><![CDATA[name]]></category>
		<category><![CDATA[param]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[transformar]]></category>
		<category><![CDATA[trim]]></category>
		<category><![CDATA[usuário]]></category>
		<category><![CDATA[valores]]></category>

		<guid isPermaLink="false">http://patrickespake.wordpress.com/?p=86</guid>
		<description><![CDATA[Você pode querer transformar os valores digitados pelo usuário antes de escrever-los de volta em um formulário de entrada. Por exemplo, retirar os espaços no começo e no final, transformação de caracteres especiais em entidades, e todas as outras transformações que podem ser chamado através de uma função PHP. Para isso é necessário criar um [...]]]></description>
			<content:encoded><![CDATA[<p>Você pode querer transformar os valores digitados pelo usuário antes de escrever-los de volta em um formulário de entrada. Por exemplo, retirar os espaços no começo e no final, transformação de caracteres especiais em entidades, e todas as outras transformações que podem ser chamado através de uma função PHP.</p>
<p>Para isso é necessário criar um arquivo de validação, especificando o nome do formulário, as funções de conversão e os campos que devem ser convertidos.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
</pre></td><td class="code"><pre class="php" style="font-family:monospace;">fillin<span style="color: #339933;">:</span>
  enabled<span style="color: #339933;">:</span> <span style="color: #009900; font-weight: bold;">true</span>
  param<span style="color: #339933;">:</span>
    name<span style="color: #339933;">:</span> form_nome
    converters<span style="color: #339933;">:</span>
      <span style="color: #990000;">trim</span><span style="color: #339933;">:</span> <span style="color: #009900;">&#91;</span>nome_do_campo_do_form<span style="color: #009900;">&#93;</span>
      <span style="color: #990000;">htmlspecialchars</span><span style="color: #339933;">:</span> <span style="color: #009900;">&#91;</span>nome_do_campo_do_form<span style="color: #009900;">&#93;</span></pre></td></tr></table></div>

<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save"><img src="http://blog.patrickespake.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://blog.patrickespake.com/2008/08/25/como-transformar-os-valores-digitados-pelo-usuario-antes-de-escrever-los-de-volta-no-form-em-symfony/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Método IndexOfAny em C#</title>
		<link>http://blog.patrickespake.com/2008/04/20/metodo-indexofany-em-c/</link>
		<comments>http://blog.patrickespake.com/2008/04/20/metodo-indexofany-em-c/#comments</comments>
		<pubDate>Sun, 20 Apr 2008 20:52:34 +0000</pubDate>
		<dc:creator>patrickespake</dc:creator>
				<category><![CDATA[C#]]></category>
		<category><![CDATA[BackColor]]></category>
		<category><![CDATA[Color]]></category>
		<category><![CDATA[csharp]]></category>
		<category><![CDATA[form]]></category>
		<category><![CDATA[formulário]]></category>
		<category><![CDATA[IndexOfAny]]></category>
		<category><![CDATA[text]]></category>
		<category><![CDATA[textbox]]></category>
		<category><![CDATA[TextChanged]]></category>

		<guid isPermaLink="false">http://patrickespake.wordpress.com/?p=35</guid>
		<description><![CDATA[O método IndexOfAny busca o índice da primeira ocorrência de um caracter ou muitos em uma string. Vamos ver como isso funciona, construa o form abaixo com somente um TextBox. Dê duplo clique sobre o TextBox e digite o código abaixo no evento TextChanged: 1 2 3 4 5 6 7 8 9 10 11 [...]]]></description>
			<content:encoded><![CDATA[<p>O método IndexOfAny busca o índice da primeira ocorrência de um caracter ou muitos em uma string.</p>
<p>Vamos ver como isso funciona, construa o form abaixo com somente um TextBox.</p>
<p style="text-align:center;"><a href="http://patrickespake.files.wordpress.com/2008/04/indexofany_csharp.jpg"><img class="aligncenter size-full wp-image-36" src="http://patrickespake.files.wordpress.com/2008/04/indexofany_csharp.jpg" alt="" /></a></p>
<p style="text-align:left;">Dê duplo clique sobre o <strong>TextBox</strong> e digite o código abaixo no evento <strong>TextChanged</strong>:</p>
<p style="text-align:left;">

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
</pre></td><td class="code"><pre class="csharp" style="font-family:monospace;">&nbsp;
        <span style="color: #0600FF;">private</span> <span style="color: #0600FF;">void</span> textBox1_TextChanged<span style="color: #000000;">&#40;</span><span style="color: #FF0000;">object</span> sender, EventArgs e<span style="color: #000000;">&#41;</span>
        <span style="color: #000000;">&#123;</span>
            <span style="color: #FF0000;">char</span> <span style="color: #000000;">&#91;</span><span style="color: #000000;">&#93;</span> anyOf <span style="color: #008000;">=</span> <span style="color: #000000;">&#123;</span><span style="color: #666666;">'@'</span>, <span style="color: #666666;">'.'</span>, <span style="color: #666666;">'!'</span><span style="color: #000000;">&#125;</span><span style="color: #008000;">;</span>
            <span style="color: #0600FF;">if</span> <span style="color: #000000;">&#40;</span>textBox1.<span style="color: #0000FF;">Text</span>.<span style="color: #0000FF;">IndexOfAny</span><span style="color: #000000;">&#40;</span>anyOf<span style="color: #000000;">&#41;</span> <span style="color: #008000;">==</span> <span style="color: #008000;">-</span><span style="color: #FF0000;">1</span><span style="color: #000000;">&#41;</span>
            <span style="color: #000000;">&#123;</span>
                textBox1.<span style="color: #0000FF;">BackColor</span> <span style="color: #008000;">=</span> Color.<span style="color: #0000FF;">Red</span><span style="color: #008000;">;</span>
            <span style="color: #000000;">&#125;</span>
            <span style="color: #0600FF;">else</span>
            <span style="color: #000000;">&#123;</span>
                textBox1.<span style="color: #0000FF;">BackColor</span> <span style="color: #008000;">=</span> Color.<span style="color: #0000FF;">Green</span><span style="color: #008000;">;</span>
            <span style="color: #000000;">&#125;</span>
        <span style="color: #000000;">&#125;</span></pre></td></tr></table></div>

<p style="text-align:left;">Rode a aplicação com <strong>F5</strong>, digite qualquer texto e depois insira os caracteres <strong>&#8220;@&#8221;</strong>, <strong>&#8220;.&#8221;</strong> ou <strong>&#8220;!&#8221;</strong>. A caixa de texto fica com o fundo vermelho quando não existe esses caracteres e fundo verde quando você digita os caracteres mencionados.</p>
<p style="text-align:left;">Vamos entender como o código funciona:</p>
<p style="text-align:left;">

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
</pre></td><td class="code"><pre class="csharp" style="font-family:monospace;">&nbsp;
<span style="color: #FF0000;">char</span> <span style="color: #000000;">&#91;</span><span style="color: #000000;">&#93;</span> anyOf <span style="color: #008000;">=</span> <span style="color: #000000;">&#123;</span><span style="color: #666666;">'@'</span>, <span style="color: #666666;">'.'</span>, <span style="color: #666666;">'!'</span><span style="color: #000000;">&#125;</span><span style="color: #008000;">;</span></pre></td></tr></table></div>

<p style="text-align:left;">O código acima cria um array de caracteres com os itens que desejamos buscar na string do TextBox.</p>
<p style="text-align:left;">O código:</p>
<p style="text-align:left;">

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
</pre></td><td class="code"><pre class="csharp" style="font-family:monospace;">&nbsp;
            <span style="color: #0600FF;">if</span> <span style="color: #000000;">&#40;</span>textBox1.<span style="color: #0000FF;">Text</span>.<span style="color: #0000FF;">IndexOfAny</span><span style="color: #000000;">&#40;</span>anyOf<span style="color: #000000;">&#41;</span> <span style="color: #008000;">==</span> <span style="color: #008000;">-</span><span style="color: #FF0000;">1</span><span style="color: #000000;">&#41;</span>
            <span style="color: #000000;">&#123;</span>
                textBox1.<span style="color: #0000FF;">BackColor</span> <span style="color: #008000;">=</span> Color.<span style="color: #0000FF;">Red</span><span style="color: #008000;">;</span>
            <span style="color: #000000;">&#125;</span>
            <span style="color: #0600FF;">else</span>
            <span style="color: #000000;">&#123;</span>
                textBox1.<span style="color: #0000FF;">BackColor</span> <span style="color: #008000;">=</span> Color.<span style="color: #0000FF;">Green</span><span style="color: #008000;">;</span>
            <span style="color: #000000;">&#125;</span></pre></td></tr></table></div>

<p style="text-align:left;">Que verifica se existe os caracteres procurados na string do TextBox a função:</p>
<p style="text-align:left;">

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
</pre></td><td class="code"><pre class="csharp" style="font-family:monospace;">&nbsp;
textBox1.<span style="color: #0000FF;">Text</span>.<span style="color: #0000FF;">IndexOfAny</span><span style="color: #000000;">&#40;</span>anyOf<span style="color: #000000;">&#41;</span></pre></td></tr></table></div>

<p style="text-align:left;">Recebe o array de caracteres <strong>anyOf </strong>e busca na string, se encontrar retorna o índice do caracter na string, caso não encontre retorna <strong>-1</strong>.</p>
<p style="text-align:left;">Dessa forma fiz um <strong>IF</strong> se retornar <strong>-1</strong> que dizer que não existe os caracteres buscados, qualquer coisa diferente significa que foi encontrada uma ocorrência dos caracteres.</p>
<p style="text-align:left;">E usando:</p>
<p style="text-align:left;">

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
</pre></td><td class="code"><pre class="csharp" style="font-family:monospace;">&nbsp;
textBox1.<span style="color: #0000FF;">BackColor</span> <span style="color: #008000;">=</span> Color.<span style="color: #0000FF;">Green</span><span style="color: #008000;">;</span></pre></td></tr></table></div>

<p style="text-align:left;">Mudamos a cor de fundo do TextBox.</p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save"><img src="http://blog.patrickespake.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://blog.patrickespake.com/2008/04/20/metodo-indexofany-em-c/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>AcceptButton e CancelButton em C#</title>
		<link>http://blog.patrickespake.com/2008/04/20/acceptbutton-e-cancelbutton-em-c/</link>
		<comments>http://blog.patrickespake.com/2008/04/20/acceptbutton-e-cancelbutton-em-c/#comments</comments>
		<pubDate>Sun, 20 Apr 2008 18:54:30 +0000</pubDate>
		<dc:creator>patrickespake</dc:creator>
				<category><![CDATA[C#]]></category>
		<category><![CDATA[.net]]></category>
		<category><![CDATA[AcceptButton]]></category>
		<category><![CDATA[CancelButton]]></category>
		<category><![CDATA[csharp]]></category>
		<category><![CDATA[enter]]></category>
		<category><![CDATA[esc]]></category>
		<category><![CDATA[form]]></category>
		<category><![CDATA[MessageBox]]></category>
		<category><![CDATA[MessageBoxButtons]]></category>

		<guid isPermaLink="false">http://patrickespake.wordpress.com/?p=31</guid>
		<description><![CDATA[Vamos ver como trabalhar quando a tecla ENTER e ESC são pressionadas dentro de formulário em C#. Crie um formulário com a seguinte aparência: Mude a propriedade Name do botão OK para buttonOk e do botão Cancelar para buttonCancelar. Dê duplo clique no botão OK e insira o seguinte código: 1 2 3 4 5 [...]]]></description>
			<content:encoded><![CDATA[<p>Vamos ver como trabalhar quando a tecla ENTER e ESC são pressionadas dentro de formulário em C#.</p>
<p>Crie um formulário com a seguinte aparência:</p>
<p style="text-align:center;"><a href="http://patrickespake.files.wordpress.com/2008/04/acceptbutton_cancelbutton_csharp.jpg"><img class="aligncenter size-full wp-image-32" src="http://patrickespake.files.wordpress.com/2008/04/acceptbutton_cancelbutton_csharp.jpg" alt="" /></a></p>
<p style="text-align:left;">Mude a propriedade <strong>Name</strong> do botão <strong>OK </strong>para <strong>buttonOk</strong> e do botão <strong>Cancelar</strong> para <strong>buttonCancelar</strong>.</p>
<p style="text-align:left;">Dê duplo clique no botão <strong>OK</strong> e insira o seguinte código:</p>
<p style="text-align:left;">

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
</pre></td><td class="code"><pre class="csharp" style="font-family:monospace;">&nbsp;
        <span style="color: #0600FF;">private</span> <span style="color: #0600FF;">void</span> buttonOK_Click<span style="color: #000000;">&#40;</span><span style="color: #FF0000;">object</span> sender, EventArgs e<span style="color: #000000;">&#41;</span>
        <span style="color: #000000;">&#123;</span>
            MessageBox.<span style="color: #0000FF;">Show</span><span style="color: #000000;">&#40;</span><span style="color: #666666;">&quot;Botão OK&quot;</span>, <span style="color: #666666;">&quot;Aviso&quot;</span>, MessageBoxButtons.<span style="color: #0000FF;">OK</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
        <span style="color: #000000;">&#125;</span></pre></td></tr></table></div>

</p>
<p style="text-align:left;">Faça o mesmo para o botão <strong>Cancelar</strong> e insira o seguinte código:</p>
<p style="text-align:left;">

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
</pre></td><td class="code"><pre class="csharp" style="font-family:monospace;">&nbsp;
        <span style="color: #0600FF;">private</span> <span style="color: #0600FF;">void</span> buttonCancelar_Click<span style="color: #000000;">&#40;</span><span style="color: #FF0000;">object</span> sender, EventArgs e<span style="color: #000000;">&#41;</span>
        <span style="color: #000000;">&#123;</span>
            MessageBox.<span style="color: #0000FF;">Show</span><span style="color: #000000;">&#40;</span><span style="color: #666666;">&quot;Botão Cancelar&quot;</span>, <span style="color: #666666;">&quot;Aviso&quot;</span>, MessageBoxButtons.<span style="color: #0000FF;">OK</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
        <span style="color: #000000;">&#125;</span></pre></td></tr></table></div>

</p>
<p style="text-align:left;">Esses códigos são para abrir uma caixa de diálogo quando o botão for clicado, para entender mais sobre caixas de diálogo leia: <a href="http://patrickespake.wordpress.com/2008/04/19/criacao-de-caixa-de-dialogo-em-c/">http://patrickespake.wordpress.com/2008/04/19/criacao-de-caixa-de-dialogo-em-c/</a></p>
<p style="text-align:left;">O que queremos fazer é quando a tecla <strong>ENTER</strong> for pressionada o botão <strong>OK</strong> sejá chamando e quando a tecla <strong>ESC</strong> for pressionada o botão <strong>Cancelar</strong> seja chamado.</p>
<p style="text-align:left;">Para fazer isso existe duas propriedades no formulário chamadas <strong>AcceptButton</strong> e <strong>CancelButton</strong>.</p>
<p style="text-align:left;">O <strong>AcceptButton</strong> trabalha quando o <strong>ENTER</strong> é pressionado.</p>
<p style="text-align:left;">O <strong>CancelButton</strong> trabalha quando o <strong>ESC</strong> é pressionado.</p>
<p style="text-align:left;">Para definir essas propriedades clique no formulário e depois vá até a tool box <strong>Properties</strong>.</p>
<p style="text-align:left;">Define os valores da seguinte forma:</p>
<p style="text-align:center;"><a href="http://patrickespake.files.wordpress.com/2008/04/acceptbutton_csharp.jpg"><img class="aligncenter size-full wp-image-33" src="http://patrickespake.files.wordpress.com/2008/04/acceptbutton_csharp.jpg" alt="" /></a></p>
<p style="text-align:left;">e</p>
<p style="text-align:center;"><a href="http://patrickespake.files.wordpress.com/2008/04/cancelbutton_csharp.jpg"><img class="aligncenter size-full wp-image-34" src="http://patrickespake.files.wordpress.com/2008/04/cancelbutton_csharp.jpg" alt="" /></a></p>
<p style="text-align:left;">Pronto! Agora pressione F5 e veja o que acontece quando você pressiona as teclas <strong>ENTER</strong> e <strong>ESC</strong>.</p>
<p style="text-align:left;">Com a tecla <strong>ENTER </strong>será chamado o botão <strong>OK</strong> e com a tecla <strong>ESC</strong> será chamado o botão <strong>Cancelar</strong>.</p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save"><img src="http://blog.patrickespake.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://blog.patrickespake.com/2008/04/20/acceptbutton-e-cancelbutton-em-c/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Fechar formulário em C#</title>
		<link>http://blog.patrickespake.com/2008/04/20/fechar-formulario-em-c/</link>
		<comments>http://blog.patrickespake.com/2008/04/20/fechar-formulario-em-c/#comments</comments>
		<pubDate>Sun, 20 Apr 2008 17:41:06 +0000</pubDate>
		<dc:creator>patrickespake</dc:creator>
				<category><![CDATA[C#]]></category>
		<category><![CDATA[button]]></category>
		<category><![CDATA[click]]></category>
		<category><![CDATA[close]]></category>
		<category><![CDATA[csharp]]></category>
		<category><![CDATA[DialogResult]]></category>
		<category><![CDATA[form]]></category>
		<category><![CDATA[formulário]]></category>
		<category><![CDATA[MessageBox]]></category>
		<category><![CDATA[show]]></category>
		<category><![CDATA[ToString]]></category>

		<guid isPermaLink="false">http://patrickespake.wordpress.com/?p=30</guid>
		<description><![CDATA[Vou explicar como podemos fechar o formulário após clicar em um botão. Para conseguir fazer esse exemplo você deve primeiro fazer o conteúdo explicado aqui: http://patrickespake.wordpress.com/2008/04/19/criacao-de-caixa-de-dialogo-em-c/. Quando usuário clica no botão Abrir Caixa de Diálogo é executado o seguinte código: 1 2 3 4 5 6 7 8 9 10 11 12 13 private void [...]]]></description>
			<content:encoded><![CDATA[<p>Vou explicar como podemos fechar o formulário após clicar em um botão.</p>
<p>Para conseguir fazer esse exemplo você deve primeiro fazer o conteúdo explicado aqui: <a href="http://patrickespake.wordpress.com/2008/04/19/criacao-de-caixa-de-dialogo-em-c/">http://patrickespake.wordpress.com/2008/04/19/criacao-de-caixa-de-dialogo-em-c/</a>.</p>
<p>Quando usuário clica no botão <strong>Abrir Caixa de Diálogo</strong> é executado o seguinte código:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
</pre></td><td class="code"><pre class="csharp" style="font-family:monospace;">        <span style="color: #0600FF;">private</span> <span style="color: #0600FF;">void</span> button1_Click<span style="color: #000000;">&#40;</span><span style="color: #FF0000;">object</span> sender, EventArgs e<span style="color: #000000;">&#41;</span>
        <span style="color: #000000;">&#123;</span>
            DialogResult d <span style="color: #008000;">=</span> MessageBox.<span style="color: #0000FF;">Show</span><span style="color: #000000;">&#40;</span> <span style="color: #666666;">&quot;Você deseja sair?&quot;</span>, <span style="color: #666666;">&quot;Aviso&quot;</span>, MessageBoxButtons.<span style="color: #0000FF;">YesNo</span> <span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
&nbsp;
            <span style="color: #0600FF;">if</span> <span style="color: #000000;">&#40;</span> d.<span style="color: #0000FF;">ToString</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span> <span style="color: #008000;">==</span> <span style="color: #666666;">&quot;Yes&quot;</span> <span style="color: #000000;">&#41;</span>
            <span style="color: #000000;">&#123;</span>
                <span style="color: #008080; font-style: italic;">// Código que deve ser executado quando clicar no botão SIM</span>
            <span style="color: #000000;">&#125;</span>
            <span style="color: #0600FF;">else</span>
            <span style="color: #000000;">&#123;</span>
                <span style="color: #008080; font-style: italic;">// Código que deve ser executado quando clicar no botão NÃO</span>
            <span style="color: #000000;">&#125;</span>
        <span style="color: #000000;">&#125;</span></pre></td></tr></table></div>

<p>Esse código irá criar uma caixa de diálogo e questionar se o usuário deseja sair, atualmente não é executada nenhuma ação quando ele clica no botão <strong>Sim</strong>.</p>
<p>O código abaixo que define qual ação deve ser realizada quando o usuário clicar no botão <strong>Sim</strong> ou <strong>Não</strong>.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
</pre></td><td class="code"><pre class="csharp" style="font-family:monospace;">            <span style="color: #0600FF;">if</span> <span style="color: #000000;">&#40;</span> d.<span style="color: #0000FF;">ToString</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span> <span style="color: #008000;">==</span> <span style="color: #666666;">&quot;Yes&quot;</span> <span style="color: #000000;">&#41;</span>
            <span style="color: #000000;">&#123;</span>
                <span style="color: #008080; font-style: italic;">// Código que deve ser executado quando clicar no botão SIM</span>
            <span style="color: #000000;">&#125;</span>
            <span style="color: #0600FF;">else</span>
            <span style="color: #000000;">&#123;</span>
                <span style="color: #008080; font-style: italic;">// Código que deve ser executado quando clicar no botão NÃO</span>
            <span style="color: #000000;">&#125;</span></pre></td></tr></table></div>

<p>Modifique o código para ficar da seguinte forma:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
</pre></td><td class="code"><pre class="csharp" style="font-family:monospace;">            <span style="color: #0600FF;">if</span> <span style="color: #000000;">&#40;</span> d.<span style="color: #0000FF;">ToString</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span> <span style="color: #008000;">==</span> <span style="color: #666666;">&quot;Yes&quot;</span> <span style="color: #000000;">&#41;</span>
            <span style="color: #000000;">&#123;</span>
                <span style="color: #008080; font-style: italic;">// Código que deve ser executado quando clicar no botão SIM</span>
                Close<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
            <span style="color: #000000;">&#125;</span></pre></td></tr></table></div>

<p>Apenas colocamos o código:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="csharp" style="font-family:monospace;">Close<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span></pre></td></tr></table></div>

<p>Agora quando o usuário clicar no botão de confirmação <strong>Sim</strong> o formulário será fechado.</p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save"><img src="http://blog.patrickespake.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://blog.patrickespake.com/2008/04/20/fechar-formulario-em-c/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
