<?xml version="1.0" encoding="UTF-8"?><!-- generator="wordpress.com" -->
<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/"
	>

<channel>
	<title>programacao &amp;laquo; WordPress.com Tag Feed</title>
	<link>http://wordpress.com/tag/programacao/</link>
	<description>Feed of posts on WordPress.com tagged "programacao"</description>
	<pubDate>Fri, 18 Jul 2008 17:43:33 +0000</pubDate>

	<generator>http://wordpress.com/tags/</generator>
	<language>en</language>

<item>
<title><![CDATA[formatando data em uma maskedtextbox]]></title>
<link>http://limitado.wordpress.com/?p=82</link>
<pubDate>Fri, 18 Jul 2008 17:04:40 +0000</pubDate>
<dc:creator>adlersd</dc:creator>
<guid>http://limitado.wordpress.com/?p=82</guid>
<description><![CDATA[Por algumas razões não poderia utilizar o DateTimePicker, optando assim por uma MaskedTextBox, con]]></description>
<content:encoded><![CDATA[<p>Por algumas razões não poderia utilizar o DateTimePicker, optando assim por uma MaskedTextBox, conforme o código abaixo, ao inserir a data no banco de dados, nenhum problema é encontrado como esperado.</p>
<blockquote><p>'<br />
'dtpDataNascimento<br />
'<br />
Me.dtpDataNascimento.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle<br />
Me.dtpDataNascimento.Location = New System.Drawing.Point(687, 128)<br />
Me.dtpDataNascimento.Mask = "00/00/0000"<br />
Me.dtpDataNascimento.Name = "dtpDataNascimento"<br />
Me.dtpDataNascimento.Size = New System.Drawing.Size(105, 20)</p></blockquote>
<p>Mas, ao resgatar a data de volta ao campo, para manutenção, os zeros desaparecem. Ex.: data no banco de dados  <strong>1944-08-27</strong>, mas no MaskeTextBox ela é exibida como <strong>27/81/994</strong>_.</p>
<p>o problema é a formatação da data, formatarmos como o código abaixo:</p>
<blockquote><p>Me.dtpDataNascimento.DataBindings.Add("Text", dataset, "nome_do_campo", True, DataSourceUpdateMode.OnValidation, "", "dd/MM/yyyy")</p></blockquote>
<p>abraço,<br />
até...</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Crie formulários para sites e blogs - serviço gratuito]]></title>
<link>http://cacalinks.wordpress.com/?p=829</link>
<pubDate>Fri, 18 Jul 2008 13:07:15 +0000</pubDate>
<dc:creator>deianaweb</dc:creator>
<guid>http://cacalinks.wordpress.com/?p=829</guid>
<description><![CDATA[Para os que não possuem muito conhecimento em programação de formulários ou para os que desejam ]]></description>
<content:encoded><![CDATA[<p>Para os que não possuem muito conhecimento em programação de formulários ou para os que desejam ganhar tempo em seus projetos web, encontramos 2 serviços bem úteis, que fornecem ferramentas profissionais capazes de criar formulários para serem utilizados em sites e blogs gratuitamente.</p>
<p><a title="FormFacil" href="http://www.formfacil.com/" target="_blank"><img class="alignleft size-full wp-image-830" src="http://cacalinks.wordpress.com/files/2008/07/formfacil.jpg" alt="" width="317" height="97" /></a></p>
<p><strong><a title="FormFacil" href="http://www.formfacil.com/" target="_blank">FormFacil</a> </strong>(site em Português BR): para usar o serviço é necessário cadastro, para isso, entre no site e clique em Cadastre-se, aparecerá um popup para inserção dos seus dados. Ao logar-se, você poderá criar quantos formulários desejar, configurando-os de acordo com as instruções, criando campos específicos, de acordo com sua necessidade, podendo deixar seu formulário público ou não, depois, basta copiar o código gerado para seu site/blog, para que seus visitantes possam entrar em contato com você. Também é possível ver relatórios, exportar os dados recebidos para seu computador, podendo abrí-los no Excel, em formato CSV. O interessante é que o mesmo desenvolvedor do site FormFacil também criou um outro site chamado <strong><a title="ImagemFacil" href="http://www.imagemfacil.com/" target="_blank">ImagemFacil</a></strong>, que oferece um serviço para edição de imagens e, quem fizer seu cadastro em um dos serviços, poderá utilizar o mesmo login e senha para os dois sites, sem a necessidade de cadastrar-se duas vezes. O ImagemFacil oferece diversos recursos para edição de imagens online, inclusive bordas decorativas para fotos digitais, emblemas de times de futebol e vários efeitos de filtros.</p>
<p><a title="Kontactr" href="http://kontactr.com/" target="_blank"><img class="alignleft size-full wp-image-831" src="http://cacalinks.wordpress.com/files/2008/07/kontactr.gif" alt="" width="221" height="68" /></a></p>
<p><strong><a title="Kontactr" href="http://kontactr.com/" target="_blank">Kontactr</a></strong> (site em Inglês): Com ele é possível ter em seu site/blog um formulário de contato estilo Web2.0, muito simples e fácil de usar.  Para utilizar o serviço é necessário cadastro: <a title="Cadastre-se no Kontactr" href="http://kontactr.com/signup/" target="_blank">clique aqui</a>. Após o cadastro você receberá um email para ativar sua conta. Ao logar-se, você será direcionado à uma página onde poderá copiar e colar os códigos disponíveis. Existem códigos em HTML e AJAX, que tanto podem ficar fixos em uma página, ou em forma dos novos popups feitos em AJAX. Os formulários possuem a ferramenta anti-spam conhecida com CAPTCHA(não sabe o que é CAPTCHA, <a title="Definição de CAPTCHA - Wikipédia" href="http://pt.wikipedia.org/wiki/CAPTCHA" target="_blank">clique aqui</a>). Muito bom!</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Django Pagination - Paginação fácil no Django]]></title>
<link>http://pognation.wordpress.com/?p=18</link>
<pubDate>Fri, 18 Jul 2008 04:20:09 +0000</pubDate>
<dc:creator>pognation</dc:creator>
<guid>http://pognation.wordpress.com/?p=18</guid>
<description><![CDATA[Estava eu, rodando pela internet no site da comunidade oficial do django quando me deparei com dois ]]></description>
<content:encoded><![CDATA[<p>Estava eu, rodando pela internet no <a href="http://www.djangoproject.com/community/">site da comunidade oficial do django</a> quando me deparei com dois novos screencasts <a href="http://www.eflorenzano.com/blog/post/first-two-django-screencasts">nesse site</a>, e como sou bem curioso fui olhar.</p>
<p>O primeiro nem me chamou muito a atenção, a não ser pelo nível de organização do cara que é bastante interessante, porém no segundo ele apresentou uma <a href="http://code.google.com/p/django-pagination/">aplicação</a> chamada django-pagination, que torna muito fácil fazer paginação utilizando o <a href="http://www.djangoproject.com/">framework django</a>.</p>
<p>A utilização da mesma se dá de maneira bem fácil e é sobre isso que vou discorrer neste artigo, de acordo com as alterações que o autor do artigo original citou no screencast.</p>
<p>01 - Instalando a django-pagination para ser usada em todos os projetos;</p>
<p>Como feito no primeiro screencast (que citei o site acima) eu instalei a django-pagination junto com o meu django e em seguida linkei para o site-packages para poder ser usada em qualquer projeto, vamos então aos passos:</p>
<p>a) Baixe o source do google-source pelo SVN:</p>
<p><code># cd /var/www/apps/python/<br />
svn checkout http://django-pagination.googlecode.com/svn/trunk/ django-pagination</code></p>
<p>Logo após terminar, registre no site-packages do seu sistema, como eu uso o Archlinux, e sendo ele um *nix que suporta bash... resolvi usar o script pylink citado pelo autor para fazê-lo de maneira mais prática:</p>
<p>b) Crie o script em um arquivo chamado pylink:</p>
<p><code>pylink<br />
#!/bin/bash<br />
ln -s `pwd`/$1 `python -c "from distutils.sysconfig import get_python_lib; print get_python_lib()"`/$1</code></p>
<p>c) Dê permissão para que os usuários possam utilizá-lo:</p>
<p><code># chmod 755 pylink</code></p>
<p>Aqui no Archlinux eu também linkei ele para uma pasta de binários locais que eu utilizo:</p>
<p><code># ln -s `pwd`/pylink /usr/local/bin/pylink</code></p>
<p>d) Agora é só utilizá-lo para adicionar o pagination no site-packages do seu sistema:</p>
<p><code> # cd django-pagination/<br />
# pylink pagination</code></p>
<p>Com o django-pagination instalado podemos então modifcar o projeto:</p>
<p>02 - Alterando o arquivo settings.py do projeto;</p>
<p>Primeiramente é preciso adicionar os TEMPLATES_CONTEXT_PROCESSORS logo embaixo das MIDDLEWARE_CLASSES no arquivo settings.py do projeto no qual estaremos instalando a aplicação django-pagination:</p>
<p><code>settings.py<br />
TEMPLATE_CONTEXT_PROCESSORS = (<br />
"django.core.context_processors.auth",<br />
"django.core.context_processors.debug",<br />
"django.core.context_processors.i18n",<br />
"django.core.context_processors.media",<br />
"django.core.context_processors.request",<br />
)</code></p>
<p>Logo após também é necessário adicionar a aplicação pagination no seu settings.py:</p>
<p><code>settings.py<br />
INSTALLED_APPS = (<br />
'django.contrib.auth',<br />
'django.contrib.contenttypes',<br />
'django.contrib.sessions',<br />
'django.contrib.sites',<br />
'django.contrib.admin',<br />
'twitter',<br />
'pagination',<br />
)</code></p>
<p>E, em seguida adicionar o middleware da aplicação também no arquivo settings.py do projeto:</p>
<p><code>settings.py<br />
MIDDLEWARE_CLASSES = (<br />
'django.middleware.common.CommonMiddleware',<br />
'django.contrib.sessions.middleware.SessionMiddleware',<br />
'django.contrib.auth.middleware.AuthenticationMiddleware',<br />
'django.middleware.doc.XViewMiddleware',<br />
'pagination.middleware.PaginationMiddleware',<br />
)</code></p>
<p>Por incrível que pareça não é necessário alterar nada nos models nem nas views do projeto e simplesmente alterando o templete conseguimos implementar a paginação utilizando a django-pagination.</p>
<p>03 - Alterando o template:</p>
<p>As alterações no template consistem em:</p>
<p>a) Adicionar a tag {% load pagination_tags %} no topo do template:</p>
<p><code>public.html<br />
{% load pagination_tags %}<br />
&#60;html&#62;</code></p>
<p>b) Adicionar a tag {% autopaginate v n %} antes do loop que vai preencher a página. Onde v é a variável que contém os registros que vamos carregar no loop e n é o número de registros que queremos exibir por página, sendo o n padrão igual a 20. Segue um exemplo:</p>
<p><code>public.html<br />
{% autopaginate tweets 10 %}<br />
{% for tweet in tweets %}<br />
&#60;p&#62;&#60;b&#62;{{ tweet.user.username }}&#60;/b&#62; said: {{ tweet.message }}&#60;/p&#62;<br />
{% endfor %}</code></p>
<p>c) Adicionar a tag {% paginate %} logo após o loop, para aparecer o rodapé de navegação na página:</p>
<p><code>public.html<br />
{% autopaginate tweets 10 %}<br />
{% for tweet in tweets %}<br />
&#60;p&#62;&#60;b&#62;{{ tweet.user.username }}&#60;/b&#62; said: {{ tweet.message }}&#60;/p&#62;<br />
{% endfor %}<br />
{% paginate %}</code></p>
<p>E vualá, você terá 10 registros sendo exibidos por página...</p>
<p>Você pode se perguntar: Eu estou carregando todos os registros para somente apresentar 10 por vez, e vou recarregar toda vez que eu mudar de página? Isso vai ficar muito lento!</p>
<p>Exatamente, se você adicionar a tag {% autopaginate v n %} antes do seu loop só serão carregados os registros dá página em que você estará navegando. Então segundo as palavras do próprio autor: Você não precisa nem hesitar em não usar a django-pagination em seus projetos.</p>
<p>Obrigado pela atenção e até a próxima.</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Diversão e conscientização ecológica na programação de férias no Parque Botânico]]></title>
<link>http://mauricioaraya.wordpress.com/?p=959</link>
<pubDate>Fri, 18 Jul 2008 00:55:52 +0000</pubDate>
<dc:creator>Maurício Araya</dc:creator>
<guid>http://mauricioaraya.wordpress.com/?p=959</guid>
<description><![CDATA[O Parque Botânico Vale, localizado na avenida dos Portugueses em São Luís, apresenta neste mês d]]></description>
<content:encoded><![CDATA[<p style="text-align:justify;">O Parque Botânico Vale, localizado na avenida dos Portugueses em São Luís, apresenta neste mês de julho vários eventos em uma programação especial de férias. Palestras, mini-cursos, exposições e gincanas fazem do Parque Botânico uma ótima opção para as férias da criançada.</p>
<p style="text-align:justify;">No próximo dia 24, acontece uma palestra sobre noções de melhorias na qualidade de vida e saúde familiar. No dia 29, é dia de promover a conscientização dos participantes com a palestra "Amazônia Maranhense – Diversidade e particularidades".</p>
<p style="text-align:justify;">Dois mini-cursos: um voltado para as crianças que visitam o Parque, intitulado "Brinquedos Ecológicos" e está acontecendo desde o dia 10/07; outro é "Fogão Ecológico", voltado para o público adulto, que acontece nos dias 22 e 24. A oficina vai apresentar aos participantes a técnica de utilização de energia solar e reaproveitamento de resíduos para construção de forno ecológico no cozimento de alimentos, com intenção de fazer economia doméstica, além de reduzir o uso de combustível fóssil ou queima de madeira.<br />
 <br />
A exposição "Cartunistas do Maranhão" também faz parte da programação especial e vai ficar em cartaz até dia 22. Nos dias 25, 26 e 27, é a vez da “Feira de Flores”, com a participação dos produtores e distribuidores de São Luís.</p>
<p style="text-align:justify;">No próximo domingo (20), o dia é das crianças com a “Hora do Conto”. E por falar em programação especial,  até o dia 22 tem a "Trilha dos Sentidos", onde a idéia é passar aos visitantes a sensação de estar dentro de uma floresta de olhos vendados. Neste sábado (19) as crianças podem participar da I Gincana Ecológica do Parque.</p>
<p style="text-align:justify;">Para fechar a programação do mês de julho, no dia 26 acontece o "Circo no Parque", durante todo o dia.</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Eurochannel exibe especial da banda The Kooks]]></title>
<link>http://brasilnatv.wordpress.com/?p=111</link>
<pubDate>Fri, 18 Jul 2008 00:36:43 +0000</pubDate>
<dc:creator>Julian</dc:creator>
<guid>http://brasilnatv.wordpress.com/?p=111</guid>
<description><![CDATA[O Eurochannel exibe na próxima quarta-feira (23/07), às 10h, um especial sobre a banda The Kooks. ]]></description>
<content:encoded><![CDATA[<p><img src="http://brasilnatv.wordpress.com/files/2008/07/eurochannel.jpg" alt="" width="130" height="130" class="alignleft size-full wp-image-112" />O Eurochannel exibe na próxima quarta-feira (23/07), às 10h, um especial sobre a banda The Kooks. A atração mostra os principais detalhes do segundo álbum do grupo, "Konk".</p>
<p>A banda tem como influência alguns grupos famosos, como o The Strokes, The Police e Supergrass. Segundo o vocalista e guitarrista, Luke Pritchard, o álbum vêm recheado de singles para as rádios e está pronto para invadir a mente das pessoas.</p>
<p>O grupo The Kooks fez sucesso em 2006 com o álbum "Inside In / Inside Out", atingindo o TOP10 do Reino Unido.</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[NET: Florianópolis e Curitiba Terão HDTV]]></title>
<link>http://brasilnatv.wordpress.com/?p=109</link>
<pubDate>Fri, 18 Jul 2008 00:34:58 +0000</pubDate>
<dc:creator>Julian</dc:creator>
<guid>http://brasilnatv.wordpress.com/?p=109</guid>
<description><![CDATA[Transmissão em parceria com a Globosat chegará a 8 cidades
Após o lançamento das transmissões e]]></description>
<content:encoded><![CDATA[<p>Transmissão em parceria com a Globosat chegará a 8 cidades</p>
<p>Após o lançamento das transmissões em HDTV em São Paulo, Rio de Janeiro, Belo Horizonte e Brasília desde abril, a NET, maior operadora de multisserviços via cabo da América Latina, em parceria com a Globosat, lançou em julho a transmissão digital em alta definição na TV por assinatura em Porto Alegre e Campinas.</p>
<p>Curitiba e Florianópolis são as próximas praças a receber este serviço exclusivo, que conjuga o melhor conteúdo da TV por assinatura brasileira, qualidade de imagem e som até então nunca vistas e a capacidade de personalizar e construir a própria programação, totalizando 8 locais com transmissão em HDTV.</p>
<p>Em todos os locais a NET lança também o NET Digital HD Max, um serviço que permite reproduzir e gravar imagens em alta definição. Clientes do serviço poderão personalizar o conteúdo da TV por meio do mais avançado equipamento de TV digital do país. Através de um único decodificador, os clientes da NET poderão receber os canais da TV por assinatura, transmitidos em alta definição (HDTV) ou em definição padrão (SDTV), com todos os recursos interativos que a NET Digital já oferece e mais as funcionalidades do gravador digital pessoal (DVR).</p>
<p>De forma simultânea, a Globosat apresenta seu primeiro canal da TV por assinatura 100% produzido e exibido em alta definição no Brasil. O objetivo da Globosat com este lançamento é mostrar o potencial da tecnologia de transmissão em alta definição em todas as suas funcionalidades para os assinantes das operadoras de TV paga e oferecer aos telespectadores a oportunidade de experimentar as novidades que a exibição em HD proporciona.</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Após 18 programas, "CQC" cresce e impulsiona ibope]]></title>
<link>http://brasilnatv.wordpress.com/?p=105</link>
<pubDate>Fri, 18 Jul 2008 00:23:56 +0000</pubDate>
<dc:creator>Julian</dc:creator>
<guid>http://brasilnatv.wordpress.com/?p=105</guid>
<description><![CDATA[O programa &#8220;CQC&#8221; (&#8221;Custe o Que Custar&#8221;) melhorou seus índices de audiência]]></description>
<content:encoded><![CDATA[<p>O programa "CQC" ("Custe o Que Custar") melhorou seus índices de audiência ao longo dos últimos quatro meses, desde que a atração estreou na programação da Band em 17 de março. A atração já ostenta o título de segundo maior ibope da emissora, empatada com o "Jornal da Band", em ranking liderado pelo "Brasil Urgente".</p>
<p>Elenco do humorístico "CQC", que ajudou a Band a melhorar audiência nos últimos meses<br />
Apresentado por Marcelo Tas às segundas, a partir das 22h15, o programa foi conquistando seu público cativo. Em suas três primeiras exibições, a atração humorística registrava 3 pontos de média, na Grande São Paulo. Já nos últimos três programas, o "CQC" conquistou uma média de 4 pontos, o que pode ser considerado um bom índice de audiência para a emissora no horário.</p>
<p>Nas últimas semanas, devido ao sucesso da novela "Pantanal",reprisada pelo SBT no final da noite, o "CQC" perdeu a terceira colocação no ranking do Ibope, mas o desempenho do programa ainda está na casa dos 4 pontos.</p>
<p>O "CQC" é, originalmente, uma produção televisiva da Argentina, onde conta com apresentação do jornalista Mario Pergolini sob o nome de "Caiga Quien Caiga".</p>
<p>Criado pela produtora Cuatro Cabezas, o programa repercute com humor ácido os principais temas políticos e do cotidiano, além de colocar celebridades em situações de saia justa com perguntas impactantes.</p>
<p>No Brasil, além de Tas, o programa de "jornalismo irreverente" conta com apresentação de Rafinha Bastos e Marco Luque, além dos repórteres Rafael Cortez, Danilo Gentili, Felipe Andreoli e Oscar Filho.</p>
<p>Além do Brasil e da Argentina, o formato do "CQC" também já chegou a Espanha, Itália, França, Israel, Chile e Uruguai.</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[''Território Livre'' estréia na nova Rede 21]]></title>
<link>http://brasilnatv.wordpress.com/?p=99</link>
<pubDate>Fri, 18 Jul 2008 00:17:42 +0000</pubDate>
<dc:creator>Julian</dc:creator>
<guid>http://brasilnatv.wordpress.com/?p=99</guid>
<description><![CDATA[O programa sinaliza uma perspectiva interessante, mesmo em um horário com fortes concorrentes (das ]]></description>
<content:encoded><![CDATA[<p><em>O programa sinaliza uma perspectiva interessante, mesmo em um horário com fortes concorrentes (das 22h30 a meia noite)</em></p>
<p>[caption id="attachment_100" align="aligncenter" width="320" caption="Jackeline Petkovic"]<img src="http://brasilnatv.wordpress.com/files/2008/07/jackmauricioqv0.jpg" alt="Jackeline Petkovic" width="320" height="200" class="size-full wp-image-100" />[/caption]A Rede 21 retornou, recentemente, ao ar. A emissora do grupo Bandeirantes substituiu a PlayTV, canal que não vingou. “Território Livre” é uma das novas atrações que ganha destaque na programação. Em 2000, Sabrina Parlatore comandou o “Território Livre” que reuniu diversos elementos de reality shows. O programa, de certa forma, foi um dos precursores desta modalidade de programação na TV brasileira.</p>
<p>Agora, “Território Livre”, com uma nova proposta, ganha a apresentação de Jackeline Petkovic e Mauricio Mendes. Ambos apresentaram o extinto “Insomnia” por alguns meses. Jacky, que é mais conhecida do grande público, tem uma boa oportunidade em sua carreira para se firmar como apresentadora além do universo infantil. Já Maurício, que tem um perfil mais extrovertido e carismático, pode demonstrar seu potencial fora do discurso monotemático que impregnava a atração exibida pela RedeTV!. “São cinco mil em barras de ouro. Quantos triângulos têm?”.</p>
<p>Nestes primeiros programas, Jacqueline e Maurício apareceram no palco com a nítida preocupação de não “atropelar” o outro colega. A dupla não deverá trilhar o caminho da discórdia, como outros apresentadores passaram, dentre os quais Sonia Abrão e Castrinho ou Clodovil e Christina Rocha.</p>
<p>“Território Livre” é um programa voltado para o público jovem. O programa recebe sempre quatro convidados que ficam sentados em uma bancada. Eles conversam, na maioria das vezes, sobre seus trabalhos. Além disso, acompanham um conjunto musical que rouba grande parte da duração do “Território Livre”. São grupos que não possuem grande oportunidade na mídia. Apesar disso, há uma duração exagerada dedicada aos musicais. Em alguns programas, os convidados foram pouco explorados.</p>
<p>Quadros teatrais também aparecem com ênfase. Algumas cenas das peças são interpretadas no palco do programa. O quadro funcionou em algumas oportunidades. Já em outras ocasiões afugentou o público. Propaganda negativa. A participação da platéia também poderia ser valorizada no "Território Livre". Eles deveriam interagir mais com os convidados.</p>
<p>Nestas primeiras semanas, a atração da Rede 21 mostrou algumas limitações técnicas. A falta de microfones, por exemplo, transformou, em muitos momentos, os apresentadores em assistentes de palco. Jacky cedia seu microfone para o convidado, Mauricio dialogava e a loira ficava “muda”.</p>
<p>Logicamente, o programa vive seus primeiros dias no ar e alguns ajustes são necessários. “Território Livre” tem maior potencial se for transmitido ao vivo. O programa sinaliza uma perspectiva interessante, mesmo em um horário com fortes concorrentes (das 22h30 a meia noite).</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[SBT faz campanha pela boa fase]]></title>
<link>http://brasilnatv.wordpress.com/?p=96</link>
<pubDate>Fri, 18 Jul 2008 00:12:39 +0000</pubDate>
<dc:creator>Julian</dc:creator>
<guid>http://brasilnatv.wordpress.com/?p=96</guid>
<description><![CDATA[Para chamar a atenção sobre alguns triunfos recentes, sobretudo, Pantanal e a programação das ma]]></description>
<content:encoded><![CDATA[<p><img class="alignleft size-full wp-image-48" src="http://brasilnatv.wordpress.com/files/2008/07/sbt.jpg" alt="" width="120" height="120" />Para chamar a atenção sobre alguns triunfos recentes, sobretudo, Pantanal e a programação das manhãs, o SBT vai lançar uma campanha publicitária de auto-exaltação. Hoje, a LewLara, agência da rede de Silvio Santos, apresenta as peças da campanha para a aprovação da direção.<br />
Parece incrível, mas a rede de SS, dada como morta na briga pela audiência, está muito bem na foto durante as manhãs. Desde o dia 8, terça-feira passada, os desenhos animados do SBT são líderes de audiência no horário entre 8 horas e meio dia na Grande São Paulo. A diferença sobre a Globo é quase sempre mínima (algumas vezes, o Ibope registra empate). Não importa. Para quem estava fora do jogo, não é pouco botar a Record amargando a terceira colocação.</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Record nega que tenha firmado acordo com a mexicana Televisa]]></title>
<link>http://brasilnatv.wordpress.com/?p=93</link>
<pubDate>Fri, 18 Jul 2008 00:10:03 +0000</pubDate>
<dc:creator>Julian</dc:creator>
<guid>http://brasilnatv.wordpress.com/?p=93</guid>
<description><![CDATA[Embora seja dada como certa por alguns veículos de mídia, a parceria da Rede Record com a mexicana]]></description>
<content:encoded><![CDATA[<p><img class="alignright size-full wp-image-94" src="http://brasilnatv.wordpress.com/files/2008/07/rede_record.jpg" alt="" width="132" height="99" />Embora seja dada como certa por alguns veículos de mídia, a parceria da Rede Record com a mexicana Televisa - uma das maiores produtoras de novelas em espanhol do mundo - não estaria efetivada.<br />
Desde o final de abril, quando o SBT rompeu o acordo que tinha com a rede há oito anos, a Televisa vem buscando novos parceiros no Brasil. Reuniões foram agendadas com Band, Rede TV! e Record.<br />
Nesta quinta-feira (17), o jornal O Globo noticiou que a Record, enfim, teria firmado um contrato, que levaria a emissora a produzir novelas com textos mexicanos, no entanto, as produções da Televisa não seriam exibidas no Brasil. A assessoria do canal brasileiro, procurada pelo Portal IMPRENSA, negou a informação.</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Analice Nicolau renova com SBT e permanece à frente do "Jornal SBT Manhã"]]></title>
<link>http://brasilnatv.wordpress.com/?p=90</link>
<pubDate>Fri, 18 Jul 2008 00:06:53 +0000</pubDate>
<dc:creator>Julian</dc:creator>
<guid>http://brasilnatv.wordpress.com/?p=90</guid>
<description><![CDATA[Analice NicolauA apresentadora Analice Nicolau renovou, nesta semana, seu contrato com o SBT por mai]]></description>
<content:encoded><![CDATA[<p>[caption id="attachment_91" align="alignleft" width="150" caption="Analice Nicolau"]<a href="http://brasilnatv.files.wordpress.com/2008/07/ft0analice.jpg"><img src="http://brasilnatv.wordpress.com/files/2008/07/ft0analice.jpg" alt="Analice Nicolau" width="150" height="150" class="size-full wp-image-91" /></a>[/caption]A apresentadora Analice Nicolau renovou, nesta semana, seu contrato com o SBT por mais dois anos. Segundo a assessoria da emissora de Sílvio Santos, a modelo continuará à frente do "Jornal SBT Manhã", ao lado do jornalista Hermano Henning.<br />
Analice estava também no comando da recente remontagem do "Aqui Agora", que saiu do ar devido à baixa audiência.</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[TV Cultura exibe filme "Madame Satã" no sábado]]></title>
<link>http://brasilnatv.wordpress.com/?p=88</link>
<pubDate>Fri, 18 Jul 2008 00:03:28 +0000</pubDate>
<dc:creator>Julian</dc:creator>
<guid>http://brasilnatv.wordpress.com/?p=88</guid>
<description><![CDATA[No sábado (19), a partir das 23h30, a TV Cultura apresenta o filme inédito &#8220;Madame Satã]]></description>
<content:encoded><![CDATA[<p><img class="alignright size-full wp-image-30" src="http://brasilnatv.wordpress.com/files/2008/07/tv_cultura_sao_paulo.jpg" alt="" width="132" height="99" />No sábado (19), a partir das 23h30, a TV Cultura apresenta o filme inédito "Madame Satã", durante o "Cine Brasil".<br />
Dirigido pelo cineasta Karim Aïnouz --de "O Céu de Suely"-- o longa-metragem aborda o cotidiano e a intimidade de João Francisco dos Santos, antes de se transformar em um lendário personagem da boêmia carioca conhecido como Madame Satã.<br />
No elenco, além de Lázaro Ramos no papel principal, estão Marcélia Cartaxo, Flávio Bauraqui, Felippe Marques, Renata Sorrah, Floriano Peixoto, Ricardo Blat, Emiliano Queiroz e Gero Camilo.<br />
Escrito por Aïnouz e Marcelo Gomes --diretor de "Cinema, Aspirinas e Urubus", o longa recebeu, em 2002, o prêmio de melhor direção no Festival de Biarritz, além do Gold Hugo no Chicago International Film Festival.</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[VH1 estréia TOP20, com Luciana Mello]]></title>
<link>http://brasilnatv.wordpress.com/?p=85</link>
<pubDate>Thu, 17 Jul 2008 23:44:06 +0000</pubDate>
<dc:creator>Julian</dc:creator>
<guid>http://brasilnatv.wordpress.com/?p=85</guid>
<description><![CDATA[O canal VH1 estréia no próximo dia 26 de julho (sábado), às 19h, o programa TOP20, primeiro prog]]></description>
<content:encoded><![CDATA[<p><img class="alignleft size-medium wp-image-86" src="http://brasilnatv.wordpress.com/files/2008/07/vh1.jpg?w=160" alt="" width="160" height="160" />O canal VH1 estréia no próximo dia 26 de julho (sábado), às 19h, o programa TOP20, primeiro programa da emissora com produção no Brasil.</p>
<p>A atração terá duas horas de duração, sempre com temas diferentes e com a apresentação da cantora Luciana Mello, além da direção de Duda Leite. Na estréia o programa traz os melhores hits dos anos 80, dentre eles Michael Jackson, Prince, U2, Culture Club, New Order, Madonna, B-52''s e outros.</p>
<p>"É uma alegria acompanhar de perto o crescimento do VH1 no Brasil e saber que o futuro é extremamente promissor. Nada melhor do que contratar uma VJ que possui sintonia fina com o canal: respira música, é antenada, atual e pop", diz Jimmy Leroy, Vice-Presidente de Criação do canal.</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[NOVA - Alcântara - Programação para este fim-de-semana]]></title>
<link>http://programadefestas.wordpress.com/?p=1634</link>
<pubDate>Thu, 17 Jul 2008 21:17:49 +0000</pubDate>
<dc:creator>profestas</dc:creator>
<guid>http://programadefestas.wordpress.com/?p=1634</guid>
<description><![CDATA[


]]></description>
<content:encoded><![CDATA[<p style="text-align:center;"><img class="aligncenter" src="http://i264.photobucket.com/albums/ii182/dionisioleitao/nova-1-1.jpg" alt="" width="700" height="350" /></p>
<p style="text-align:center;"><img class="aligncenter" src="http://i264.photobucket.com/albums/ii182/dionisioleitao/nova-3-1.jpg" alt="" width="466" height="700" /></p>
<p style="text-align:center;"><img class="aligncenter" src="http://i264.photobucket.com/albums/ii182/dionisioleitao/nova-2-1.jpg" alt="" width="466" height="700" /></p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Ater: Empresa de webdesign especializada em arquitetura para a criação de sites.]]></title>
<link>http://atercricaodesites.wordpress.com/?p=159</link>
<pubDate>Thu, 17 Jul 2008 20:56:42 +0000</pubDate>
<dc:creator>temcosta</dc:creator>
<guid>http://atercricaodesites.wordpress.com/?p=159</guid>
<description><![CDATA[ 

Ater: Empresa de webdesign especializada em arquitetura para a criação de sites.
Briefing
O cli]]></description>
<content:encoded><![CDATA[<p><!--[if gte mso 9]&#62; Normal   0         21         false   false   false      PT-BR   X-NONE   X-NONE                                                     MicrosoftInternetExplorer4 &#60;![endif]--><!--[if gte mso 9]&#62; &#60;![endif]--> <!--[if gte mso 10]&#62;--></p>
<p><!--[endif]--></p>
<p>Ater: <strong>Empresa de webdesign especializada em arquitetura para a criação de sites</strong>.</p>
<p><strong>Briefing</strong><br />
O cliente que sabe a solução digital que necessita, normalmente tem dúvidas sobre o conteúdo e a usabilidade dos produtos e serviços que vai desenvolver. Para resolvê-las, definimos com o cliente os objetivos do produto, as necesidades do público-alvo, a plataforma tecnológica dessa audiência, as funcionalidades e os conteúdos disponibilizados. O resultado materializa um <strong>briefing criativo</strong> e uma <strong>proposta comercial</strong>, definindo escopo do trabalho, objetivos, cronograma e custos.</p>
<p><strong>Navegação</strong><br />
Projetamos a seguir estrutura do produto, de maneira que ele reúna as informações e funcionalidades desejadas. Além de detalhar o conteúdo, é fundamental decidir como ele será organizado numa estrutura links. O resultado é um documento com a <strong>árvore de navegação</strong> do produto ou serviço. Ela pode ser apresentada como um diagrama de blocos ou um storyboard, dependendo do tipo de produto.</p>
<p><strong>Especificações</strong><br />
Definidos os conteúdos, funcionalidades e árvore de navegação, elaboramos as <strong>especificações técnicas</strong> do produto. Esse documento descreve, tela a tela, a experiência que oferecemos ao usuário, e como o produto responde às suas ações. Ele determina também a solução tecnológica cliente/servidor, apontando em detalhe as necessidades de programação, animações e digitalização de mídias.</p>
<p><strong>Projeto</strong><br />
A árvore de navegação e a especificação técnica são articuladas no <strong>projeto de arquitetura de informação</strong>. Ele é a espinha dorsal do produto, a partir da qual designers, redatores, ilustradores e programadores realizam seu trabalho. Com esse documento concluído, seguimos para a etapa do <strong>Desenvolvimento de Produto</strong>.</p>
<p>SEJA ÚNICO, SEJA EXCLUSIVO, TENHA UM SITE  ATER!</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Nossos Produtos de Gerenciamento de Conteúdo - CMS]]></title>
<link>http://atercricaodesites.wordpress.com/?p=153</link>
<pubDate>Thu, 17 Jul 2008 20:55:33 +0000</pubDate>
<dc:creator>temcosta</dc:creator>
<guid>http://atercricaodesites.wordpress.com/?p=153</guid>
<description><![CDATA[Sistema Adminitrativo de Conteúdo é um Sistema de Atualização de textos e imagens que permite ao]]></description>
<content:encoded><![CDATA[<p>Sistema Adminitrativo de Conteúdo é um Sistema de Atualização de textos e imagens que permite ao administrador do site a atualização das páginas pré definidas, acessando facilmente o sistema através do Browser de qualquer computador que tenha acesso à internet, com navegação fácil e amigável. Pode ser implantado em Web Sites, Intranet's e Extranet's. Existem níveis de edição, revisão e publicação.</p>
<p>É muito fácil adicionar recursos especiais e conteúdos atualizáveis em portais e intranets. Este sistema modular fornece o poder e a praticidade que os profissionais desejam para gerenciar de forma integrada todos os projetos de Internet da sua empresa, através de um ambiente único e amigável.</p>
<p>Todo o gerenciamento passa a ser feito de forma simples e rápida, através da Internet, sem a necessidade de conhecimentos em programação.</p>
<p>A solução pode ser composta por uma gama de soluções modulares. Basta escolher os módulos que você precisa. Veja detalhes aqui.</p>
<p>Através do sistema Publish você terá toda a comodidade de administrar 100% do conteúdo do seu site de maneira muito simples e intuitiva, e sem utilizar qualquer conhecimento de linguagens de programação para a internet.</p>
<p>Publish é a ferramenta perfeita para a publicação de conteúdo dinâmico em seu site (este website utiliza-se do sistema Publish). Através de uma interface administrativa via web, qualquer pessoa mesmo sem conhecimento técnico poderá administrar todo o conteúdo do site, incluindo imagens, textos e tabelas, tudo em tempo real.</p>
<p>Desta forma nossa ferramenta Publish possibilita ao seu administrador, gerenciar o que realmente importa ao seu negócio, ou seja, informar com agilidade as suas novidades, promoções, artigos, informações institucionais e etc...</p>
<p>Com o Publish é possível gerenciar não só o conteúdo estático como textos, imagens, vídeo, Flash, como criar interatividade através de enquetes, pesquisas, log-in, busca.</p>
<p>Interface Administrativa Customizável<br />
Todas as interfaces do Publish são customizáveis, ou seja, o usuário pode criar a sua própria interface usando somente os botões e caixa de texto que realmente precisar. Com isto não é o usuário que se adapta ao produto e sim o produto que se adequa a necessidade de cada usuário.</p>
<p>Curva de Aprendizado<br />
A curva de aprendizado de seu usuário é muito rápida, permitindo que um leigo possa atualizar o conteúdo, colocar ou alterar enquetes, busca, criar comunidades, etc.</p>
<p>Interface Wysiwyg<br />
A interface do sistema permite que você veja como vai ficar a sua página enquanto está editando o seu conteúdo evitando surpresas desagradáveis quando da publicação.</p>
<p>Trabalho off-line<br />
É possível desenvolver qualquer tipo de conteúdo no Word, ou Bloco de Notas enquanto você não está conectado e depois copiar e colar na interface Wysiwyg.</p>
<p>Modularidade<br />
Um grande desafio de um projeto web é saber exatamente como o usuário vai responder a cada área e funcionalidade. Com a arquitetura aberta do sistema é possível implementar novas funcionalidades de forma modular (portlets), assim o seu projeto web pode crescer conforme o seu retorno sobre o investimento.</p>
<p>Baixo Custo de Implementação e Manutenção<br />
Com a solução Publish é possível implementar um projeto web com um prazo extremamente curto, reduzindo o custo de manutenção, uma vez que esta pode ser feita pelo próprio “dono do conteúdo”.</p>
<p>Gerenciamento de Literalmente Qualquer Conteúdo<br />
O Publish não trabalha com uma estrutura de dados fixa, você pode criar e manter qualquer tipo de dado, como por exemplo um cadastro de clientes com qualquer configuração de campos e alterá-la posteriormente, sem perder os dados já coletados.</p>
<p>O Poder dos Open Sources<br />
O Publish centralizou o seu desenvolvimento em vários open sources, entre eles o Velocity, linguagem de geração de templates; Prevayler, banco de dados Java; o WebWorks solução para controle de objetos Web e o AspectWerks, software que permite o desenvolvimento orientado a aspectos (uma evolução da orientação a objetos).</p>
<p>Escalabilidade<br />
Por utilizar a plataforma Java como base do seu desenvolvimento, esta solução pode ser integrada com virtualmente qualquer infra-estrutura. (Windows-Solaris-HP UX-Linux, etc).</p>
<p>Publicação de Banners e Tickers<br />
Através dos templates você pode criar qualquer tipo de arranjo visual, banners randômicos, tickers, etc.</p>
<p>Conteúdo Dinâmico a Qualquer Hora do Dia<br />
Com o Publish você pode agendar a publicação, expiração e o arquivamento de qualquer conteúdo, desta forma o seu site estará atualizando sem ter que pagar hora extra para funcionários ou colaboradores, informando sobre novos eventos, palestras etc, podendo-se cadastrar previamente toda a programação agendando a sua publicação.</p>
<p>Estabilidade<br />
• Garante a recuperação de transações                    encadeadas em caso de falha (Pipeline).<br />
• Garantia do estado de uma sessão, de forma a evitar a perda de informações em caso de falhas do servidor (roll back de transação).<br />
•                    Tratamento de exceções (Ex: código de erro 404).<br />
•                    Gerenciamento de sessão, estado e transação.</p>
<p>Monitoramento<br />
• Administração do Portal realizada a                    partir de um browser.<br />
• Publicação de conteúdo sem a                    necessidade de retirar o portal do ar (on-the-fly).<br />
•                    Disponibiliza facilidades de gerenciamento e monitoramento em                    tempo real.</p>
<p>Segurança<br />
• Funções de publicação e gerenciamento de conteúdo são habilitadas a partir da validação de usuários e em conformidade com as definições de seu perfil de acesso.<br />
• Utilização de HTTPS e certificados digitais.<br />
• A integração entre as camadas do produto é efetuada por meio do estabelecimento de conexões com protocolo TCP e porta bem definida.<br />
• A integração entre o produto e as aplicações ou bases de dados é efetuada por meio do estabelecimento de conexão com o protocolo TCP e portas previamente configuradas.<br />
• Não utiliza datagramas Netbios (portas 135 a 139) para comunicação entre as máquinas que compõem a solução;<br />
• Não utiliza protocolo UDP e serviços RPC,SUNRPC,                    Portmapper.<br />
• A solução estabelece VPN entre seus componentes, através do padrão IPSEC. (Somente para replicação/JDBC)<br />
• Suporta certificados digitais, no padrão                    X.509, para autenticação de usuário e aplicação.<br />
• Suporta SSL 128 bits para criptografia do canal de transmissão de dados. (suporte no WAS)<br />
• Suporta chave de 128 bits para a criptografia de informações trocadas entre servidores. (suporte no WAS)</p>
<p>Agregados<br />
A maior variedade de serviços interativos para                    websites reunida em um único produto:<br />
• Publicação de                    notícias on-line<br />
• Gerenciador de arquivos e                    documentos<br />
• Diretório de usuários<br />
• Chat<br />
• Quadro de                    avisos<br />
• Críticas &#38; sugestões<br />
• Envio de                    e-mails<br />
• Mensagens instantâneas<br />
• Enquetes<br />
• Fórum                    de discussão<br />
• Galeria de Fotos<br />
• Mala Direta                    (Newsletter)</p>
<p>Tudo administrado via web, e sem necessidades de nenhum                    conhecimento técnico para ser administrado</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Criando jogos em Delphi - Parte III]]></title>
<link>http://undercode.wordpress.com/?p=22</link>
<pubDate>Thu, 17 Jul 2008 18:44:39 +0000</pubDate>
<dc:creator>KillDream</dc:creator>
<guid>http://undercode.wordpress.com/?p=22</guid>
<description><![CDATA[- Sons -
&nbsp;&nbsp;&nbsp; Mais um tutorial sobre desenvolvimento de jogos em Delphi. Desta vez vou]]></description>
<content:encoded><![CDATA[<p><b>- Sons -</b></p>
<p>&#160;&#160;&#160; Mais um tutorial sobre desenvolvimento de jogos em Delphi. Desta vez vou explicar algumas técnicas para utilizar sons em seus jogos, e como até aqui não usamos nenhuma biblioteca externa para o que já foi feito, vamos manter isto e usar apenas os recursos internos do Delphi para reproduzir os sons.</p>
<p>&#160;&#160;&#160; Sons no formato <b>wave</b> (.wav) são o padrão suportado pelo windows e podemos tirar proveito disso e utilizar as APIs do windows para reproduzi-los. Além do formato <b>wave</b>, nós podemos reproduzir qualquer outro formato de som ou vídeo (desde que os codecs para estes estejam instalados no computador) com o objeto <b>TMediaPlayer</b>.</p>
<p><b>- Efeitos Sonoros -</b></p>
<p>&#160;&#160;&#160; A unit <b>MMSystem</b>, incluída no Delphi, oferece vários métodos para reproduzir diversos tipos de sons. Vamos usar aqui o método <b>SndPlaySound</b> para reproduzir um arquivo <b>wave</b> no computador.</p>
<p><a href="http://www.4shared.com/file/55566022/6dfc9bd7/sound.html">&#187; Faça o download dos arquivos de som aqui</a></p>
<p>&#160;&#160;&#160; Vamos tocar um som quando a bolinha bater em uma das barrinhas, outro som quando a bolinha colidir com o cenário, e um som para quando um dos jogadores fizer um ponto. Primeiro vamos escrever uma pequena função para tocar os sons (não se esqueça de adicionar a <b>mmsystem</b> na seção <b>uses</b>).</p>
<p><code><b><font color="#000080">procedure</b></font>&#160;TocaWave(som:&#160;<b><font color="#000080">string</b></font>);<br />
<b><font color="#000080">begin</b></font><br />
&#160;&#160;SndPlaySound(PChar(som),&#160;SND_ASYNC);<br />
<b><font color="#000080">end</b></font>;</code></p>
<p>&#160;&#160;&#160; A flag<b> </b><i>SND_ASYNC</i> serve para tocar o som, mas sem interromper a execução do programa, como um <b>thread</b>. Note que nós temos que converter o nome do arquivo para PChar, já que este é o tipo de dados que a função recebe.</p>
<p>&#160;&#160;&#160; Adicione agora algumas chamadas à nossa função <b>TocaWave</b> no código do programa para tocar os sons. No meu caso eu coloquei chamadas à função nas colisões da bolinha e quando um dos jogadores faz um ponto.</p>
<p><b>- Músicas de fundo -</b></p>
<p>&#160;&#160;&#160; Como eu disse anteriormente o Delphi traz um componente muito bom para reproduzir diversos arquivos de mídia (inclusive vídeos!) utilizando os codecs instalados no computador (o problema disto é que para reproduzir os arquivos o computador deve ter instalado os codecs utilizados). Vamos utilizar um som de fundo no formato <b>midi</b>.</p>
<p>&#160;&#160;&#160; Adicione um novo componente <b>TMediaPlayer </b>ao formulário. Mude a propriedade <b>visible</b> dele para false, assim ele não irá aparecer na tela do jogo.</p>
<p>&#160;&#160;&#160; Quando o jogo se inicia, precisamos carregar a música e tocá-la. Vamos fazer isso no evento <b>OnCreate</b> do formulário, antes de setar a propriedade Enabled do Timer para true.</p>
<p><code>&#160;&#160;MediaPlayer1.FileName:=&#160;<font color="#0000FF">'theme.mid'</font>;<br />
&#160;&#160;MediaPlayer1.Open;<br />
&#160;&#160;MediaPlayer1.Play;</code></p>
<p>&#160;&#160;&#160; Note que o programa pára a execução e carrega todo o arquivo (acho que isso só acontece com os arquivos midi, então você pode usar threads ou outro formato de arquivo).</p>
<p>&#160;&#160;&#160; Agora temos uma música de fundo tocando no nosso jogo. Mas por se tratar de uma música de fundo seria bom que ela reproduzisse continuamente. Vamos então fazer um pequeno loop na nossa música, isso é feito verificando se a música está tocando, se não estiver, voltamos a reproduzi-la.</p>
<p>&#160;&#160;&#160; Para esse teste vamos incluir mais um <b>TTimer</b> no formulário. Deixe a propriedade <b>Interval</b> dele em 1 e mude a propriedade <b>Enabled</b> para false. Vamos iniciar esse timer depois de carregar a música. Então o código <b>OnCreate</b> do form ficaria assim:</p>
<p><code><b><font color="#000080">procedure</b></font>&#160;TForm1.FormCreate(Sender:&#160;TObject);<br />
<b><font color="#000080">begin</b></font><br />
&#160;&#160;<font color="#008000"><i>//quando&#160;o&#160;form&#160;for&#160;criado&#160;carregamos&#160;as&#160;imagens</font></i><br />
&#160;&#160;LoadGameGraphics;<br />
&#160;&#160;<font color="#008000"><i>//cria&#160;e&#160;inicializa&#160;o&#160;backbuffer</font></i><br />
&#160;&#160;bbuffer:=&#160;TBitmap.Create;<br />
&#160;&#160;bbuffer.Width:=&#160;<font color="#0000FF">640</font>;<br />
&#160;&#160;bbuffer.Height:=&#160;<font color="#0000FF">480</font>;<br />
&#160;&#160;bbuffer.Canvas.Brush.Color:=&#160;clBlack;<br />
&#160;&#160;<font color="#008000"><i>//inicializa&#160;algumas&#160;variáveis&#160;da&#160;bolinha</font></i><br />
&#160;&#160;Ball.W:=&#160;<font color="#0000FF">15</font>;<br />
&#160;&#160;Ball.H:=&#160;<font color="#0000FF">15</font>;<br />
&#160;&#160;<font color="#008000"><i>//inicializa&#160;algumas&#160;variáveis&#160;da&#160;barrinha&#160;do&#160;jogador</font></i><br />
&#160;&#160;Bar_p1.W:=&#160;<font color="#0000FF">10</font>;<br />
&#160;&#160;Bar_p1.H:=&#160;<font color="#0000FF">80</font>;<br />
&#160;&#160;<font color="#008000"><i>//inicializa&#160;algumas&#160;variáveis&#160;da&#160;barrinha&#160;da&#160;AI</font></i><br />
&#160;&#160;Bar_cp.W:=&#160;<font color="#0000FF">10</font>;<br />
&#160;&#160;Bar_cp.H:=&#160;<font color="#0000FF">80</font>;<br />
&#160;&#160;Bar_cp.Speed:=&#160;<font color="#0000FF">15</font>;<br />
&#160;&#160;<font color="#008000"><i>//inicia&#160;o&#160;jogo</font></i><br />
&#160;&#160;InitGame;<br />
&#160;&#160;<font color="#008000"><i>//inicia&#160;o&#160;som&#160;de&#160;fundo</font></i><br />
&#160;&#160;MediaPlayer1.FileName:=&#160;<font color="#0000FF">'theme.mid'</font>;<br />
&#160;&#160;MediaPlayer1.Open;<br />
&#160;&#160;MediaPlayer1.Play;<br />
&#160;&#160;<font color="#008000"><i>//habilita&#160;o&#160;timer&#160;do&#160;jogo</font></i><br />
&#160;&#160;Timer1.Enabled:=&#160;true;<br />
&#160;&#160;<font color="#008000"><i>//habilita&#160;o&#160;timer&#160;de&#160;controle&#160;da&#160;música</font></i><br />
&#160;&#160;Timer2.Enabled:=&#160;true;<br />
<b><font color="#000080">end</b></font>;</code></p>
<p>Agora vamos fazer o loop na música. No evento <b>OnTimer</b> vamos testar se a música parou de tocar e voltar a tocá-la.</p>
<p><code><b><font color="#000080">procedure</b></font>&#160;TForm1.Timer2Timer(Sender:&#160;TObject);<br />
<b><font color="#000080">begin</b></font><br />
&#160;&#160;<font color="#008000"><i>//se&#160;não&#160;estiver&#160;tocando&#160;uma&#160;música...</font></i><br />
&#160;&#160;<b><font color="#000080">if</b></font>&#160;MediaPlayer1.Mode&#160;=&#160;mpStopped&#160;<b><font color="#000080">then</b></font><br />
&#160;&#160;&#160;&#160;MediaPlayer1.Play;<br />
<b><font color="#000080">end</b></font>;</code></p>
<p>&#160;&#160;&#160; A propriedade <b>mode</b> do MediaPlayer indica o estado atual da música (se ainda não carregou, se está tocando, pausado, parado, etc.). É bom dar uma olhadinha nas outras propriedades do MediaPlayer, tem muita coisa interessante lá.</p>
<p><a href="http://www.4shared.com/file/55568217/d5e09fc6/delphi_3.html">&#187; Baixe aqui o código fonte completo</a></p>
<p>&#160;&#160;&#160; No próximo tutorial vou explicar um pouco sobre animações e sobre como usar o objeto MediaPlayer para reproduzir vídeos. Até lá.</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Encontro das Velhas Guardas]]></title>
<link>http://sambadobrasil.wordpress.com/?p=740</link>
<pubDate>Thu, 17 Jul 2008 18:14:19 +0000</pubDate>
<dc:creator>sambadobrasil</dc:creator>
<guid>http://sambadobrasil.wordpress.com/?p=740</guid>
<description><![CDATA[No domingo, 20, às 13h, a quadra do Uraiti sediará o evento dos baluartes do samba carioca. A entr]]></description>
<content:encoded><![CDATA[<p><span style="font-size:12pt;font-family:Georgia;">No domingo, 20, às 13h, a quadra do Uraiti sediará o evento dos baluartes do samba carioca. A entrada é franca. O endereço da agremiação é: Estrada do barro vermelho, 1.080, Colégio.</span></p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Arraiá com Samba]]></title>
<link>http://sambadobrasil.wordpress.com/?p=737</link>
<pubDate>Thu, 17 Jul 2008 18:05:39 +0000</pubDate>
<dc:creator>sambadobrasil</dc:creator>
<guid>http://sambadobrasil.wordpress.com/?p=737</guid>
<description><![CDATA[Neste fim de semana a estrela guia de Padre Miguel realiza o 1º Arraia dos Compositores da Mocidade]]></description>
<content:encoded><![CDATA[<p class="MsoNormal" style="margin:0;"><span style="font-family:Georgia;"><span style="font-size:12pt;"><a href="http://sambadobrasil.wordpress.com/files/2008/04/mocidade-bandeira.jpg"><img class="size-medium wp-image-64 alignleft" src="http://sambadobrasil.wordpress.com/files/2008/04/mocidade-bandeira.jpg?w=130" alt="" width="130" height="130" /></a>Neste fim de semana a estrela guia de Padre Miguel realiza o 1º Arraia dos Compositores da Mocidade. A entrada é franca e contará com concurso de quadrilhas de roça e de salão, bandas de forró, gincanas, rifas relâmpago, pescaria, barracas típicas, touro mecânico e parquinho de diversão.</span></span><span style="font-family:Georgia;"><span style="font-size:12pt;"> </span></span></p>
<p><span style="font-size:12pt;font-family:Georgia;">A festa começa às 18h no sábado e às 14h no domingo, na quadra da escola - Rua Coronel Tamarindo, 38 – Padre Miguel.</span></p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Novos sócios do Boi da Ilha ]]></title>
<link>http://sambadobrasil.wordpress.com/?p=734</link>
<pubDate>Thu, 17 Jul 2008 18:00:43 +0000</pubDate>
<dc:creator>sambadobrasil</dc:creator>
<guid>http://sambadobrasil.wordpress.com/?p=734</guid>
<description><![CDATA[A escola acaba de lançar a Campanha Super Sócio, para aumentar a verba para a produção do carnal]]></description>
<content:encoded><![CDATA[<p><span style="font-size:12pt;font-family:Georgia;"><a href="http://sambadobrasil.files.wordpress.com/2008/07/boi-da-ilha.jpg"><img class="size-medium wp-image-735 alignright" src="http://sambadobrasil.wordpress.com/files/2008/07/boi-da-ilha.jpg?w=123" alt="" width="123" height="125" /></a>A escola acaba de lançar a Campanha Super Sócio, para aumentar a verba para a produção do carnal de 2009. Nela, o título da agremiação sairá por R$ 300 e poderá ser pago em duas vezes de R$ 170 ou três de R$ 120. Os novos associados ganharão dois anos de mensalidades grátis, uma camisa e duas fantasias para o próximo desfile, e uma cota de bebidas durante os principais eventos da Boi. Mais informações pelo e-mail: socio@boidailha.com.br.</span></p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Padrões de Projeto]]></title>
<link>http://wanc.wordpress.com/?p=57</link>
<pubDate>Thu, 17 Jul 2008 15:15:08 +0000</pubDate>
<dc:creator>wanc</dc:creator>
<guid>http://wanc.wordpress.com/?p=57</guid>
<description><![CDATA[O que é, o que é: usamos  sem saber,  apanhamos pra aprender e sofremos por esquecer? É isto aí:]]></description>
<content:encoded><![CDATA[<p><a href="http://wanc.wordpress.com/files/2008/07/atlantikdesigner.png"><img class="alignleft size-medium wp-image-66" src="http://wanc.wordpress.com/files/2008/07/atlantikdesigner.png?w=128" alt="" width="108" height="108" /></a>O que é, o que é: usamos  sem saber,  apanhamos pra aprender e sofremos por esquecer? É isto aí: padrões de projeto!</p>
<p>Olhando meus códigos, quantas vezes usei os padrões singleton, command e interpreter sem ter a mínima idéia do que eram. O conhecimento deles teria me poupado muito tempo. Quem me despertou pra esta realidade foi o excelente livro <strong>Php Profissional</strong> dos autores Alexandre Altair e Maurício Nascimento.</p>
<p>Mas o motivo desta  rapidinha é a descoberta de um  site muito bom sobre este assunto, o   <a title="Design Patterns" href="http://sourcemaking.com/design_patterns/">Design Patterns</a> .  O site , em inglês,  agrupa por tipo  e descreve cada  padrão de forma sucinta e didática. Os exemplos fornecidos  em diversas linguagens, incluindo o Object Pascal e PHP, são práticos e úteis.</p>
<p>Faça uma visita e aproveite sua dose de padrões de projeto. Apenas cuidado pra não pegar a febre e sair aplicando padrões num programa Alô Mundo. Até a próxima!</p>
<p><a href="http://sourcemaking.com/design_patterns/"><strong>Design Patterns</strong></a></p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Boost Weak Pointer (weak_ptr)]]></title>
<link>http://bcsanches.wordpress.com/?p=18</link>
<pubDate>Thu, 17 Jul 2008 12:23:05 +0000</pubDate>
<dc:creator>bcsanches</dc:creator>
<guid>http://bcsanches.wordpress.com/?p=18</guid>
<description><![CDATA[Para ver o artigo anterior da série: Boost Shared Pointer
No ultimo post vimos como funciona o shar]]></description>
<content:encoded><![CDATA[<p>Para ver o artigo anterior da série: <a href="http://bcsanches.wordpress.com/2008/07/09/boost-shared-pointers/">Boost Shared Pointer</a></p>
<p>No ultimo post vimos como funciona o shared_ptr da Boost e o problema da referência circular. Pensando em como resolver esse problema foi então criado o weak_ptr (ponteiro fraco), que também é um smart pointer, mas possui algumas restrições de uso:</p>
<ul>
<li>Um weak_ptr só pode ser criado a partir de um shared_pointer</li>
<li>O ponteiro armazenado pelo weak_ptr somente pode ser usado após a chamada do método lock.</li>
</ul>
<p>Voltando ao exemplo anterior, vamos modificar a classe um pouco:<br />
[sourcecode language="cpp"]<br />
#include <boost/shared_ptr.hpp><br />
#include <boost/weak_ptr.hpp><br />
#include <string></p>
<p>class Person;</p>
<p>class Person<br />
{<br />
    public:<br />
        typedef boost::shared_ptr<Person> PersonPtr_t;<br />
        typedef boost::weak_ptr<Person> PersonWeakPtr_t;</p>
<p>        inline void SetName(const std::string &name)<br />
        {<br />
            m_Name = name;<br />
        }</p>
<p>        inline void SetFilho(PersonPtr_t ptr)<br />
        {<br />
            m_Filho = ptr;<br />
        } </p>
<p>        inline void SetPai(PersonPtr_t ptr)<br />
        {<br />
            m_Pai = ptr;<br />
        }</p>
<p>    private:<br />
        std::string m_Name;</p>
<p>        PersonPtr_t m_Filho;<br />
        PersonWeakPtr_t m_Pai;<br />
};[/sourcecode]<br />
Agora a classe Person armazena um weak_ptr para o pai ao invés de um shared_ptr. A decisão sobre quem vai ser weak e quem vai ser shared depende do projeto em si. No exemplo acima, tanto faz, escolhi o pai pensando que o certo seria o pai armazenar uma lista de filhos (que não implementei para deixar o exemplo simples) e a estrutura acabaria ficando parecido com uma arvore, e geralmente em arvores o que importa mesmo é a lista de filhos de cada nó, sendo a referencia para o pai apenas uma conveniência.</p>
<p>Mas voltando a weak_ptr, note que o método SetPai recebe como parâmetro um shared_ptr, não um weak_ptr. Implementamos assim pois um weak_ptr deve ser sempre inicializado a partir de um shared_ptr ou um outro weak_ptr. Se for o caso, pode ser adicionado uma sobrecarga com weak_ptr também.</p>
<p>Utilizando a nova classe:<br />
[sourcecode language="cpp"]<br />
int main(int argc, char **argv)<br />
{<br />
    Person::PersonPtr_t pai(new Person());<br />
    pai->SetName("Pai");</p>
<p>    Person::PersonPtr_t filho(new Person());<br />
    filho->SetName("Filho");<br />
    filho->SetPai(pai);</p>
<p>    pai->SetFilho(filho);</p>
<p>    return 0;<br />
}<br />
[/sourcecode]<br />
Sim! Não mudou nada em relação ao exemplo do post anterior. Para deixar mais interessante, vamos criar um novo método e usá-lo:<br />
[sourcecode language="cpp"]<br />
#include <boost/shared_ptr.hpp><br />
#include <boost/weak_ptr.hpp><br />
#include <string><br />
#include <iostream></p>
<p>class Person;</p>
<p>class Person<br />
{<br />
    public:<br />
        typedef boost::shared_ptr<Person> PersonPtr_t;<br />
        typedef boost::weak_ptr<Person> PersonWeakPtr_t;</p>
<p>        inline void SetName(const std::string &name)<br />
        {<br />
            m_Name = name;<br />
        }</p>
<p>        inline void SetFilho(PersonPtr_t ptr)<br />
        {<br />
            m_Filho = ptr;<br />
        } </p>
<p>        inline void SetPai(PersonPtr_t ptr)<br />
        {<br />
            m_Pai = ptr;<br />
        }</p>
<p>        inline const std::string &GetName() const<br />
        {<br />
            return(m_Name);<br />
        }</p>
<p>        inline const std::string *GetNomePai()<br />
        {<br />
            PersonPtr_t ptr = m_Pai.lock();</p>
<p>            return(ptr ? &ptr->GetName() : NULL);            </p>
<p>        }</p>
<p>    private:<br />
        std::string     m_Name;</p>
<p>        PersonPtr_t     m_Filho;<br />
        PersonWeakPtr_t m_Pai;<br />
};</p>
<p>int main(int argc, char **argv)<br />
{<br />
    using namespace std;</p>
<p>    Person::PersonPtr_t pai(new Person());<br />
    pai->SetName("Pai");</p>
<p>    Person::PersonPtr_t filho(new Person());<br />
    filho->SetName("Filho");<br />
    filho->SetPai(pai);</p>
<p>    pai->SetFilho(filho);</p>
<p>    const std::string *name = filho->GetNomePai();<br />
    cout << "Nome do pai: " << (name ? *name : "sou orfao") << endl;</p>
<p>    return 0;<br />
}[/sourcecode]<br />
Pronto, agora já sabemos como usar o weak_ptr. Note que no método GetNomePai verificamos se o ponteiro ptr é valido antes de usá-lo. Isto deve ser feito pois um weak_ptr não garante que um objeto vai ser valido, apenas garante que uma referencia é valida ou null.</p>
<p>Isso quer dizer que se fizermos:<br />
[sourcecode language="cpp"]<br />
int main(int argc, char **argv)<br />
{<br />
    using namespace std;</p>
<p>    Person::PersonPtr_t pai(new Person());<br />
    pai->SetName("Pai");</p>
<p>    Person::PersonPtr_t filho(new Person());<br />
    filho->SetName("Filho");<br />
    filho->SetPai(pai);</p>
<p>    pai->SetFilho(filho);<br />
    pai.reset(); //apagando a referencia</p>
<p>    const std::string *name = filho->GetNomePai();<br />
    cout << "Nome do pai: " << (name ? *name : "sou orfao") << endl;</p>
<p>    return 0;<br />
}[/sourcecode]<br />
Neste novo exemplo, ao invés do nome do pai, vai ser impresso a mensagem "sou órfão", porque quando o reset do ponteiro do pai é invocado, o objeto pai é destruído. Nesse caso, o weak_ptr nos retorna null. Se ao invés do weak_ptr estivéssemos usando um ponteiro comum, acessaríamos um ponteiro invalido.</p>
<p>No próximo post, vamos ver como usar smart pointers com vetores (arrays).</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Adobe Dreamweaver CS3 Portable | Inglês]]></title>
<link>http://lamparao.wordpress.com/?p=64</link>
<pubDate>Thu, 17 Jul 2008 05:23:33 +0000</pubDate>
<dc:creator>wcarvalho</dc:creator>
<guid>http://lamparao.wordpress.com/?p=64</guid>
<description><![CDATA[Se você tem um site ou está pensando em criar um, comece a pensar em usar o Dreamweaver. Ele é o ]]></description>
<content:encoded><![CDATA[<p>Se você tem um site ou está pensando em criar um, comece a pensar em usar o Dreamweaver. Ele é o mais completo editor de HTML do mercado, possui controle melhor de CSS2, lida muito bem com Coldfusion, ASP, ASPX e PHP, tem mais behaviors (eventos javascript pré-configurados) e possui um ótimo mecanismo de gerenciamento de sites. Com ele o trabalho de construir ou administrar um site pode se tornar bem mais fácil.</p>
<p><strong>Sistema Operacional:</strong>Windows 95, 98, NT, 2000, ME, XP, 2003<br />
<strong>Tamanho: </strong>69 MB<br />
<strong>Idioma: </strong>Inglês</p>
<p style="text-align:center;">Download <a href="http://rapidshare.com/files/87340373/DreamCS3Port-www.clic-gratis.com.rar" target="_blank">Rapidshare<br />
</a>Download <a href="http://rapidshare.com/files/87340373/DreamCS3Port-www.clic-gratis.com.rar" target="_blank"></a><a href="http://w14.easy-share.com/2943981.html" target="_blank">Easy-Share</a></p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Threads com PyGTK]]></title>
<link>http://medeubranco.wordpress.com/?p=64</link>
<pubDate>Thu, 17 Jul 2008 03:39:04 +0000</pubDate>
<dc:creator>medeubranco</dc:creator>
<guid>http://medeubranco.wordpress.com/?p=64</guid>
<description><![CDATA[Já falei um pouco de thread em python; agora vamos falar de threads com pygtk.
Como uma introduçã]]></description>
<content:encoded><![CDATA[<p style="text-align:justify;">Já falei um pouco de thread em python; agora vamos falar de threads com pygtk.</p>
<p style="text-align:justify;">Como uma introdução, analise o código abaixo. Veja se lhe parece correto.</p>
<p>[sourcecode language='python']</p>
<p>#! /usr/bin/env python<br />
# -.- coding: utf-8 -.-<br />
import gtk<br />
import pygtk</p>
<p>continua=None<br />
def iniciar(botao, texto):<br />
    global continua<br />
    continua=True<br />
    x=0<br />
    while continua:<br />
        texto.set_text(str(x))<br />
        x+=1</p>
<p>def parar(botao):<br />
    global continua<br />
    continua=False</p>
<p># criando os componentes<br />
win=gtk.Window()<br />
box=gtk.VBox()<br />
texto=gtk.Entry()<br />
btinicia=gtk.Button("iniciar" )<br />
btpara=gtk.Button("interromper" )</p>
<p># ativando os eventos<br />
btinicia.connect("clicked", iniciar, texto)<br />
btpara.connect("clicked", parar)<br />
win.connect("destroy",gtk.main_quit)</p>
<p># encaixotando tudo<br />
box.pack_start(texto)<br />
box.pack_start(btinicia)<br />
box.pack_start(btpara)<br />
win.add(box)</p>
<p># exibindo tudo<br />
win.show_all()</p>
<p># iniciando o loop principal do GTK<br />
gtk.main()</p>
<p>[/sourcecode]</p>
<p style="text-align:justify;">O que deveria acontecer ao executar esse código? Uma janela com uma caixa de texto, um botão "iniciar" e um botão "interromper".</p>
<p style="text-align:justify;">Clicando no "iniciar", um loop inicia e começa a mudar o conteúdo da caixa de texto para "1", "2" e assim por diante até que se clique em "interromper".</p>
<p style="text-align:justify;">Se quiser executar o código, fique à vontade. Mas vou adiantar aqui que isso não vai dar certo. Ao clicar em "iniciar", o controle do programa passa para o loop sem fim, e você nem vê a caixa de texto sendo atualizada e nem consegue mais clicar no botão "interromper". Simplesmente seu programa pára de responder.</p>
<p style="text-align:justify;"><!--more-->Para que o programa funcione como esperado, é necessário criar uma thread onde será executada a função iniciar. A função então vai rodar em paralelo, e você assume de novo  o controle do programa.</p>
<p style="text-align:justify;"><span style="color:#ff0000;">************</span></p>
<p style="text-align:justify;">Atualização!</p>
<p style="text-align:justify;">Conforme o comentário do <a href="http://matias.archlinux-br.org/">thotypous</a>, é possível fazer esse código funcionar mesmo sem threads.</p>
<p style="text-align:justify;">Basta usar <code>while gtk.events_pending():gtk.main_iteration() </code> dentro do loop:</p>
<p style="text-align:justify;">
<p>[sourcecode language='python']</p>
<p>    while continua:<br />
        while gtk.events_pending():gtk.main_iteration()<br />
        texto.set_text(str(x))<br />
        x+=1<br />
[/sourcecode]</p>
<p style="text-align:justify;">Como o objetivo deste artigo é mostrar o uso de threads com pygtk, vamos tocar o barco.</p>
<p style="text-align:justify;"><span style="color:#ff0000;">************</span></p>
<p style="text-align:justify;">
<p style="text-align:justify;">Para utilizar threads em pygtk, além do que já aprendeu sobre threads  você vai ter que lembrar de duas coisinhas:</p>
<ul>
<li>iniciar threads do gtk com <a href="http://www.pygtk.org/docs/pygtk/gdk-functions.html#function-gdk--threads-init">gtk.gdk.threads_init</a></li>
<li>usar <a href="http://www.pygtk.org/docs/pygobject/gobject-functions.html#function-gobject--idle-add">gobject.idle_add</a> para permitir que códigos externos ao gtk.main_loop  possam modificar sua interface em pygtk.</li>
</ul>
<p><em>( referência: <a href="http://unpythonic.blogspot.com/2007/08/using-threads-in-pygtk.html">Using threads in PyGTK</a> )</em></p>
<p style="text-align:justify;">A função <code class="function">gobject.idle_add</code>( <em class="parameter"><code>callback, [argumentos para callback] </code></em>) adiciona uma função (especificada por <em class="parameter"><code>callback</code></em>) a ser chamada sempre que não houver eventos de prioridade mais alta para o main loop. Os argumentos para a função  <em class="parameter"><code>callback </code></em>são passados como argumentos adicionais de gobject.idle_add(). <em>(livre tradução da definição em <a href="http://www.pygtk.org/docs/pygobject/gobject-functions.html#function-gobject--idle-add">gobject.idle_add</a> )</em></p>
<p style="text-align:justify;">Vamos ver então como fazer o código apresentado lá em cima funcionar direito:</p>
<p>[sourcecode language='python']</p>
<p>from threading import Thread<br />
import time<br />
import gtk, gobject<br />
gtk.gdk.threads_init()<br />
a_thread=None</p>
<p>def iniciar(botao, texto):<br />
    global a_thread<br />
    #iniciando a thread<br />
    a_thread=Thread(target=nosso_loop, args=(texto,botao))<br />
    a_thread.morta=False<br />
    a_thread.start()</p>
<p>def nosso_loop(texto, botao):<br />
    # desabilitando o botao "iniciar"<br />
    # para que o usuario nao possa<br />
    # iniciar novas threads enquanto<br />
    # esta continuar<br />
    botao.set_sensitive(0)</p>
<p>    z=0<br />
    while not a_thread.morta:<br />
        z+=1<br />
        # chamando a funcao atualiza_texto<br />
        # com o idle_add<br />
        gobject.idle_add(atualiza_texto,texto, z)</p>
<p>        time.sleep(0.00001)<br />
    # o loop terminou<br />
    # o botao vai poder agora<br />
    # ser clicado de no:vo<br />
    botao.set_sensitive(1)</p>
<p>def atualiza_texto(texto, valor):<br />
    texto.set_text(str(valor))</p>
<p>def interromper(botao=None):<br />
    a_thread.morta=True</p>
<p>def sair(win):<br />
    interromper()<br />
    gtk.main_quit()</p>
<p>#criando os componentes<br />
win=gtk.Window()<br />
box=gtk.VBox()<br />
texto=gtk.Entry()<br />
botao=gtk.Button("iniciar" )<br />
btmata=gtk.Button("interromper" )</p>
<p>#ativando os eventos<br />
botao.connect("clicked", iniciar, texto)<br />
btmata.connect("clicked", interromper)<br />
win.connect("destroy",sair)</p>
<p>#encaixotando tudo<br />
box.pack_start(texto)<br />
box.pack_start(botao)<br />
box.pack_start(btmata)<br />
win.add(box)</p>
<p>#exibindo tudo<br />
win.show_all()</p>
<p>#iniciando o loop principal do GTK<br />
gtk.main()<br />
[/sourcecode]</p>
<p align="justify">Incluimos a thread neste código. A função "iniciar()" agora simplesmente inicia a thread. O loop infinito foi transferido para a função "nosso_loop()", que será executada pela thread.</p>
<p align="justify">A atualização da caixa de texto foi transferida para  a função "atualiza_texto()", que é executada com "gobject.idle_Add()".</p>
<p align="justify">Pode executar este código. Vai funcionar.</p>
<p align="justify">
]]></content:encoded>
</item>
<item>
<title><![CDATA[Blogcamp-se]]></title>
<link>http://herdeirodocaos.wordpress.com/?p=1047</link>
<pubDate>Wed, 16 Jul 2008 17:22:48 +0000</pubDate>
<dc:creator>herdeirodocaos</dc:creator>
<guid>http://herdeirodocaos.wordpress.com/?p=1047</guid>
<description><![CDATA[O Antonio Lima, do blog meu papagaio divulgou a programação do Blogcamp-se, que será realizado de]]></description>
<content:encoded><![CDATA[<p>O Antonio Lima, do <a href="http://www.meupapagaio.com/">blog meu papagaio</a> divulgou a <a href="http://blogcamp.com.br/programacao-do-blogcamp-se/">programação do Blogcamp-se</a>, que será realizado de 25 a 27 de julho (sexta-sábado-domingo), em Aracaju.</p>
<p><a href="http://spreadsheets.google.com/viewform?key=pCwXMPyyzuh3bOLiqhprONA">inscrições aqui</a></p>
<p>A capital de Sergipe fica a quatros horas daqui de Salvador e a passagem de buzú não chega a R$ 50. A estrada está conservada. Hotel podemos encontrar com o mesmo preço.  Haverão palestras e desconferências durante o evento e, e claro, a parte profana já está programada.</p>
<p>O <a href="http://tcelestino.com.br/blog/">Tiago Celestino</a> vai, <a href="http://www.ernesto.belote.eng.br/">Belote</a> também, <a href="http://www.gersonsouza.net/blog/">Gerson </a>está pensando. Mais alguém da Bahia ou de alguma parte do Brasil vai?</p>
<p>Veja quem já está inscrito:</p>
<p>Antonio Carlos Lima - <a class="extlink" href="http://www.meupapagaio.com/">http://www.meupapagaio.com</a> - Aracaju/SE</p>
<p>Alexandre Sena - <a class="extlink" href="http://www.alexandresena.jor.br/blog">http://www.alexandresena.jor.br/blog</a> - Brasília/DF</p>
<p>João M. - <a class="extlink" href="http://www.nababu.org/">http://www.nababu.org</a> - Rio de Janeiro/RJ</p>
<p>Jovas - <a class="extlink" href="http://www.recomendocomcerveja.com/">http://www.recomendocomcerveja.com</a> - Aracaju/SE</p>
<p>Cristiano Batista - <a class="extlink" href="http://www.gazetadenoticias.blog.emsergipe.com/">http://www.gazetadenoticias.blog.emsergipe.com</a> - Aracaju/SE</p>
<p>Abimael Moura - Aracaju/SE</p>
<p>Wille Lima - <a class="extlink" href="http://wille.wordpress.com/">http://wille.wordpress.com</a> - Aracaju/SE</p>
<p>Edenir Fernandes - <a class="extlink" href="http://www.futebolse.blogspot.com/">http://www.futebolse.blogspot.com</a> - Aracaju/SE</p>
<p>João Áquila - <a class="extlink" href="http://www.joaoaquila.com/">http://www.joaoaquila.com</a> - Aracaju/SE</p>
<p>Aleh - <a class="extlink" href="http://www.fatosinuteis.com.br/">http://www.fatosinuteis.com.br</a> - Brasília/DF</p>
<p>Troile - <a class="extlink" href="http://www.uninuni.com/">http://www.uninuni.com</a> - Aracaju/SE</p>
<p>Alessandro Carlos -  <a class="extlink" href="http://www.sergipepop.blogspot.com/">http://www.sergipepop.blogspot.com</a> - Aracaju/SE</p>
<p>Heliarly - <a class="extlink" href="http://www.doideirapura.com/">http://www.doideirapura.com</a> - Vitória/ES</p>
<p>Débora Andrade - <a class="extlink" href="http://www.povobunda.zip.net/">http://www.povobunda.zip.net</a> - Aracaju/SE</p>
<p>Domingos - <a class="extlink" href="http://www.saodomingosfm.blogspot.com/">http://www.saodomingosfm.blogspot.com</a> - São Domingos/SE</p>
<p>Yuri Almeida - <a class="extlink" href="../">http://herdeirodocaos.wordpress.com</a> - Salvador/BA</p>
<p>Bruno Guimarães - <a class="extlink" href="http://www.uninuni.com/">http://www.uninuni.com</a> - Aracaju/SE</p>
<p>Saulo Álvares - <a class="extlink" href="http://www.transformacao.spaceblog.com.br/">http://www.transformacao.spaceblog.com.br</a> - Aracaju/SE</p>
<p>Márcio Rocha - <a class="extlink" href="http://www.marciorosan.blogspot.com/">http://www.marciorosan.blogspot.com</a> - Aracaju/SE</p>
<p>Fredson Navarro - <a class="extlink" href="http://www.fredsonnavarro.blog.emsergipe.com/">http://www.fredsonnavarro.blog.emsergipe.com</a> - Aracaju/SE</p>
<p>Rosivaldo Andrade - <a class="extlink" href="http://www.omundoempresarial.com/">http://www.omundoempresarial.com</a> - Aracaju/SE</p>
<p>Douglas Magalhães - <a class="extlink" href="http://www.caranguejonews.com/">http://www.caranguejonews.com</a> - Aracaju/SE</p>
<p>Daniel Villas-Boas - <a class="extlink" href="http://www.esporte-se.blogspot.com/">http://www.esporte-se.blogspot.com</a> - Aracaju/SE</p>
<p>Armando Junior - <a class="extlink" href="http://www.viversozinho.blogspot.com/">http://www.viversozinho.blogspot.com</a> - Belo Horizonte/MG</p>
<p>Galileu Nogueira - <a class="extlink" href="http://www.influxo.org/prontofalei">http://www.influxo.org/prontofalei</a> - Aracaju/SE</p>
<p>Márcio Alves - <a class="extlink" href="http://www.vivenciaespirita.blogspot.com/">http://www.vivenciaespirita.blogspot.com</a> - Aracaju/SE</p>
<p>Felipe Lima - <a class="extlink" href="http://onzeemcampo.meupapagaio.com/">http://onzeemcampo.meupapagaio.com</a> - Aracaju/SE</p>
<p>Diógenes de Souza - <a class="extlink" href="http://blogladode.blogspot.com/">http://blogladode.blogspot.com</a> - Aracaju/SE</p>
<p>Guilherme Valadares - <a class="extlink" href="http://www.papodehomem.com.br/">http://www.papodehomem.com.br</a> - São Paulo/SP</p>
<p>Ricardo Marques - <a class="extlink" href="http://www.ricardomarques.com.br/">http://www.ricardomarques.com.br</a> - Aracaju/SE</p>
<p>André Luz - <a class="extlink" href="http://www.contosdopeewee.blogspot.com/">http://www.contosdopeewee.blogspot.com</a> - Vitória/ES</p>
<p>Lygia Prudente - <a class="extlink" href="http://www.lygiaprudente.blogspot.com/">http://www.lygiaprudente.blogspot.com</a> - Aracaju/SE</p>
<p>Tiago Celestino - <a class="extlink" href="http://www.tcelestino.com.br/blog">http://www.tcelestino.com.br/blog</a> - Salvador/BA</p>
<p>Joelma - <a class="extlink" href="http://www.blogadois.blogspot.com/">http://www.blogadois.blogspot.com</a> - Aracaju/SE</p>
<p>Joe - <a class="extlink" href="http://www.missjgirl.blogspot.com/">http://www.missjgirl.blogspot.com</a> - Aracaju/SE</p>
<p>Iuri Nunes -  <a class="extlink" href="http://www.blogadois.blogspot.com/">http://www.blogadois.blogspot.com</a> - Aracaju/SE</p>
<p>Cézar Ayran - <a class="extlink" href="http://www.plugmania.com.br/">http://www.plugmania.com.br</a> - Aracaju/SE</p>
]]></content:encoded>
</item>

</channel>
</rss>
