<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-4684750288742513326</id><updated>2012-01-28T20:43:58.052-08:00</updated><category term='Paleta Standart'/><category term='Teclado'/><category term='Depurador PHP'/><category term='Dicas de Sql Server'/><category term='Sessão'/><category term='Localização'/><category term='arquivo xml'/><category term='Recurso PHP para o Upload de arquivos'/><category term='Jato de Tinta'/><category term='Artigos Ajax'/><category term='Windows Form'/><category term='String'/><category term='VB.NET'/><category term='adobe'/><category term='register_globals'/><category term='Versões'/><category term='criar'/><category term='xampp'/><category term='separar string'/><category term='html injecton'/><category term='Padronização'/><category term='Artigos Flex'/><category term='construcao de pagina'/><category term='Conexão'/><category term='Web Sites'/><category term='Arrays longas'/><category term='classes'/><category term='Dell'/><category term='SimpleDateFormat'/><category term='Rápido'/><category term='OPP'/><category term='OnCreate'/><category term='Insert'/><category term='Artigos de Sql Server'/><category term='Artigo'/><category term='filmes'/><category term='Configurar o Firewall do Windows XP com SP2 para Interbase/Firebird'/><category term='Ordenada'/><category term='Consultas Complexas'/><category term='Dominios'/><category term='Paleta DBExpress'/><category term='Dados'/><category term='Upper'/><category term='Interface numa única página'/><category term='Favoritos'/><category term='PHP 4'/><category term='Desenvolvimento'/><category term='Artigo Firebird/Interbase: Disparando uma &quot;Stored Procedure&quot; no horário marcado'/><category term='Dicionário de Dados'/><category term='Microsoft Enterprise Library'/><category term='Rede'/><category term='Controle de Visitas'/><category term='Exclusão'/><category term='TWebBrowser'/><category term='System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase'/><category term='Código Fonte'/><category term='KeyPress'/><category term='KeyUP'/><category term='Botão Voltar'/><category term='IP Visitante'/><category term='Analize'/><category term='Usando um TreeView conjuntamente com um relacionamento mestre do detalhe'/><category term='Artigo SQL Server'/><category term='Bancos de Dados'/><category term='gds32.dll'/><category term='Array'/><category term='desktop'/><category term='Didático'/><category term='Sleep'/><category term='SSRS'/><category term='Som'/><category term='.sys'/><category term='Sizeof()'/><category term='Provedor'/><category term='Tratamento de erros no Delphi / Cliente-Servidor'/><category term='Conf'/><category term='Dicas de Ajax'/><category term='Sequence'/><category term='funcoes'/><category term='Tomada Decisão'/><category term='Executando procedures em Threads'/><category term='Média de Preço'/><category term='php5'/><category term='Microsoft'/><category term='Service Pack 2.0'/><category term='MySQL Controls'/><category term='list'/><category term='booleano'/><category term='Páre e descanse'/><category term='MYSQL AB'/><category term='funcao'/><category term='W3C'/><category term='.Net Compact Framework'/><category term='Desenvolvendo Aplicações para Pocket PC'/><category term='Generator'/><category term='Store Procedures'/><category term='Conversão de Dados'/><category term='44 Dígitos'/><category term='Tela'/><category term='Ucfirst'/><category term='Recarregar'/><category term='site'/><category term='Paradox'/><category term='E-mails'/><category term='DBExpress'/><category term='Servidor'/><category term='Capturar'/><category term='frameworks'/><category term='Formulário'/><category term='Números'/><category term='senha aleatória'/><category term='manipulacao de string'/><category term='Impressora'/><category term='Dicas VB.Net - Iniciando e Matando Processos com a System.Diagnostics'/><category term='Smartphone'/><category term='Subject'/><category term='SP2'/><category term='Key Preview'/><category term='Serviço'/><category term='Chave Primária'/><category term='Artigo Delphi'/><category term='Item da Venda'/><category term='dinamico'/><category term='operações matemáticas'/><category term='Express'/><category term='WordPress'/><category term='Delphi 7'/><category term='processamento'/><category term='Seleção'/><category term='Classe Math'/><category term='Queris'/><category term='HTML/XML'/><category term='Instantclient'/><category term='Registry'/><category term='Função TRIM()'/><category term='arquivos inc'/><category term='Aplicação'/><category term='PHP'/><category term='hora'/><category term='conversão de data'/><category term='Pegue o nome do computador e seu IP'/><category term='Procedure'/><category term='Utilizando Ajax com Delphi 2005'/><category term='BI'/><category term='Galeria de Fotos'/><category term='Novidades'/><category term='Word Press'/><category term='Aprenda com os outros'/><category term='Variável'/><category term='.NET Framework SDK'/><category term='Trabalhando com Linked Server no SQL Server 2005'/><category term='IrDAClient'/><category term='StrtoLower'/><category term='SqlCeCommand'/><category term='Preenchimento'/><category term='DataGridView'/><category term='Dicas Sql Server'/><category term='WebService'/><category term='Join'/><category term='atributos'/><category term='Cálculo'/><category term='display'/><category term='Download'/><category term='Amazon'/><category term='listagem de arquivos'/><category term='Log de Erros'/><category term='Tratando Erros em VB.Net'/><category term='Teclas'/><category term='Delete'/><category term='pesquisa'/><category term='Orientada'/><category term='HTTP'/><category term='Pedidos'/><category term='Formatação'/><category term='Flash'/><category term='smile'/><category term='Arme-se com ferramentas produtivas'/><category term='$_SERVER'/><category term='css'/><category term='Artigo Usando o Visual Studio 2005 para criar interfaces do usuário e dados para aplicativos de dispositivos'/><category term='Produtividade'/><category term='OnClick'/><category term='web 2.0'/><category term='Console'/><category term='ano data'/><category term='Tecnologia'/><category term='migracao'/><category term='PDA'/><category term='IP'/><category term='Modelo de dados'/><category term='API do Windows Mobile'/><category term='Copy if newer'/><category term='interativas'/><category term='Padrão'/><category term='Windows CE 5.0'/><category term='Criptografia'/><category term='Base de Dados'/><category term='backup'/><category term='MSDE 2000'/><category term='Ponha o MySQL em seu desktop'/><category term='Acentuação'/><category term='Como criar um keylogger (em Delphi)'/><category term='jQuery'/><category term='Artigo Ajax e PHP - Carregando dados sem refresh'/><category term='Artigo  Asp.net'/><category term='Denominador'/><category term='dbgrid'/><category term='folha de estilo'/><category term='Slide Show'/><category term='irda'/><category term='XML'/><category term='DELPHI 5'/><category term='Dicas Firebird'/><category term='dataset'/><category term='Cadastros'/><category term='Explode'/><category term='Clipper'/><category term='Tecnologia dbExpress e conexão ao FireBird'/><category term='Venda'/><category term='ADO .NET Entity Framework'/><category term='Sintegra'/><category term='Select'/><category term='Funções'/><category term='TMemo'/><category term='projeto'/><category term='Sites Dinâmicos'/><category term='Read'/><category term='Codigo PHP'/><category term='try'/><category term='Referências ou ponteiros em PHP'/><category term='Chave'/><category term='Escalabilidade'/><category term='Compact Framework'/><category term='Delphi 2005'/><category term='navegador'/><category term='Tabela'/><category term='Impressão de Código de Barras'/><category term='Cookies'/><category term='Usuário'/><category term='PocketPC'/><category term='Rotacionar'/><category term='MULTITIER'/><category term='Borland Software Corporation'/><category term='Windows Mobile'/><category term='Twitter'/><category term='texto'/><category term='SGBD'/><category term='Autenticação de usuário com banco de dados e cookies'/><category term='Orientado a Objetos'/><category term='Ajax PHP'/><category term='MVC'/><category term='Artigo PHP'/><category term='Button'/><category term='Trigger'/><category term='Administrador'/><category term='Acronicos'/><category term='Codigo'/><category term='Livre'/><category term='Delphi 2009'/><category term='evento'/><category term='Dicas de VB.Net'/><category term='Parâmetros'/><category term='Programa Validador'/><category term='Dicas PHP'/><category term='SQLStoredProc'/><category term='aps'/><category term='Artigo Expressões regulares no SQL Server'/><category term='Function'/><category term='Pocket PC'/><category term='dwTime'/><category term='windows'/><category term='on line'/><category term='ArtigoDelphi + Oracle - Conexão com DBExpress'/><category term='Referencia'/><category term='As maravilhas do AJAX'/><category term='peça para outros testarem'/><category term='cartao de credito'/><category term='str_replace'/><category term='Domínios'/><category term='validacao'/><category term='Programação'/><category term='desenvolvedor'/><category term='Internet'/><category term='Linguagem de Programação'/><category term='Alta Disponibilidade'/><category term='Consultas recursivas'/><category term='Transações Aninhadas'/><category term='VB6'/><category term='Nota Fiscal Eletrônica'/><category term='ASP'/><category term='2010'/><category term='Segurança'/><category term='ListBox'/><category term='lancamento'/><category term='Artigo Ajax'/><category term='Computador'/><category term='website'/><category term='Simples menu accordion com jQuery'/><category term='VB'/><category term='Java'/><category term='OO'/><category term='OledbConnection'/><category term='algoritmo'/><category term='Senhas'/><category term='Application Blocks'/><category term='Infravermelho'/><category term='Modos Transações'/><category term='Compatibilidade entre navegadores'/><category term='Dinâmico'/><category term='métodos'/><category term='Grupos de TI'/><category term='Microsoft Access'/><category term='matematicas'/><category term='Componentes'/><category term='https'/><category term='JavaScript Object Notation'/><category term='MXML'/><category term='Benefício'/><category term='Update'/><category term='ODBC'/><category term='Artigo de VB.Net'/><category term='Chamada Voz'/><category term='Fluxo'/><category term='Search engine optimization'/><category term='Colunas'/><category term='TApplication'/><category term='Redes'/><category term='Exemplo'/><category term='aplicações'/><category term='F1'/><category term='Animação'/><category term='dia da semana'/><category term='php 6'/><category term='Registro'/><category term='MSMQ Message Queueing usando o Compact Framework 2.0'/><category term='página web'/><category term='Caracteristivas VB.Net'/><category term='DivideByZeroException'/><category term='Cliente'/><category term='Arquivos .Ini'/><category term='Senha'/><category term='Paginação de resultados em PHP/MySQL'/><category term='Active Sync'/><category term='ASP.NET - Geração e tratamento de log de erros'/><category term='Dispositivo Móvel'/><category term='Múltiplos arquivos'/><category term='Asp gerando .Doc'/><category term='SAP'/><category term='Não teste'/><category term='player'/><category term='Smart Device Project'/><category term='OLE'/><category term='Delphi'/><category term='video'/><category term='clientes'/><category term='FreeBSD + FreeRadius + MySQL'/><category term='Atualização'/><category term='Embeded'/><category term='Navegação'/><category term='Acessando vídeo do You Tube com Vb.Net'/><category term='actionscript'/><category term='Recordset'/><category term='ataque'/><category term='Show'/><category term='elementos'/><category term='IBM'/><category term='POST'/><category term='Common Language Runtime (CLR)'/><category term='iis'/><category term='Enviando'/><category term='TTable'/><category term='Scripts PHP'/><category term='waveOutGetNumDevs'/><category term='SQL Server 2005'/><category term='Aplicativo'/><category term='Interbase'/><category term='AW_VER_NEGATIVE'/><category term='Dicas de Uso'/><category term='Reload'/><category term='Simulando os alertas do MSN no Delphi'/><category term='Auto Incremento'/><category term='Dicas Delphi'/><category term='Assembly'/><category term='Smarty'/><category term='Mashups'/><category term='SSAS'/><category term='propriedades'/><category term='Catch'/><category term='Como instalar o Mysql no Windows Vista'/><category term='Framework Microsoft .NET'/><category term='Firebird'/><category term='framework'/><category term='GET'/><category term='app.config'/><category term='.bat'/><category term='Dica de Compact Framework'/><category term='Label'/><category term='Datas'/><category term='media player'/><category term='XmlHttpRequest'/><category term='Unix'/><category term='CLR'/><category term='UNION'/><category term='Placa'/><category term='File System'/><category term='Recursividade'/><category term='CAB'/><category term='Ajax Web'/><category term='WebRequest'/><category term='DataGrid'/><category term='explorer'/><category term='Paleta Aditional'/><category term='ADODB'/><category term='Dinamica'/><category term='compativel'/><category term='Tutorial'/><category term='F5'/><category term='FirePHP'/><category term='Oracle'/><category term='Tempo Execução'/><category term='SOA'/><category term='IDE'/><category term='Kylix'/><category term='Visual Studio .NET'/><category term='TimeStamp'/><category term='Rotina'/><category term='Cliente Java'/><category term='Artigo Firebird'/><category term='Melhorias'/><category term='php6'/><category term='programacao'/><category term='Manual'/><category term='Numerador'/><category term='settime'/><category term='Scripts'/><category term='Artigo Estratégias de Partição para Armazenamento de Dados Relacionais no Microsoft SQL Server'/><category term='HWnd'/><category term='DoubleClick'/><category term='Trusted Connection'/><category term='Macetes'/><category term='HP'/><category term='Banco de Dados'/><category term='Choose Items'/><category term='Create'/><category term='Impressoras'/><category term='Informações'/><category term='COM'/><category term='Formantando nomes com caracteres especiais em PHP'/><category term='Criando uma aplicação &quot;embarcada&quot; com o Firebird'/><category term='Google'/><category term='Transações'/><category term='F2'/><category term='TomCat'/><category term='invasao'/><category term='Otimizando seu Site'/><category term='Microsoft Windows'/><category term='Softwares Empresarias'/><category term='Máximo Desempenho'/><category term='Database'/><category term='Linux'/><category term='seguranca'/><category term='Exclusão Segura'/><category term='Sistemas'/><category term='Botões'/><category term='Asynchronous'/><category term='Fedora Core 3'/><category term='Programação Delphi'/><category term='programa'/><category term='dwFlags'/><category term='comandos sql mal intencionados'/><category term='Blob'/><category term='Dicas'/><category term='SQL'/><category term='JSP'/><category term='Plataforma .net'/><category term='.ini'/><category term='Integer'/><category term='Manipulação'/><category term='Progrmação'/><category term='Combo'/><category term='Usuários'/><category term='caracteres'/><category term='CORBA'/><category term='NameSpace'/><category term='AW_HOR_POSITIVE'/><category term='substituir string por outra'/><category term='Conexão Banco de Dados'/><category term='Microsoft Visual Studio'/><category term='operador de referência'/><category term='Valor de campo e filtro condicional'/><category term='Form'/><category term='Length'/><category term='Web'/><category term='Padrão POSIX'/><category term='Máquina'/><category term='Herança'/><category term='firefox'/><category term='MSDN'/><category term='uploda'/><category term='DOM'/><category term='Domains'/><category term='caracteristicas visual basic 2010'/><category term='ActiveX'/><category term='window'/><category term='Pense antes de fazer'/><category term='bits'/><category term='Truques'/><category term='Projects'/><category term='Driblando o REGISTER GLOBALS OFF'/><category term='Upload de arquivos via PHP'/><category term='PC'/><category term='diferença entre datas'/><category term='Data Source'/><category term='MD5'/><category term='Blogs'/><category term='classe'/><category term='Campo'/><category term='magic_quotes'/><category term='Arquivos'/><category term='Migração'/><category term='artigos'/><category term='mktime'/><category term='Conceito'/><category term='economizar'/><category term='MySQL'/><category term='Artigo MySql'/><category term='Artigo Compact Framework'/><category term='Implementando um tradutor de línguas no seu web site'/><category term='Instruções dinâmicas'/><category term='Sistema'/><category term='Páginas'/><category term='DLL'/><category term='Transitional'/><category term='Arquivo Texto'/><category term='Totalização'/><category term='.NET Framework'/><category term='links'/><category term='javascritp'/><category term='atraentes'/><category term='Webcast'/><category term='flex'/><category term='Avançado'/><category term='Ferramenta'/><category term='Registros'/><category term='split'/><category term='gbak'/><category term='Sequências'/><category term='Fortran'/><category term='Ligação'/><category term='controle'/><category term='Mudanças'/><category term='programaca pra internet'/><category term='substr'/><category term='Table'/><category term='Comando SQL'/><category term='HTML'/><category term='Memo'/><category term='GPS'/><category term='Variáveis'/><category term='Upload'/><category term='JavaScript'/><category term='Padrão PCRE ( Perl-compatible regular expression)'/><category term='Dicas para programar melhor'/><category term='SelStar'/><category term='falhas'/><category term='Otimização MySql'/><category term='biblioteca'/><category term='Chamadas de Voz'/><category term='Dicas Ajax'/><category term='datasource'/><category term='Artigo - Microsoft .NET Compact Framework'/><category term='NF-e'/><category term='Template'/><category term='amfphp'/><category term='Visual Studio 2005'/><category term='SQL Server'/><category term='Tabelas'/><category term='Arquivo'/><category term='P.O.O'/><category term='Gráficos'/><category term='Permissões'/><category term='Manutenção do Banco'/><category term='Interpretada'/><category term='Acentuação para conteúdos carregados por AJAX'/><category term='Ajax'/><category term='Northwind.mdb'/><category term='CALENDÁRIO AJAX PARA CAMPO DE FORMULÁRIO'/><category term='C++'/><category term='Documente'/><category term='Imagens e Sons'/><category term='SMTP'/><category term='Arquitetura'/><category term='Gargalo'/><category term='YII'/><category term='Imagens'/><category term='chat'/><category term='Visual Basic'/><category term='Dicas de Banco de Dados'/><category term='PictureBox'/><category term='Asp.net'/><category term='Google App Inventor'/><category term='winmm.dll'/><category term='Android'/><category term='valores'/><category term='substituir'/><category term='Banco'/><category term='Microsoft Business Intelligence'/><category term='Girar'/><category term='ADO.Net'/><category term='apache'/><category term='filas'/><category term='Botão RT'/><category term='Registro do Windows'/><category term='Comandos'/><category term='desenho'/><category term='SYSDBA'/><category term='Função'/><category term='O path do banco de dados'/><category term='Instalação'/><category term='CASE para um filtro da instrução'/><category term='Dica'/><category term='Web Service'/><category term='Criar Dados'/><category term='Smart Device'/><category term='Artigo VB.net'/><category term='Envio'/><category term='var'/><category term='javascripts'/><category term='Artigos de MySql'/><category term='Sun'/><category term='Controlando o tamanho de uma imagem'/><category term='SEO'/><category term='Charset'/><category term='Integrated Security'/><category term='Minúsculas'/><category term='Registros aleatórios'/><category term='janelas secundárias'/><category term='Impressão de Código de Barros'/><category term='Trabalhando com usuário e permissões no SQL SERVER'/><category term='Programação Vb.Net'/><title type='text'>Programação e Desenvolvimento, Dicas</title><subtitle type='html'>Caso tenha alguma dúvida que não encontrou resposta, entre em contato conosco para podermos ajudá-lo. Obrigado</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://programscomputer.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://programscomputer.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default?start-index=101&amp;max-results=100'/><author><name>Blogado</name><uri>http://www.blogger.com/profile/00508039577491745861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>191</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-4684750288742513326.post-96585378193667622</id><published>2012-01-18T10:11:00.000-08:00</published><updated>2012-01-18T10:28:04.301-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='hora'/><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='Senha'/><category scheme='http://www.blogger.com/atom/ns#' term='senha aleatória'/><category scheme='http://www.blogger.com/atom/ns#' term='MD5'/><category scheme='http://www.blogger.com/atom/ns#' term='substr'/><category scheme='http://www.blogger.com/atom/ns#' term='String'/><title type='text'>Senha aleatória em PHP</title><content type='html'>&lt;a href="http://4.bp.blogspot.com/-wCIB8WJmJdM/TxcPC7GD0lI/AAAAAAAABPo/KdkEl5h9O3k/s1600/php.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 200px; height: 109px;" src="http://4.bp.blogspot.com/-wCIB8WJmJdM/TxcPC7GD0lI/AAAAAAAABPo/KdkEl5h9O3k/s200/php.jpg" title="PHP" alt="PHP" id="BLOGGER_PHOTO_ID_5699040396357915218" border="0" /&gt;&lt;/a&gt;Para gerar uma &lt;span style="font-weight: bold;"&gt;senha &lt;/span&gt;com &lt;span style="font-weight: bold;"&gt;letras &lt;/span&gt;e  &lt;span style="font-weight: bold;"&gt;números &lt;/span&gt;aleatórios em &lt;span style="font-weight: bold;"&gt;PHP  &lt;/span&gt;pode  se usar o seguinte:&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;br style="font-style: italic;"&gt;&lt;span style="font-style: italic;"&gt; $senha = substr(md5(date("H:i:s")), 1, 6); &lt;/span&gt;&lt;br style="font-style: italic;"&gt;&lt;br style="font-style: italic;"&gt;&lt;span style="font-style: italic;"&gt; echo $senha;  //exibir&lt;/span&gt;  ex: 62a37e&lt;br /&gt;&lt;br /&gt;Com este &lt;span style="font-weight: bold;"&gt;script   &lt;/span&gt;entre  &lt;span style="font-weight: bold;"&gt;tags  &lt;/span&gt;php  ocorre  o seguinte:&lt;br /&gt;&lt;br /&gt;-Será  gerada  uma string  MD5 apartir da Hora atual.&lt;br /&gt;&lt;br /&gt;-Com a função  &lt;span style="font-weight: bold;"&gt;substr  &lt;/span&gt;pegamos seis caracteres apartir da  posição um da &lt;span style="font-weight: bold;"&gt;string  &lt;/span&gt;gerada.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/-e8Les1cgFfI/TxcNmaWLmoI/AAAAAAAABPc/RfrCEVawVAs/s1600/gerarSenhaPHP.JPG"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 200px; height: 62px;" src="http://2.bp.blogspot.com/-e8Les1cgFfI/TxcNmaWLmoI/AAAAAAAABPc/RfrCEVawVAs/s200/gerarSenhaPHP.JPG" title="Script PHP,  Gerar Senha" alt="Script PHP,  Gerar Senha" id="BLOGGER_PHOTO_ID_5699038807019199106" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4684750288742513326-96585378193667622?l=programscomputer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://programscomputer.blogspot.com/feeds/96585378193667622/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4684750288742513326&amp;postID=96585378193667622' title='1 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/96585378193667622'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/96585378193667622'/><link rel='alternate' type='text/html' href='http://programscomputer.blogspot.com/2012/01/senha-aleatoria-em-php.html' title='Senha aleatória em PHP'/><author><name>Iria</name><uri>http://www.blogger.com/profile/12564967437383073190</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-wCIB8WJmJdM/TxcPC7GD0lI/AAAAAAAABPo/KdkEl5h9O3k/s72-c/php.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4684750288742513326.post-559479459292249427</id><published>2012-01-02T16:26:00.000-08:00</published><updated>2012-01-02T16:56:14.504-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Manual'/><category scheme='http://www.blogger.com/atom/ns#' term='GPS'/><category scheme='http://www.blogger.com/atom/ns#' term='Programação Vb.Net'/><category scheme='http://www.blogger.com/atom/ns#' term='Dicas'/><category scheme='http://www.blogger.com/atom/ns#' term='Localização'/><category scheme='http://www.blogger.com/atom/ns#' term='Artigo VB.net'/><title type='text'>Mapeamento com GPS e VB.NET</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/-XB_bbuUZsyU/TwJRtBycrKI/AAAAAAAAEus/5z4slOr00Ds/s1600/20120102%2BVB.net.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 200px; height: 160px;" src="http://1.bp.blogspot.com/-XB_bbuUZsyU/TwJRtBycrKI/AAAAAAAAEus/5z4slOr00Ds/s200/20120102%2BVB.net.jpg" alt="Programação Vb.Net,   Localização, GPS, Dicas,  Manual, Artigo VB.net, " title="Programação Vb.Net,   Localização, GPS, Dicas,  Manual, Artigo VB.net, " id="BLOGGER_PHOTO_ID_5693202712965721250" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Este artigo é descrever uma abordagem muito simples de &lt;span style="font-weight: bold;"&gt;trabalhar &lt;/span&gt;com um dispositivo &lt;span style="font-weight: bold;"&gt;GPS&lt;/span&gt; no contexto de um aplicativo &lt;span style="font-weight: bold;"&gt;Visual &lt;/span&gt;Basic 2005.&lt;br /&gt;&lt;br /&gt;Este artigo não trata de como funciona o &lt;span style="font-weight: bold;"&gt;dispositivo &lt;/span&gt;de GPS ou tudo o que pode ser adquirida a partir do 0183 NEMA &lt;span style="font-weight: bold;"&gt;cadeia &lt;/span&gt;outputted da maioria dos dispositivos &lt;span style="font-weight: bold;"&gt;GPS&lt;/span&gt;, mas sim, o artigo é destinado para aqueles apenas interessados ​​em obter a posição atual de um &lt;span style="font-weight: bold;"&gt;GPS &lt;/span&gt;e usar esse ponto para fazer algo interessante como mostram onde você está em um &lt;span style="font-weight: bold;"&gt;mapa&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.codeproject.com/KB/vb/GpsMapping_VB.aspx"&gt;Leia Mais&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4684750288742513326-559479459292249427?l=programscomputer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://programscomputer.blogspot.com/feeds/559479459292249427/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4684750288742513326&amp;postID=559479459292249427' title='1 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/559479459292249427'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/559479459292249427'/><link rel='alternate' type='text/html' href='http://programscomputer.blogspot.com/2012/01/mapeamento-com-gps-e-vbnet.html' title='Mapeamento com GPS e VB.NET'/><author><name>Blogado</name><uri>http://www.blogger.com/profile/00508039577491745861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-XB_bbuUZsyU/TwJRtBycrKI/AAAAAAAAEus/5z4slOr00Ds/s72-c/20120102%2BVB.net.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4684750288742513326.post-4463491010359399224</id><published>2011-12-25T15:39:00.000-08:00</published><updated>2011-12-25T15:50:47.231-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='F5'/><category scheme='http://www.blogger.com/atom/ns#' term='Teclado'/><category scheme='http://www.blogger.com/atom/ns#' term='F1'/><category scheme='http://www.blogger.com/atom/ns#' term='Key Preview'/><category scheme='http://www.blogger.com/atom/ns#' term='Capturar'/><category scheme='http://www.blogger.com/atom/ns#' term='F2'/><category scheme='http://www.blogger.com/atom/ns#' term='Teclas'/><category scheme='http://www.blogger.com/atom/ns#' term='Função'/><title type='text'>Como interceptar as teclas de função em Delphi</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/-n_pbO2Y91fg/Tve2cg-HOLI/AAAAAAAAEsQ/gJAHYTv1YDo/s1600/20110524%2BDicas%2BDelphi.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 200px; height: 200px;" src="http://3.bp.blogspot.com/-n_pbO2Y91fg/Tve2cg-HOLI/AAAAAAAAEsQ/gJAHYTv1YDo/s200/20110524%2BDicas%2BDelphi.jpg" alt="" id="BLOGGER_PHOTO_ID_5690217255208958130" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Primeiro, coloque a propriedade &lt;span style="font-weight: bold;"&gt;KeyPreview &lt;/span&gt;do formulário como TRUE.&lt;br /&gt;Depois, insira este código no evento &lt;span style="font-weight: bold;"&gt;OnKeyDown &lt;/span&gt;do formulário:&lt;br /&gt;&lt;br /&gt;procedure TForm1.&lt;span style="font-weight: bold;"&gt;FormKeyDown&lt;/span&gt;(Sender: TObject; var Key: Word; Shift: TShiftState);&lt;br /&gt;begin&lt;br /&gt;if Key =&lt;span style="font-weight: bold;"&gt; VK_F5 then&lt;/span&gt;&lt;br /&gt;showMessage('Foi pressionada a &lt;span style="font-weight: bold;"&gt;tecla &lt;/span&gt;F5');&lt;br /&gt;end;&lt;br /&gt;&lt;br /&gt;Você também pode usar as variáveis VK_F1 até VK_F12 referentes as &lt;span style="font-weight: bold;"&gt;outras&lt;/span&gt;&lt;br /&gt;teclas de &lt;span style="font-weight: bold;"&gt;função&lt;/span&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4684750288742513326-4463491010359399224?l=programscomputer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://programscomputer.blogspot.com/feeds/4463491010359399224/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4684750288742513326&amp;postID=4463491010359399224' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/4463491010359399224'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/4463491010359399224'/><link rel='alternate' type='text/html' href='http://programscomputer.blogspot.com/2011/12/como-interceptar-as-teclas-de-funcao-em.html' title='Como interceptar as teclas de função em Delphi'/><author><name>Blogado</name><uri>http://www.blogger.com/profile/00508039577491745861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-n_pbO2Y91fg/Tve2cg-HOLI/AAAAAAAAEsQ/gJAHYTv1YDo/s72-c/20110524%2BDicas%2BDelphi.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4684750288742513326.post-7573097750507060542</id><published>2011-11-29T03:58:00.000-08:00</published><updated>2011-11-29T04:04:25.822-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='split'/><category scheme='http://www.blogger.com/atom/ns#' term='manipulacao de string'/><category scheme='http://www.blogger.com/atom/ns#' term='separar string'/><category scheme='http://www.blogger.com/atom/ns#' term='String'/><title type='text'>Separar Strings em JavaScript</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/-215wh2oxW5c/TtTKEZRUWBI/AAAAAAAABFU/gqto00unKuA/s1600/jsImagem.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 200px; height: 161px;" src="http://4.bp.blogspot.com/-215wh2oxW5c/TtTKEZRUWBI/AAAAAAAABFU/gqto00unKuA/s200/jsImagem.jpg" title="Java Script" alt="Java Script" id="BLOGGER_PHOTO_ID_5680387206872848402" border="0" /&gt;&lt;/a&gt;&lt;/div&gt;A &lt;span style="font-weight: bold;"&gt;função split()&lt;/span&gt; pode ser utilizada em &lt;span style="font-weight: bold;"&gt;javascript &lt;/span&gt;para  separar &lt;span style="font-weight: bold;"&gt;strings  &lt;/span&gt;por  meio de um &lt;span style="font-weight: bold;"&gt;delimitador&lt;/span&gt;.&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;A &lt;span style="font-weight: bold;"&gt;sintaxe &lt;/span&gt;é&lt;span style="font-style: italic; font-weight: bold;"&gt; string.split('delimitador');&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Veja neste  exemplo , estamos separando três strings  com o uso do &lt;span style="font-weight: bold;"&gt;pipe &lt;/span&gt;(|) :&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;var parametros="banana|maçã|manga";&lt;br /&gt;var quebra=parametros.split("|");&lt;br /&gt;&lt;br /&gt;alert(quebra[0]); // mostra apenas a string "banana"&lt;br /&gt;alert(quebra[1]); // mostra apenas a palavra "maçã"&lt;br /&gt;alert(quebra[2]); // mostra apenas a palavra "manga"&lt;br /&gt;&lt;br /&gt;Veja o exemplo na &lt;span style="font-weight: bold;"&gt;imagem &lt;/span&gt;a seguir :&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/-KK_lEKlhkJ0/TtTJh5DmvVI/AAAAAAAABFI/H8cBMjL98KM/s1600/split.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 200px; height: 111px;" src="http://4.bp.blogspot.com/-KK_lEKlhkJ0/TtTJh5DmvVI/AAAAAAAABFI/H8cBMjL98KM/s200/split.jpg" alt="split() separando strings em javascript" title="split() separando strings em javascript" id="BLOGGER_PHOTO_ID_5680386614109846866" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4684750288742513326-7573097750507060542?l=programscomputer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://programscomputer.blogspot.com/feeds/7573097750507060542/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4684750288742513326&amp;postID=7573097750507060542' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/7573097750507060542'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/7573097750507060542'/><link rel='alternate' type='text/html' href='http://programscomputer.blogspot.com/2011/11/separar-strings-em-javascript.html' title='Separar Strings em JavaScript'/><author><name>Iria</name><uri>http://www.blogger.com/profile/12564967437383073190</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-215wh2oxW5c/TtTKEZRUWBI/AAAAAAAABFU/gqto00unKuA/s72-c/jsImagem.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4684750288742513326.post-77867289615533918</id><published>2011-11-07T16:17:00.000-08:00</published><updated>2011-11-07T16:58:18.298-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='bits'/><category scheme='http://www.blogger.com/atom/ns#' term='MD5'/><category scheme='http://www.blogger.com/atom/ns#' term='algoritmo'/><category scheme='http://www.blogger.com/atom/ns#' term='Criptografia'/><category scheme='http://www.blogger.com/atom/ns#' term='seguranca'/><title type='text'>MD5</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/-DUCGi6pqM9A/Trh-hna7vzI/AAAAAAAAA9Y/_R6iXMnaLdQ/s1600/md5.jpeg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 102px; height: 102px;" src="http://4.bp.blogspot.com/-DUCGi6pqM9A/Trh-hna7vzI/AAAAAAAAA9Y/_R6iXMnaLdQ/s200/md5.jpeg" title="md5" alt="md5" id="BLOGGER_PHOTO_ID_5672422846655872818" border="0" /&gt;&lt;/a&gt;O Message-Digest algorithm 5  conhecido como &lt;span style="font-weight: bold;"&gt;MD5 &lt;/span&gt;é um &lt;span style="font-weight: bold;"&gt;algoritmo de hash criptográfico&lt;/span&gt; de 128 &lt;span style="font-weight: bold;"&gt;bits &lt;/span&gt;unidirecional utilizado por &lt;span style="font-weight: bold;"&gt;softwares &lt;/span&gt;com protocolo &lt;span style="font-weight: bold;"&gt;ponto-a-ponto&lt;/span&gt; (P2P, ou Peer-to-Peer), na verificação de integridade de &lt;span style="font-weight: bold;"&gt;arquivos &lt;/span&gt;e &lt;span style="font-weight: bold;"&gt;logins&lt;/span&gt;, para  salvar &lt;span style="font-weight: bold;"&gt;senhas &lt;/span&gt;em &lt;span style="font-weight: bold;"&gt;bancos de dados&lt;/span&gt; e também é usado em &lt;span style="font-weight: bold;"&gt;assinaturas digitais&lt;/span&gt; onde um texto precisa ser &lt;span style="font-weight: bold;"&gt;criptografado &lt;/span&gt;de forma segura antes de ser &lt;span style="font-weight: bold;"&gt;cifrado &lt;/span&gt;com uma chave &lt;span style="font-weight: bold;"&gt;privada  &lt;/span&gt;por um sistema de chave &lt;span style="font-weight: bold;"&gt;pública&lt;/span&gt;.&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;O MD5 foi desenvolvido por &lt;span style="font-weight: bold;"&gt;Ronald Rivest&lt;/span&gt; no ano de 1991 e  colocado em dominio &lt;span style="font-weight: bold;"&gt;público &lt;/span&gt;em 1992, para suceder ao MD4 que estava com alguns problemas de &lt;span style="font-weight: bold;"&gt;segurança&lt;/span&gt;. Os  &lt;span style="font-weight: bold;"&gt;cálculos &lt;/span&gt;do MD5 são um pouco mais &lt;span style="font-weight: bold;"&gt;lentos &lt;/span&gt;mas é muito  mais &lt;span style="font-weight: bold;"&gt;seguro &lt;/span&gt;que o MD4.&lt;br /&gt;&lt;br /&gt;A entrada do MD5 é um &lt;span style="font-weight: bold;"&gt;fluxo &lt;/span&gt;de dados isto é a &lt;span style="font-weight: bold;"&gt;mensagem&lt;/span&gt;, esta pode ter um número arbitrário de bits, representado por b, um número inteiro positivo que varia de zero até o infinito. Para obter a mensagem cifrada, seus bits, representados por m0, m1, ..., m{b-1} são submetidos a diversas &lt;span style="font-style: italic;"&gt;operações&lt;/span&gt;. Este processo é dividido em &lt;span style="font-weight: bold;"&gt;cinco &lt;/span&gt;etapas.&lt;br /&gt;&lt;br /&gt;1) &lt;span style="font-style: italic;"&gt;Preparar o Fluxo de dados&lt;/span&gt;: Adiciona-se na mensagem os bits necessários para que seu &lt;span style="font-weight: bold;"&gt;tamanho &lt;/span&gt;mais 64 bits sejam &lt;span style="font-weight: bold;"&gt;divisível &lt;/span&gt;por 512.&lt;br /&gt;&lt;br /&gt;2) &lt;span style="font-style: italic;"&gt;Incluir o Comprimento&lt;/span&gt;:  uma representação &lt;span style="font-weight: bold;"&gt;binária &lt;/span&gt;do tamanho original da mensagem e que ocupa 64 bits, é adicionada à mesma. O conjunto obtido é processado em &lt;span style="font-weight: bold;"&gt;blocos &lt;/span&gt;de 512 bits e cada &lt;span style="font-weight: bold;"&gt;bloco &lt;/span&gt;é processado em quatro &lt;span style="font-weight: bold;"&gt;rodadas &lt;/span&gt;distintas.&lt;br /&gt;&lt;br /&gt;3)&lt;span style="font-style: italic;"&gt;Inicializar o Buffer:&lt;/span&gt; Um &lt;span style="font-weight: bold;"&gt;buffer &lt;/span&gt;de quatro variaveis é usado para &lt;span style="font-weight: bold;"&gt;calcular &lt;/span&gt;a mensagem. Os &lt;span style="font-weight: bold;"&gt;registradores &lt;/span&gt;de 32 bits A, B, C e D são inicializados com os seguintes valores hexadecimais:&lt;br /&gt;&lt;br /&gt;var A: 01 23 45 67&lt;br /&gt;var B: 89 ab cd ef&lt;br /&gt;var C: fe dc ba 98&lt;br /&gt;var D: 76 54 32 10&lt;br /&gt;&lt;br /&gt;4) &lt;span style="font-style: italic;"&gt;Processamento da mensagem&lt;/span&gt;: Primeiramente são definidas quatro &lt;span style="font-weight: bold;"&gt;funções auxiliares&lt;/span&gt;. Cada uma usa três variaveis de 32 bits para produzir uma &lt;span style="font-weight: bold;"&gt;saída &lt;/span&gt;de uma variavel de  32 bits.&lt;br /&gt;&lt;br /&gt;F(X,Y,Z) = (X and Y) or (not(X) and Z)&lt;br /&gt;G(X,Y,Z) = (X and Z) or (Y and not(Z))&lt;br /&gt;H(X,Y,Z) = X xor Y xor Z&lt;br /&gt;I(X,Y,Z) = Y xor (X or not(Z))&lt;br /&gt;&lt;br /&gt;A função F atua como &lt;span style="font-weight: bold;"&gt;condicional &lt;/span&gt;sobre cada um dos bits: se X então Y senão Z. Os bits de X, Y e Z são &lt;span style="font-weight: bold;"&gt;independentes &lt;/span&gt;e não induzidos então cada bit de F(X,Y,Z) também será independente e não induzido.&lt;br /&gt;&lt;br /&gt;As funções G, H e I são semelhantes à função F produzindo saídas de bits independentes e não induzidos se os mesmos tiverem estas &lt;span style="font-weight: bold;"&gt;características&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;A função H é apenas um "&lt;span style="font-weight: bold;"&gt;XOR&lt;/span&gt;" ou função de "paridade" das suas entradas.&lt;br /&gt;&lt;br /&gt;As etapas deste passo usam uma &lt;span style="font-weight: bold;"&gt;tabela &lt;/span&gt;de 64 &lt;span style="font-weight: bold;"&gt;elementos&lt;/span&gt;, T[1] a T[64], construída à partir da função &lt;span style="font-weight: bold;"&gt;seno&lt;/span&gt;. T[i] for o nésimo elemento da tabela e é igual à parte inteira de abs(seno(i)) &lt;span style="font-weight: bold;"&gt;multiplicada &lt;/span&gt;por 4294967296, onde i é expresso em radianos. Antes de iniciar o processamento, deve-se &lt;span style="font-weight: bold;"&gt;armazenar &lt;/span&gt;os valores de A, B, C e D. Neste texto, as variáveis de trabalho serão expressas em letras &lt;span style="font-weight: bold;"&gt;minúsculas&lt;/span&gt;, portanto armazenamos a = A, b = B, c = C e d = D. Divide-se cada bloco de 512 bits em 16 &lt;span style="font-weight: bold;"&gt;sub-blocos&lt;/span&gt; de 32 bits, identificados por X[0] a X[15]. Genericamente, os sub-blocos são &lt;span style="font-weight: bold;"&gt;designados &lt;/span&gt;por X[k]. A seguir, aplica-se as funções F, G, H e I em quatro rodadas:&lt;br /&gt;&lt;br /&gt;/* &lt;span style="font-style: italic;"&gt;Rodada 1&lt;/span&gt; : Seja [abcd k s i] a operação a = b + ((a + F(b,c,d) + X[k] + T[i]) &amp;lt;&amp;lt;&amp;lt; s)  Faça as &lt;span style="font-weight: bold;"&gt;seguintes &lt;/span&gt;16 operações. */&lt;br /&gt;&lt;br /&gt;[ABCD  0  7  1]  [DABC  1 12  2]  [CDAB  2 17  3]  [BCDA  3 22  4]&lt;br /&gt;[ABCD  4  7  5]  [DABC  5 12  6]  [CDAB  6 17  7]  [BCDA  7 22  8]&lt;br /&gt;[ABCD  8  7  9]  [DABC  9 12 10]  [CDAB 10 17 11]  [BCDA 11 22 12]&lt;br /&gt;[ABCD 12  7 13]  [DABC 13 12 14]  [CDAB 14 17 15]  [BCDA 15 22 16]&lt;br /&gt;&lt;br /&gt;/* &lt;span style="font-style: italic;"&gt;Rodada 2&lt;/span&gt;: Seja [abcd k s i] a operação a = b + ((a + G(b,c,d) + X[k] + T[i]) &amp;lt;&amp;lt;&amp;lt; s)   Faça as seguintes 16 operações.*/&lt;br /&gt;&lt;br /&gt;[ABCD  1  5 17]  [DABC  6  9 18]  [CDAB 11 14 19]  [BCDA  0 20 20]&lt;br /&gt;[ABCD  5  5 21]  [DABC 10  9 22]  [CDAB 15 14 23]  [BCDA  4 20 24]&lt;br /&gt;[ABCD  9  5 25]  [DABC 14  9 26]  [CDAB  3 14 27]  [BCDA  8 20 28]&lt;br /&gt;[ABCD 13  5 29]  [DABC  2  9 30]  [CDAB  7 14 31]  [BCDA 12 20 32]&lt;br /&gt;&lt;br /&gt;/* &lt;span style="font-style: italic;"&gt;Rodada 3&lt;/span&gt;: Seja [abcd k s i] a operação a = b + ((a + H(b,c,d) + X[k] + T[i]) &amp;lt;&amp;lt;&amp;lt; s) Faça as seguintes 16 operações*/&lt;br /&gt;&lt;br /&gt;[ABCD  5  4 33]  [DABC  8 11 34]  [CDAB 11 16 35]  [BCDA 14 23 36]&lt;br /&gt;[ABCD  1  4 37]  [DABC  4 11 38]  [CDAB  7 16 39]  [BCDA 10 23 40]&lt;br /&gt;[ABCD 13  4 41]  [DABC  0 11 42]  [CDAB  3 16 43]  [BCDA  6 23 44]&lt;br /&gt;[ABCD  9  4 45]  [DABC 12 11 46]  [CDAB 15 16 47]  [BCDA  2 23 48]&lt;br /&gt;&lt;br /&gt;/* &lt;span style="font-style: italic;"&gt;Rodada 4&lt;/span&gt;: Seja [abcd k s i] a operação a = b + ((a + I(b,c,d) + X[k] + T[i]) &amp;lt;&amp;lt;&amp;lt; s)  Faça as seguintes 16 operações*/&lt;br /&gt;&lt;br /&gt;[ABCD  0  6 49]  [DABC  7 10 50]  [CDAB 14 15 51]  [BCDA  5 21 52]&lt;br /&gt;[ABCD 12  6 53]  [DABC  3 10 54]  [CDAB 10 15 55]  [BCDA  1 21 56]&lt;br /&gt;[ABCD  8  6 57]  [DABC 15 10 58]  [CDAB  6 15 59]  [BCDA 13 21 60]&lt;br /&gt;[ABCD  4  6 61]  [DABC 11 10 62]  [CDAB  2 15 63]  [BCDA  9 21 64]&lt;br /&gt;&lt;br /&gt;/* Por  fim, faça as &lt;span style="font-weight: bold;"&gt;adições &lt;/span&gt;dos resultados obtidos para a, b, c, d  com os valores iniciais de A, B, C e D*/&lt;br /&gt;&lt;br /&gt;A = a + A&lt;br /&gt;B = b + B&lt;br /&gt;C = c + C&lt;br /&gt;D = d + D&lt;br /&gt;&lt;br /&gt;5) &lt;span style="font-style: italic;"&gt;Saída&lt;/span&gt;: a saída é a &lt;span style="font-weight: bold;"&gt;concatenação &lt;/span&gt;de A, B, C e D. Começa-se com o byte &lt;span style="font-weight: bold;"&gt;menos &lt;/span&gt;significativo de A e termina-se com o byte &lt;span style="font-weight: bold;"&gt;mais &lt;/span&gt;significativo de D.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Rodada 1  &lt;/span&gt;                        &lt;br /&gt;--------------------------------  &lt;br /&gt;F(a,b,c,d, X[ 0], 7, 0xd76aa478)  &lt;br /&gt;F(d,a,b,c, X[ 1],12, 0xe8c7b756)  &lt;br /&gt;F(c,d,a,b, X[ 2],17, 0x242070db)  &lt;br /&gt;F(b,c,d,a, X[ 3],22, 0xc1bdceee)  &lt;br /&gt;F(a,b,c,d, X[ 4], 7, 0xf57cc0af)  &lt;br /&gt;F(d,a,b,c, X[ 5],12, 0x4787c62a)  &lt;br /&gt;F(c,d,a,b, X[ 6],17, 0xa8304613)  &lt;br /&gt;F(b,c,d,a, X[ 7],22, 0xfd469501)  &lt;br /&gt;F(a,b,c,d, X[ 8], 7, 0x698098d8)  &lt;br /&gt;F(d,a,b,c, X[ 9],12, 0x8b44f7af)  &lt;br /&gt;F(c,d,a,b, X[10],17, 0xffff5bb1)  &lt;br /&gt;F(b,c,d,a, X[11],22, 0x895cd7be)  &lt;br /&gt;F(a,b,c,d, X[12], 7, 0x6b901122)  &lt;br /&gt;F(d,a,b,c, X[13],12, 0xfd987193)  &lt;br /&gt;F(c,d,a,b, X[14],17, 0xa679438e)  &lt;br /&gt;F(b,c,d,a, X[15],22, 0x49b40821)  &lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Rodada 2&lt;/span&gt;&lt;br /&gt;--------------------------------- &lt;br /&gt;G(a,b,c,d, X[ 1], 5, 0xf61e2562)&lt;br /&gt;G(d,a,b,c, X[ 6], 9, 0xc040b340)&lt;br /&gt;G(c,d,a,b, X[11],14, 0x265e5a51)&lt;br /&gt;G(b,c,d,a, X[ 0],20, 0xe9b6c7aa)&lt;br /&gt;G(a,b,c,d, X[ 5], 5, 0xd62f105d)&lt;br /&gt;G(d,a,b,c, X[10], 9, 0x02441453)&lt;br /&gt;G(c,d,a,b, X[15],14, 0xd8a1e681)&lt;br /&gt;G(b,c,d,a, X[ 4],20, 0xe7d3fbc8)&lt;br /&gt;G(a,b,c,d, X[ 9], 5, 0x21e1cde6)&lt;br /&gt;G(d,a,b,c, X[14], 9, 0xc33707d6)&lt;br /&gt;G(c,d,a,b, X[ 3],14, 0xf4d50d87)&lt;br /&gt;G(b,c,d,a, X[ 8],20, 0x455a14ed)&lt;br /&gt;G(a,b,c,d, X[13], 5, 0xa9e3e905)&lt;br /&gt;G(d,a,b,c, X[ 2], 9, 0xfcefa3f8)&lt;br /&gt;G(c,d,a,b, X[ 7],14, 0x676f02d9)&lt;br /&gt;G(b,c,d,a, X[12],20, 0x8d2a4c8a)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Rodada 3&lt;/span&gt;                         &lt;br /&gt;--------------------------------&lt;br /&gt;H(a,b,c,d, X[ 5], 4, 0xfffa3942)&lt;br /&gt;H(d,a,b,c, X[ 8],11, 0x8771f681)&lt;br /&gt;H(c,d,a,b, X[11],16, 0x6d9d6122)&lt;br /&gt;H(b,c,d,a, X[14],23, 0xfde5380c)&lt;br /&gt;H(a,b,c,d, X[ 1], 4, 0xa4beea44)&lt;br /&gt;H(d,a,b,c, X[ 4],11, 0x4bdecfa9)&lt;br /&gt;H(c,d,a,b, X[ 7],16, 0xf6bb4b60)&lt;br /&gt;H(b,c,d,a, X[10],23, 0xbebfbc70)&lt;br /&gt;H(a,b,c,d, X[13], 4, 0x289b7ec6)&lt;br /&gt;H(d,a,b,c, X[ 0],11, 0xeaa127fa)&lt;br /&gt;H(c,d,a,b, X[ 3],16, 0xd4ef3085)&lt;br /&gt;H(b,c,d,a, X[ 6],23, 0x04881d05)&lt;br /&gt;H(a,b,c,d, X[ 9], 4, 0xd9d4d039)&lt;br /&gt;H(d,a,b,c, X[12],11, 0xe6db99e5)&lt;br /&gt;H(c,d,a,b, X[15],16, 0x1fa27cf8)&lt;br /&gt;H(b,c,d,a, X[ 2],23, 0xc4ac5665)&lt;br /&gt;&lt;br /&gt;Rodada 4&lt;br /&gt;-------------------------------&lt;br /&gt;I(a,b,c,d, X[ 0], 6, 0xf4292244)&lt;br /&gt;I(d,a,b,c, X[ 7],10, 0x411aff97)&lt;br /&gt;I(c,d,a,b, X[14],15, 0xab9423a7)&lt;br /&gt;I(b,c,d,a, X[ 5],21, 0xfc93a039)&lt;br /&gt;I(a,b,c,d, X[12], 6, 0x655b59c3)&lt;br /&gt;I(d,a,b,c, X[ 3],10, 0x8f0ccc92)&lt;br /&gt;I(c,d,a,b, X[10],15, 0xffeff47d)&lt;br /&gt;I(b,c,d,a, X[ 1],21, 0x85848dd1)&lt;br /&gt;I(a,b,c,d, X[ 8], 6, 0x6fa87e4f)&lt;br /&gt;I(d,a,b,c, X[15],10, 0xfe2ce6e0)&lt;br /&gt;I(c,d,a,b, X[ 6],15, 0xa3014314)&lt;br /&gt;I(b,c,d,a, X[13],21, 0x4e0811a1)&lt;br /&gt;I(a,b,c,d, X[ 4], 6, 0xf7537e82)&lt;br /&gt;I(d,a,b,c, X[11],10, 0xbd3af235)&lt;br /&gt;I(c,d,a,b, X[ 2],15, 0x2ad7d2bb)&lt;br /&gt;I(b,c,d,a, X[ 9],21, 0xeb86d391)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Exemplos &lt;/span&gt;de utilização do MD5: Não existem hash parecidos, apenas &lt;span style="font-weight: bold;"&gt;idênticos &lt;/span&gt;:&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;•&lt;span style="font-style: italic;"&gt;MD5 ("")&lt;/span&gt; = d41d8cd98f00b204e9800998ecf8427e&lt;br /&gt;&lt;br /&gt;•&lt;span style="font-style: italic;"&gt;MD5 ("a") &lt;/span&gt;= 0cc175b9c0f1b6a831c399e269772661&lt;br /&gt;&lt;br /&gt;•&lt;span style="font-style: italic;"&gt;MD5 ("abc") &lt;/span&gt;= 900150983cd24fb0d6963f7d28e17f72&lt;br /&gt;&lt;br /&gt;•&lt;span style="font-style: italic;"&gt;MD5 ("message digest")&lt;/span&gt;= f96b697d7cb7938d525a2f31aaf161d0&lt;br /&gt;&lt;br /&gt;•&lt;span style="font-style: italic;"&gt;MD5 ("abcdefghijklmnopqrstuvwxyz")&lt;/span&gt; = c3fcd3d76192e4007dfb496cca67e13b&lt;br /&gt;&lt;br /&gt;•&lt;span style="font-style: italic;"&gt;MD5 ("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789")&lt;/span&gt; = d174ab98d277d9f5a5611c2c9f419d9f&lt;br /&gt;&lt;br /&gt;•&lt;span style="font-style: italic;"&gt;MD5("12345678901234567890123456789012345678901234567890123456789012345678901234567890") &lt;/span&gt;= 57edf4a22be3c955ac49da2e2107b67a&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4684750288742513326-77867289615533918?l=programscomputer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://programscomputer.blogspot.com/feeds/77867289615533918/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4684750288742513326&amp;postID=77867289615533918' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/77867289615533918'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/77867289615533918'/><link rel='alternate' type='text/html' href='http://programscomputer.blogspot.com/2011/11/md5.html' title='MD5'/><author><name>Iria</name><uri>http://www.blogger.com/profile/12564967437383073190</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-DUCGi6pqM9A/Trh-hna7vzI/AAAAAAAAA9Y/_R6iXMnaLdQ/s72-c/md5.jpeg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4684750288742513326.post-504630869097186522</id><published>2011-10-18T16:48:00.000-07:00</published><updated>2011-10-18T17:40:44.176-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='ADODB'/><category scheme='http://www.blogger.com/atom/ns#' term='Banco de Dados'/><category scheme='http://www.blogger.com/atom/ns#' term='biblioteca'/><title type='text'>Biblioteca ADODB</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/-AVNppxRS_jk/Tp4cW-x8TrI/AAAAAAAAA5I/6GQVVDKlSkg/s1600/adodb.jpeg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 158px; height: 149px;" src="http://4.bp.blogspot.com/-AVNppxRS_jk/Tp4cW-x8TrI/AAAAAAAAA5I/6GQVVDKlSkg/s200/adodb.jpeg" title="adodb" alt="adodb" id="BLOGGER_PHOTO_ID_5664996562413833906" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;A &lt;span style="font-weight: bold;"&gt;ADODB &lt;/span&gt;é uma &lt;span style="font-weight: bold;"&gt;biblioteca &lt;/span&gt;utilizada para  simplificar as  tarefas do &lt;span style="font-weight: bold;"&gt;PHP &lt;/span&gt;relacionadas ao &lt;span style="font-weight: bold;"&gt;banco de dados&lt;/span&gt;. Os bancos de dados &lt;span style="font-weight: bold;"&gt;suportados &lt;/span&gt;pela  biblioteca são: Access, ADO, DB2, FrontBase, Informix, InterBase, Firebird, Microsoft SQL Server, MySQL, Oracle, ODBC, PostgreSQL, SAPDB, SQLAnywhere, SQLite, Sybase e Visual FoxPro.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Para  utilizar primeiramente é  necessário realizar  o &lt;span style="font-weight: bold;"&gt;download &lt;/span&gt;da biblioteca no &lt;span style="font-weight: bold;"&gt;endereço &lt;/span&gt;: http://adodb.sourceforge.net/#download  e incluir a biblioteca na estrutura do projeto:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;A seguir &lt;span style="font-weight: bold;"&gt;classe de conexão&lt;/span&gt; utilizando &lt;/span&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;ADODB &lt;/span&gt;&lt;span style="font-style: italic;"&gt;&lt;span style="font-style: italic;"&gt;conectando com &lt;span style="font-weight: bold;"&gt;firebird&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-style: italic;"&gt;:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;//disponibilizando adodb&lt;br /&gt;include("adodb/adodb.inc.php");&lt;br /&gt;&lt;br /&gt;//definindo a classe de conexão&lt;br /&gt;class conexao&lt;br /&gt;{&lt;br /&gt;//definir atributos de  configuração conexao&lt;br /&gt;&lt;br /&gt;var $qual_banco = "firebird"; //nome do banco&lt;br /&gt;var $nome_banco = "C:/Arquivos de programas/teste.fdb"; //caminho do banco de dados&lt;br /&gt;var $usuario_banco = "teste";&lt;br /&gt;var $senha_banco = "teste";&lt;br /&gt;&lt;br /&gt;//definir um atributo para a instancia do banco de dados&lt;br /&gt;var $bd;&lt;br /&gt;&lt;br /&gt;//definir o método contrutor da conexao , o método é executado quando  a classe é chamada&lt;br /&gt;function conexao()&lt;br /&gt;{&lt;br /&gt;    $this-&amp;gt;bd = NewADOConnection($this-&amp;gt;qual_banco);&lt;br /&gt;    $this-&amp;gt;bd -&amp;gt;dialect = 3; //dialeto 3 do SQL&lt;br /&gt;    $this-&amp;gt;bd -&amp;gt;debug = false; // aparecer o sql&lt;br /&gt;    $this-&amp;gt;bd -&amp;gt;Connect ( $this-&amp;gt;nome_banco,&lt;br /&gt;                         $this-&amp;gt;usuario_banco,&lt;br /&gt;                         $this-&amp;gt;senha_banco);&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;//criar uma instancia do objeto conexao&lt;br /&gt;$con = new conexao();&lt;br /&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/-zB-PhPFqdMA/Tp4ZRztOsxI/AAAAAAAAA4w/RNMjUAA45pU/s1600/conexao.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 200px; height: 157px;" src="http://2.bp.blogspot.com/-zB-PhPFqdMA/Tp4ZRztOsxI/AAAAAAAAA4w/RNMjUAA45pU/s200/conexao.jpg" title="classe de conexão" alt="classe de conexão" id="BLOGGER_PHOTO_ID_5664993175007048466" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Exemplo utilizando a classe de &lt;span style="font-weight: bold;"&gt;conexão&lt;/span&gt;:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;include("../conexao.inc.php");&lt;br /&gt;&lt;br /&gt;class aulas &lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;    //- INSTÂNCIA DA CLASSE CONEXÃO&lt;br /&gt;    var $con;&lt;br /&gt;&lt;br /&gt;    //- RESULTSET DE DADOS&lt;br /&gt;    var $rs;&lt;br /&gt;           &lt;br /&gt;    //- MENSAGENS DE ERRO NO ACESSO AOS DADOS&lt;br /&gt;    var $mensagem;&lt;br /&gt;               &lt;br /&gt;    //- CONSTRUTOR PARA INSTANCIAR AUTOMATICAMENTE UMA CONEXÃO&lt;br /&gt;    function aulas(){&lt;br /&gt;&lt;br /&gt;        $this-&amp;gt;con = new conexao();&lt;br /&gt;   &lt;br /&gt;    }&lt;br /&gt;       &lt;br /&gt;    function excluir ()    {&lt;br /&gt;    $sql = "delete from AULAS where A_CODIGO = $_REQUEST[id]";&lt;br /&gt;           &lt;br /&gt;        if ($this-&amp;gt;con-&amp;gt;bd-&amp;gt;Execute($sql))&lt;br /&gt;             $this-&amp;gt;mensagem = "Dados excluídos com sucesso !";&lt;br /&gt;        else&lt;br /&gt;            $this-&amp;gt;mensagem = "Erro ao excluir. Estes dados  estão sendo utilizados !";&lt;br /&gt;    }&lt;br /&gt;   &lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/-S2ycQB4GzWQ/Tp4bBULTbxI/AAAAAAAAA48/3SWhnWsRiA8/s1600/aulas.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 200px; height: 160px;" src="http://1.bp.blogspot.com/-S2ycQB4GzWQ/Tp4bBULTbxI/AAAAAAAAA48/3SWhnWsRiA8/s200/aulas.jpg" alt="utilizando a classe de conexão" title="utilizando a classe de conexão" id="BLOGGER_PHOTO_ID_5664995090688601874" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4684750288742513326-504630869097186522?l=programscomputer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://programscomputer.blogspot.com/feeds/504630869097186522/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4684750288742513326&amp;postID=504630869097186522' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/504630869097186522'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/504630869097186522'/><link rel='alternate' type='text/html' href='http://programscomputer.blogspot.com/2011/10/biblioteca-adodb.html' title='Biblioteca ADODB'/><author><name>Iria</name><uri>http://www.blogger.com/profile/12564967437383073190</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-AVNppxRS_jk/Tp4cW-x8TrI/AAAAAAAAA5I/6GQVVDKlSkg/s72-c/adodb.jpeg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4684750288742513326.post-5927662434545772774</id><published>2011-10-05T16:44:00.000-07:00</published><updated>2011-10-05T17:41:03.157-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JavaScript'/><category scheme='http://www.blogger.com/atom/ns#' term='Classe Math'/><category scheme='http://www.blogger.com/atom/ns#' term='métodos'/><category scheme='http://www.blogger.com/atom/ns#' term='operações matemáticas'/><category scheme='http://www.blogger.com/atom/ns#' term='propriedades'/><title type='text'>Classe Math em Javascript</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/-Q43p_xvECPs/Toz49C8TsQI/AAAAAAAAA1U/n4BhVHq1iDA/s1600/js.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 200px; height: 64px;" src="http://2.bp.blogspot.com/-Q43p_xvECPs/Toz49C8TsQI/AAAAAAAAA1U/n4BhVHq1iDA/s200/js.JPG" title="javascript" alt="javascript" id="BLOGGER_PHOTO_ID_5660172559343399170" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Com a classe &lt;span style="font-weight: bold;"&gt;Math &lt;/span&gt;é  possível realizar &lt;span style="font-weight: bold;"&gt;operações matemáticas&lt;/span&gt; em &lt;span style="font-weight: bold;"&gt;Javascript&lt;/span&gt;. Não  é necessário &lt;span style="font-weight: bold;"&gt;instanciar &lt;/span&gt;a classe  para  utilizar,  pois os &lt;span style="font-weight: bold;"&gt;atributos &lt;/span&gt;e &lt;span style="font-weight: bold;"&gt;métodos &lt;/span&gt;são &lt;span style="font-weight: bold;"&gt;variáveis de classe&lt;/span&gt;, portanto basta utilizar  o nome da classe  para &lt;span style="font-weight: bold;"&gt;acessa&lt;/span&gt;-los.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic; color: rgb(255, 102, 0);"&gt;Propriedades&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;E:&lt;/span&gt; retorna o valor de &lt;span style="font-weight: bold;"&gt;Euler&lt;/span&gt;, a base dos l&lt;span style="font-weight: bold;"&gt;ogaritmos neperianos&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;PI:&lt;/span&gt; retorna o valor de &lt;span style="font-weight: bold;"&gt;PI &lt;/span&gt;conhecido como número para cálculos com círculos.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;SQRT2:&lt;/span&gt; retorna o valor da &lt;span style="font-weight: bold;"&gt;raiz quadrada&lt;/span&gt; de &lt;span style="font-weight: bold;"&gt;2&lt;/span&gt;;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;SQRT1_2:&lt;/span&gt; retorna o valor da raiz quadrada de &lt;span style="font-weight: bold;"&gt;0.5&lt;/span&gt;  ou 1/2 ;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;LN2:&lt;/span&gt; retorna o valor do Logaritmo neperiano de &lt;span style="font-weight: bold;"&gt;2&lt;/span&gt; (ln 2);&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;LN10:&lt;/span&gt; retorna o valor do Logaritmo neperiano de&lt;span style="font-weight: bold;"&gt; 10&lt;/span&gt; (ln 10);&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;LOG2E: &lt;/span&gt;retorna o valor do Logaritmo de E (Math.E) na &lt;span style="font-weight: bold;"&gt;base &lt;/span&gt;2;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;LOG10E:&lt;/span&gt; retorna o &lt;span style="font-weight: bold;"&gt;valor &lt;/span&gt;do Logaritmo de E na base 10.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;Exemplos&lt;/span&gt;:&lt;br /&gt;&lt;br /&gt;Math.E; // retorna 2.71828....&lt;br /&gt;Math.SQRT2 // retorna 1.41....&lt;br /&gt;(2 * Math.PI);&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic; color: rgb(255, 102, 0);"&gt;Métodos&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;abs():&lt;/span&gt; retorna o valor &lt;span style="font-weight: bold;"&gt;absoluto &lt;/span&gt;de um número.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;acos():&lt;/span&gt; retorna o &lt;span style="font-weight: bold;"&gt;arco co-seno&lt;/span&gt; de um número em radianos.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;atan():&lt;/span&gt; retorna o arco &lt;span style="font-weight: bold;"&gt;tangente &lt;/span&gt;de um número.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;ceil():&lt;/span&gt; retorna o o &lt;span style="font-weight: bold;"&gt;inteiro &lt;/span&gt;igual ou imediatamente &lt;span style="font-weight: bold;"&gt;seguinte &lt;/span&gt;de um &lt;span style="font-weight: bold;"&gt;número&lt;/span&gt;. Por exemplo, ceil(3) vale 3, ceil(3.4) é 4.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;cos():&lt;/span&gt; retorna o&lt;span style="font-weight: bold;"&gt; co-seno&lt;/span&gt; de um número.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;exp():&lt;/span&gt; retorna o resultado de &lt;span style="font-weight: bold;"&gt;elevar &lt;/span&gt;o número E por um número.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;floor():&lt;/span&gt; ao &lt;span style="font-weight: bold;"&gt;contrário &lt;/span&gt;do método ceil(), retorna  um número igual ou imediatamente &lt;span style="font-weight: bold;"&gt;inferior&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;log():&lt;/span&gt; retorna o logaritmo &lt;span style="font-weight: bold;"&gt;neperiano &lt;/span&gt;de um número.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;max():&lt;/span&gt; retorna o &lt;span style="font-weight: bold;"&gt;maior &lt;/span&gt;entre 2 números.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;min():&lt;/span&gt; retorna o &lt;span style="font-weight: bold;"&gt;menor &lt;/span&gt;entre 2 números.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;pow():&lt;/span&gt; recebe dois números como &lt;span style="font-weight: bold;"&gt;parâmetros &lt;/span&gt;e retorna o &lt;span style="font-weight: bold;"&gt;primeiro &lt;/span&gt;número &lt;span style="font-weight: bold;"&gt;elevado &lt;/span&gt;ao &lt;span style="font-weight: bold;"&gt;segundo &lt;/span&gt;número.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;random():&lt;/span&gt; retorna um número &lt;span style="font-weight: bold;"&gt;aleatório &lt;/span&gt;entre 0 e 1&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;round():&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;Arredonda &lt;/span&gt;ao inteiro mais próximo e retorna.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;sin():&lt;/span&gt; retorna o &lt;span style="font-weight: bold;"&gt;seno &lt;/span&gt;de um número com um &lt;span style="font-weight: bold;"&gt;ângulo &lt;/span&gt;em radianos.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;sqrt():&lt;/span&gt; retorna a &lt;span style="font-weight: bold;"&gt;raiz quadrada&lt;/span&gt; de um número.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;tan():&lt;/span&gt; retotna a &lt;span style="font-weight: bold;"&gt;tangente &lt;/span&gt;de um número em radianos.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;Exemplos&lt;/span&gt;:&lt;br /&gt;&lt;br /&gt;Math.round(4.5); // retorna 5.&lt;br /&gt;Math.round(3.49); // retorna 3.&lt;br /&gt;Math.random(); // retorna 0.56766776…&lt;br /&gt;Math.max(4,7); // retorna 7.&lt;br /&gt;Math.min(4,7); // retorna 4.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4684750288742513326-5927662434545772774?l=programscomputer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://programscomputer.blogspot.com/feeds/5927662434545772774/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4684750288742513326&amp;postID=5927662434545772774' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/5927662434545772774'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/5927662434545772774'/><link rel='alternate' type='text/html' href='http://programscomputer.blogspot.com/2011/10/classe-math-em-javascript.html' title='Classe Math em Javascript'/><author><name>Iria</name><uri>http://www.blogger.com/profile/12564967437383073190</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-Q43p_xvECPs/Toz49C8TsQI/AAAAAAAAA1U/n4BhVHq1iDA/s72-c/js.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4684750288742513326.post-1683349186467873871</id><published>2011-09-28T06:30:00.000-07:00</published><updated>2011-09-28T06:49:00.214-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JavaScript'/><category scheme='http://www.blogger.com/atom/ns#' term='Páginas'/><category scheme='http://www.blogger.com/atom/ns#' term='HTML'/><category scheme='http://www.blogger.com/atom/ns#' term='links'/><category scheme='http://www.blogger.com/atom/ns#' term='janelas secundárias'/><title type='text'>Janela Secundária</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/-5rfRetOOEs4/ToMlo12_YzI/AAAAAAAAAzk/kVFCkQS4FKA/s1600/jsHtml.jpeg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 200px; height: 85px;" src="http://4.bp.blogspot.com/-5rfRetOOEs4/ToMlo12_YzI/AAAAAAAAAzk/kVFCkQS4FKA/s200/jsHtml.jpeg" o="javascript e html" alt="javascript e html" id="BLOGGER_PHOTO_ID_5657406940490195762" border="0" /&gt;&lt;/a&gt;A &lt;span style="font-weight: bold;"&gt;abertura &lt;/span&gt;de &lt;span style="font-weight: bold;"&gt;janelas secundárias&lt;/span&gt; nas &lt;span style="font-weight: bold;"&gt;páginas&lt;/span&gt;, isso contribui para:&lt;br /&gt;&lt;ul style="text-align: justify;"&gt;&lt;li&gt;Mostrar uma &lt;span style="font-weight: bold;"&gt;informação &lt;/span&gt;específica;&lt;/li&gt;&lt;li&gt;O &lt;span style="font-weight: bold;"&gt;usuário &lt;/span&gt;não precisa sair da &lt;span style="font-weight: bold;"&gt;página &lt;/span&gt;onde estava o &lt;span style="font-weight: bold;"&gt;link&lt;/span&gt;;&lt;/li&gt;&lt;li&gt;A &lt;span style="font-weight: bold;"&gt;janela secundária &lt;/span&gt;pode ser &lt;span style="font-weight: bold;"&gt;configurada &lt;/span&gt;livremente, por exemplo, os &lt;span style="font-weight: bold;"&gt;tamanhos &lt;/span&gt;e &lt;span style="font-weight: bold;"&gt;menus&lt;/span&gt;;&lt;/li&gt;&lt;/ul&gt;&lt;div style="text-align: justify;"&gt;Para abrir uma janela secundária podemos fazer com &lt;span style="font-weight: bold;"&gt;HTML &lt;/span&gt;ou &lt;span style="font-weight: bold;"&gt;Javascript&lt;/span&gt;. Para abrir uma janela secundária em &lt;span style="font-weight: bold;"&gt;HTML &lt;/span&gt;basta utilizar o &lt;span style="font-weight: bold;"&gt;atributo TARGET &lt;/span&gt;das &lt;span style="font-weight: bold;"&gt;tags HREF&lt;/span&gt;.  Colocando &lt;span style="font-weight: bold;"&gt;target="_blank"&lt;/span&gt; no &lt;span style="font-weight: bold;"&gt;link&lt;/span&gt;. O link  fica desta forma :&lt;br /&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/-OOhxzz10q4Y/ToMi0IXD_OI/AAAAAAAAAzM/F2M4dwXeTvw/s1600/link.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 200px; height: 21px;" src="http://1.bp.blogspot.com/-OOhxzz10q4Y/ToMi0IXD_OI/AAAAAAAAAzM/F2M4dwXeTvw/s200/link.JPG" title="html" alt="html" id="BLOGGER_PHOTO_ID_5657403835900230882" border="0" /&gt;&lt;/a&gt;O &lt;span style="font-weight: bold;"&gt;problema  &lt;/span&gt;do &lt;span style="font-weight: bold;"&gt;HTML &lt;/span&gt;é que não temos o mesmo &lt;span style="font-weight: bold;"&gt;controle &lt;/span&gt;que no &lt;span style="font-weight: bold;"&gt;JavaScript&lt;/span&gt;. Para abrir a janela secundária com &lt;span style="font-weight: bold;"&gt;JavaScript &lt;/span&gt;pode-se  utilizar &lt;span style="font-weight: bold;"&gt;window.open()&lt;/span&gt;. Esta função recebe &lt;span style="font-weight: bold;"&gt;três&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;parâmetros&lt;/span&gt;, que são colocados entre os &lt;span style="font-weight: bold;"&gt;parênteses&lt;/span&gt;:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;window.open(URL, nomeJanela, configuracaoJanela)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;onde:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;URL&lt;/span&gt;: &lt;span style="font-weight: bold;"&gt;link &lt;/span&gt;que desejamos abrir na &lt;span style="font-weight: bold;"&gt;janela &lt;/span&gt;secundária;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;nomeJanela&lt;/span&gt;: nome que se atribui para a janela para dirigir &lt;span style="font-weight: bold;"&gt;links &lt;/span&gt;com o atributo &lt;span style="font-weight: bold;"&gt;target &lt;/span&gt;do HTML&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;formaJanela&lt;/span&gt;: são as  &lt;span style="font-weight: bold;"&gt;configurações &lt;/span&gt;da janela como sua &lt;span style="font-weight: bold;"&gt;altura&lt;/span&gt;, &lt;span style="font-weight: bold;"&gt;largura&lt;/span&gt;, &lt;span style="font-weight: bold;"&gt;barras de rolagem &lt;/span&gt;e outros&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;window.open("http://programscomputer.blogspot.com/","janelaComputer", "width=100,height=320,scrollbars=NO")&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Outra  opção no &lt;span style="font-weight: bold;"&gt;JavaScript &lt;/span&gt;é  criar uma  &lt;span style="font-weight: bold;"&gt;função &lt;/span&gt;que se &lt;span style="font-weight: bold;"&gt;encarregue &lt;/span&gt;de abrir a  janela secundária e  receba  por  &lt;span style="font-weight: bold;"&gt;parâmetro &lt;/span&gt;o&lt;span style="font-weight: bold;"&gt; &lt;/span&gt;link abrir:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/-_ph0xJkg9hU/ToMjox2_pFI/AAAAAAAAAzU/ck_y-y9wkoQ/s1600/script.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 200px; height: 50px;" src="http://4.bp.blogspot.com/-_ph0xJkg9hU/ToMjox2_pFI/AAAAAAAAAzU/ck_y-y9wkoQ/s200/script.JPG" title="função javascript" alt="função javascript" id="BLOGGER_PHOTO_ID_5657404740393215058" border="0" /&gt;&lt;/a&gt;Para executar esta  função :&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/-xh0J2aKJQpQ/ToMkM9bV4LI/AAAAAAAAAzc/eB-mtlEVvf4/s1600/usoScript.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 200px; height: 9px;" src="http://2.bp.blogspot.com/-xh0J2aKJQpQ/ToMkM9bV4LI/AAAAAAAAAzc/eB-mtlEVvf4/s200/usoScript.JPG" title="executar função" alt="executar função" id="BLOGGER_PHOTO_ID_5657405361973747890" border="0" /&gt;&lt;/a&gt;Veja alguns &lt;span style="font-weight: bold;"&gt;parâmetros &lt;/span&gt;para &lt;span style="font-weight: bold;"&gt;formatar &lt;/span&gt;a janela secundaria em &lt;span style="font-weight: bold;"&gt;JavaScript &lt;/span&gt;com &lt;span style="font-weight: bold;"&gt;window.open()  &lt;/span&gt;:&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;height &lt;/span&gt;= ajustar a &lt;span style="font-weight: bold;"&gt;altura &lt;/span&gt;da janela em &lt;span style="font-weight: bold;"&gt;pixels&lt;/span&gt;;&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;left &lt;/span&gt;= &lt;span style="font-weight: bold;"&gt;distancia &lt;/span&gt;em pixels entre a &lt;span style="font-weight: bold;"&gt;borda esquerda&lt;/span&gt; da &lt;span style="font-weight: bold;"&gt;tela &lt;/span&gt;e a &lt;span style="font-weight: bold;"&gt;borda da janela&lt;/span&gt;.&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;location&lt;/span&gt;: barra de &lt;span style="font-weight: bold;"&gt;endereços &lt;/span&gt;que exibe a &lt;span style="font-weight: bold;"&gt;localização do site&lt;/span&gt;. Usa se location=yes para  aparecer e  location=no  para não ser mostrada.&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;resizable &lt;/span&gt;= estabelece se o &lt;span style="font-weight: bold;"&gt;usuário &lt;/span&gt;pode ou não &lt;span style="font-weight: bold;"&gt;modificar  &lt;/span&gt;o &lt;span style="font-weight: bold;"&gt;tamanho da janela&lt;/span&gt; onde resizable=yes pode modificar o tamanho e  resizable=no o tamanho fica &lt;span style="font-weight: bold;"&gt;fixo&lt;/span&gt;.&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;scrollbars&lt;/span&gt;= definir se terá  &lt;span style="font-weight: bold;"&gt;barra de rolagem&lt;/span&gt; usa-se scrollbars=no  nunca  aparecerá as  barras e  scrollbars=yes  aparecem se necessário.&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;status&lt;/span&gt;= exibe ou não a barra de &lt;span style="font-weight: bold;"&gt;status&lt;/span&gt;. Usa se status=yes para  aparecer e  status=no  para não ser mostrada.&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;top&lt;/span&gt;=  distancia em pixels entre a &lt;span style="font-weight: bold;"&gt;borda superior&lt;/span&gt; da &lt;span style="font-weight: bold;"&gt;tela &lt;/span&gt;e a borda superior da &lt;span style="font-weight: bold;"&gt;janela&lt;/span&gt;.&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;toolbar= &lt;/span&gt;exibir ou não a barra de &lt;span style="font-weight: bold;"&gt;ícones básicos&lt;/span&gt;. Usa se toolbar=yes para  aparecer e  toolbar=no  para não ser mostrada.&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;width&lt;/span&gt;= ajustar a &lt;span style="font-weight: bold;"&gt;largura &lt;/span&gt;da janela em &lt;span style="font-weight: bold;"&gt;pixels&lt;/span&gt;;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4684750288742513326-1683349186467873871?l=programscomputer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://programscomputer.blogspot.com/feeds/1683349186467873871/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4684750288742513326&amp;postID=1683349186467873871' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/1683349186467873871'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/1683349186467873871'/><link rel='alternate' type='text/html' href='http://programscomputer.blogspot.com/2011/09/janela-secundaria_28.html' title='Janela Secundária'/><author><name>Iria</name><uri>http://www.blogger.com/profile/12564967437383073190</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-5rfRetOOEs4/ToMlo12_YzI/AAAAAAAAAzk/kVFCkQS4FKA/s72-c/jsHtml.jpeg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4684750288742513326.post-7501284465395488153</id><published>2011-09-19T12:40:00.000-07:00</published><updated>2011-09-19T13:29:20.347-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Servidor'/><category scheme='http://www.blogger.com/atom/ns#' term='Array'/><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='elementos'/><category scheme='http://www.blogger.com/atom/ns#' term='$_SERVER'/><category scheme='http://www.blogger.com/atom/ns#' term='listagem de arquivos'/><title type='text'>PHP  $_SERVER</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/-oHZbrbsKWDw/TnejM4FLQ0I/AAAAAAAAAwE/7JdJA322Frc/s1600/servidor.jpg"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 130px; height: 200px;" src="http://4.bp.blogspot.com/-oHZbrbsKWDw/TnejM4FLQ0I/AAAAAAAAAwE/7JdJA322Frc/s200/servidor.jpg" alt="servidor" title="servidor" id="BLOGGER_PHOTO_ID_5654167298794799938" border="0" /&gt;&lt;/a&gt;&lt;span style="font-weight: bold;"&gt;$_SERVER&lt;/span&gt; é um &lt;span style="font-weight: bold;"&gt;array php &lt;/span&gt;que  possui &lt;span style="font-weight: bold;"&gt;informações &lt;/span&gt;como &lt;span style="font-weight: bold;"&gt;cabeçalhos&lt;/span&gt;, &lt;span style="font-weight: bold;"&gt;paths&lt;/span&gt;, e localizações de &lt;span style="font-weight: bold;"&gt;scripts&lt;/span&gt;. As entradas neste array são criadas pelo &lt;span style="font-weight: bold;"&gt;servidor web&lt;/span&gt;. Por isso pode ser que algumas informações não sejam mostradas por  não estar configurado ou permitido,  ou ainda   podem ser mostradas outras além da &lt;span style="font-weight: bold;"&gt;lista  &lt;/span&gt;mostrada a seguir. Também é importante  lembrar que  algumas  versões  do php não possuem todos estes elementos. Os principais elementos deste  array são :&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;PHP_SELF&lt;/span&gt;: nome relativo a &lt;span style="font-weight: bold;"&gt;raíz  &lt;/span&gt;do &lt;span style="font-weight: bold;"&gt;arquivo &lt;/span&gt;que está executando;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;argv&lt;/span&gt;: &lt;span style="font-weight: bold;"&gt;argumentos  &lt;/span&gt;passados para o &lt;span style="font-weight: bold;"&gt;script&lt;/span&gt;;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;argc&lt;/span&gt;: número de &lt;span style="font-weight: bold;"&gt;parâmetros &lt;/span&gt;passados para  o script (visivel em linha de comando);&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;GATEWAY_INTERFACE&lt;/span&gt;: número de &lt;span style="font-weight: bold;"&gt;revisão &lt;/span&gt;da especificação &lt;span style="font-weight: bold;"&gt;CGI &lt;/span&gt;que o &lt;span style="font-weight: bold;"&gt;servidor &lt;/span&gt;está utilizando;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;SERVER_ADDR&lt;/span&gt;: &lt;span style="font-weight: bold;"&gt;endereço IP &lt;/span&gt;do servidor onde está o script em &lt;span style="font-weight: bold;"&gt;execução&lt;/span&gt;;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;SERVER_NAME&lt;/span&gt;: &lt;span style="font-weight: bold;"&gt;nome &lt;/span&gt;do &lt;span style="font-weight: bold;"&gt;servidor &lt;/span&gt;onde o script está sendo executado;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;SERVER_SOFTWARE&lt;/span&gt;: &lt;span style="font-weight: bold;"&gt;string &lt;/span&gt;de &lt;span style="font-weight: bold;"&gt;identificação &lt;/span&gt;do servidor, fornecida nos &lt;span style="font-weight: bold;"&gt;headers &lt;/span&gt;ao responder - &lt;span style="font-weight: bold;"&gt;requests&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;SERVER_PROTOCOL&lt;/span&gt;: nome e &lt;span style="font-weight: bold;"&gt;número &lt;/span&gt;de revisão do &lt;span style="font-weight: bold;"&gt;protocolo &lt;/span&gt;de informação pelo qual a &lt;span style="font-weight: bold;"&gt;página &lt;/span&gt;foi requerida;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;REQUEST_METHOD&lt;/span&gt;: &lt;span style="font-weight: bold;"&gt;método &lt;/span&gt;de request utilizando para acessar a &lt;span style="font-weight: bold;"&gt;página&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;REQUEST_TIME&lt;/span&gt;: &lt;span style="font-weight: bold;"&gt;timestamp &lt;/span&gt;do início da &lt;span style="font-weight: bold;"&gt;requisição&lt;/span&gt;;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;QUERY_STRING&lt;/span&gt;: string de &lt;span style="font-weight: bold;"&gt;solicitação &lt;/span&gt;pela qual a página foi acessada;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;DOCUMENT_ROOT&lt;/span&gt;: &lt;span style="font-weight: bold;"&gt;diretório raiz&lt;/span&gt; onde o script atual é executado conforme definido no arquivos de &lt;span style="font-weight: bold;"&gt;configuração &lt;/span&gt;do servidor;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;HTTP_ACCEPT&lt;/span&gt;: conteúdo do header &lt;span style="font-weight: bold;"&gt;Accept &lt;/span&gt;da &lt;span style="font-weight: bold;"&gt;requisição &lt;/span&gt;atual;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;HTTP_ACCEPT_CHARSET&lt;/span&gt;: conteúdo do header Accept-&lt;span style="font-weight: bold;"&gt;Charset &lt;/span&gt;da requisição atual;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;HTTP_ACCEPT_ENCODING&lt;/span&gt;: conteúdo do header Accept-&lt;span style="font-weight: bold;"&gt;Encoding &lt;/span&gt;da requisição atual;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;HTTP_ACCEPT_LANGUAGE&lt;/span&gt;: conteúdo do header Accept-&lt;span style="font-weight: bold;"&gt;Language &lt;/span&gt;da requisição atual;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;HTTP_CONNECTION&lt;/span&gt;: conteúdo do header &lt;span style="font-weight: bold;"&gt;Connection &lt;/span&gt;da requisição atual;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;HTTP_HOST&lt;/span&gt;: conteúdo do header &lt;span style="font-weight: bold;"&gt;Host &lt;/span&gt;da requisição atual;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;HTTP_REFERER&lt;/span&gt;: &lt;span style="font-weight: bold;"&gt;endereço &lt;/span&gt;da página acessada pelo &lt;span style="font-weight: bold;"&gt;usuário&lt;/span&gt;;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;HTTP_USER_AGENT&lt;/span&gt;: conteúdo do header &lt;span style="font-weight: bold;"&gt;User-Agent&lt;/span&gt; da requisição atual&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;HTTPS&lt;/span&gt;: mostra &lt;span style="font-weight: bold;"&gt;valor &lt;/span&gt;não vazio se o script foi requisitado através do &lt;span style="font-weight: bold;"&gt;protocolo HTTPS&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;REMOTE_ADDR&lt;/span&gt;:&lt;span style="font-weight: bold;"&gt; endereço IP&lt;/span&gt; de onde o usuário está visualizado a &lt;span style="font-weight: bold;"&gt;página &lt;/span&gt;atual.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;REMOTE_HOST&lt;/span&gt;: &lt;span style="font-weight: bold;"&gt;nome do host&lt;/span&gt; que o usuário utilizou para &lt;span style="font-weight: bold;"&gt;chamar &lt;/span&gt;a página atual.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;REMOTE_PORT&lt;/span&gt;: porta &lt;span style="font-weight: bold;"&gt;TCP &lt;/span&gt;na máquina do usuário utilizada para &lt;span style="font-weight: bold;"&gt;comunicação &lt;/span&gt;com o servidor &lt;span style="font-weight: bold;"&gt;web&lt;/span&gt;;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;SCRIPT_FILENAME&lt;/span&gt;: &lt;span style="font-style: italic;"&gt;caminho absoluto&lt;/span&gt; to script atual;&lt;br /&gt; &lt;br /&gt;&lt;span style="font-style: italic;"&gt;SERVER_ADMIN&lt;/span&gt;: valor fornecido pela &lt;span style="font-weight: bold;"&gt;diretiva SERVER_ADMIN do Apache &lt;/span&gt;no arquivo de &lt;span style="font-weight: bold;"&gt;configuração &lt;/span&gt;do servidor;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;SERVER_PORT&lt;/span&gt;: porta  utilizada pelo servidor web para &lt;span style="font-weight: bold;"&gt;comunicação&lt;/span&gt;;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;SERVER_SIGNATURE&lt;/span&gt;: versão do servidor e nome do &lt;span style="font-weight: bold;"&gt;host virtual&lt;/span&gt; que é adicionado às páginas geradas no servidor;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;PATH_TRANSLATED&lt;/span&gt;: &lt;span style="font-weight: bold;"&gt;caminho real&lt;/span&gt; do script relativo ao&lt;span style="font-weight: bold;"&gt; sistema de arquivos&lt;/span&gt; ;&lt;br /&gt;     &lt;br /&gt;&lt;span style="font-style: italic;"&gt;SCRIPT_NAME&lt;/span&gt;: &lt;span style="font-weight: bold;"&gt;caminho completo&lt;/span&gt; do &lt;span style="font-weight: bold;"&gt;script &lt;/span&gt;atual;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;REQUEST_URI&lt;/span&gt;: &lt;span style="font-weight: bold;"&gt;URI &lt;/span&gt;fornecido para acessar a página atual;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;PHP_AUTH_DIGEST&lt;/span&gt;: variável  definida para o &lt;span style="font-weight: bold;"&gt;cabeçalho 'Authorization'&lt;/span&gt; enviado pelo &lt;span style="font-weight: bold;"&gt;cliente&lt;/span&gt;;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;PHP_AUTH_USER&lt;/span&gt;: &lt;span style="font-weight: bold;"&gt;nome &lt;/span&gt;fornecido pelo &lt;span style="font-weight: bold;"&gt;usuário &lt;/span&gt;fazendo &lt;span style="font-weight: bold;"&gt;autenticaçào HTTP&lt;/span&gt;;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;PHP_AUTH_PW&lt;/span&gt;: &lt;span style="font-weight: bold;"&gt;senha &lt;/span&gt;fornecida pelo &lt;span style="font-weight: bold;"&gt;usuário &lt;/span&gt;fazendo autenticaçào HTTP;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;AUTH_TYPE&lt;/span&gt;: &lt;span style="font-weight: bold;"&gt;tipo &lt;/span&gt;de &lt;span style="font-weight: bold;"&gt;autenticação &lt;/span&gt;utilizado.&lt;br /&gt;&lt;br /&gt;Para  &lt;span style="font-weight: bold;"&gt;visualizar &lt;/span&gt;estes elementos pode ser executado o &lt;span style="font-weight: bold;"&gt;script &lt;/span&gt;php abaixo.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;foreach($_SERVER as $nome_campo =&amp;gt; $valorCampo) {&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;    $atribuicao = "\$" . $nome_campo . " = " . $valorCampo;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;    echo $atribuicao ;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;    &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;O script também está na &lt;span style="font-weight: bold;"&gt;imagem &lt;/span&gt;a seguir  para  melhor visualizar.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/-_8GsvW_5Ug4/TneisGYvssI/AAAAAAAAAv8/o1za4UdwgYA/s1600/SERVER.JPG"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 200px; height: 82px;" src="http://1.bp.blogspot.com/-_8GsvW_5Ug4/TneisGYvssI/AAAAAAAAAv8/o1za4UdwgYA/s200/SERVER.JPG" alt="código fonte" title="código fonte" id="BLOGGER_PHOTO_ID_5654166735699292866" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4684750288742513326-7501284465395488153?l=programscomputer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://programscomputer.blogspot.com/feeds/7501284465395488153/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4684750288742513326&amp;postID=7501284465395488153' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/7501284465395488153'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/7501284465395488153'/><link rel='alternate' type='text/html' href='http://programscomputer.blogspot.com/2011/09/php-server.html' title='PHP  $_SERVER'/><author><name>Iria</name><uri>http://www.blogger.com/profile/12564967437383073190</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-oHZbrbsKWDw/TnejM4FLQ0I/AAAAAAAAAwE/7JdJA322Frc/s72-c/servidor.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4684750288742513326.post-5942425302857031329</id><published>2011-09-11T16:10:00.000-07:00</published><updated>2011-09-11T17:04:07.246-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='atributos'/><category scheme='http://www.blogger.com/atom/ns#' term='valores'/><category scheme='http://www.blogger.com/atom/ns#' term='dbgrid'/><category scheme='http://www.blogger.com/atom/ns#' term='dataset'/><category scheme='http://www.blogger.com/atom/ns#' term='Banco de Dados'/><category scheme='http://www.blogger.com/atom/ns#' term='Tabela'/><category scheme='http://www.blogger.com/atom/ns#' term='datasource'/><category scheme='http://www.blogger.com/atom/ns#' term='arquivo xml'/><title type='text'>Criando arquivo xml no delphi</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/-8fnl9S8qyCk/Tm1LuBVGu6I/AAAAAAAAErM/6xSVwb4WwNQ/s1600/20110911%2BDelphi%2Barquivo%2BXML.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 176px; height: 200px;" src="http://2.bp.blogspot.com/-8fnl9S8qyCk/Tm1LuBVGu6I/AAAAAAAAErM/6xSVwb4WwNQ/s200/20110911%2BDelphi%2Barquivo%2BXML.png" alt="banco de dados  , tabela , arquivo xml, dataset, datasource, dbgrid,  atributos, valores,  " title="banco de dados  , tabela , arquivo xml, dataset, datasource, dbgrid,  atributos, valores,  " id="BLOGGER_PHOTO_ID_5651256361422863266" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Para se criar &lt;span style="font-weight: bold;"&gt;arquivos xml &lt;/span&gt;e o mesmo poder guardar informações como uma tabela de &lt;span style="font-weight: bold;"&gt;banco&lt;/span&gt; de &lt;span style="font-weight: bold;"&gt;dados &lt;/span&gt;é muito facil.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;1º passo&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;iremos usar para demostrar esta situação tres &lt;span style="font-weight: bold;"&gt;componentes &lt;/span&gt;conhecidos nosso:&lt;br /&gt;&lt;br /&gt;o &lt;span style="font-weight: bold;"&gt;clientdataset&lt;/span&gt;, o &lt;span style="font-weight: bold;"&gt;datasource &lt;/span&gt;e um dbgrid&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;2º passo&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;no clientdataset na propriedade &lt;span style="font-weight: bold;"&gt;fielddefs &lt;/span&gt;adicione um campo que representa um campo de uma tabela.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;renome este campo na propriedade name que aparece no &lt;span style="font-weight: bold;"&gt;objectespector&lt;/span&gt;, depois em datatype informe que ele é uma string e por fim em &lt;span style="font-weight: bold;"&gt;attributs &lt;/span&gt;diga que ele é requerido.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.delphidicas.com.br/dicas/106/Criando-arquivo-xml-no-delphi.html"&gt;Leia Mais&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4684750288742513326-5942425302857031329?l=programscomputer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://programscomputer.blogspot.com/feeds/5942425302857031329/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4684750288742513326&amp;postID=5942425302857031329' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/5942425302857031329'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/5942425302857031329'/><link rel='alternate' type='text/html' href='http://programscomputer.blogspot.com/2011/09/criando-arquivo-xml-no-delphi.html' title='Criando arquivo xml no delphi'/><author><name>Blogado</name><uri>http://www.blogger.com/profile/00508039577491745861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-8fnl9S8qyCk/Tm1LuBVGu6I/AAAAAAAAErM/6xSVwb4WwNQ/s72-c/20110911%2BDelphi%2Barquivo%2BXML.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4684750288742513326.post-2677399104009865205</id><published>2011-09-08T18:06:00.000-07:00</published><updated>2011-09-08T18:38:46.523-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='mktime'/><category scheme='http://www.blogger.com/atom/ns#' term='list'/><category scheme='http://www.blogger.com/atom/ns#' term='diferença entre datas'/><title type='text'>Calcular diferença entre duas datas em PHP</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/-O5BS4qZ-7U4/TmluAR3QMnI/AAAAAAAAAsQ/Iiyzee2N2tA/s1600/phpMundo.jpeg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 200px; height: 150px;" src="http://1.bp.blogspot.com/-O5BS4qZ-7U4/TmluAR3QMnI/AAAAAAAAAsQ/Iiyzee2N2tA/s200/phpMundo.jpeg" alt="php" title="php" id="BLOGGER_PHOTO_ID_5650168158587204210" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Para &lt;span style="font-weight: bold;"&gt;calcular &lt;/span&gt;a &lt;span style="font-weight: bold;"&gt;diferença entre duas datas&lt;/span&gt; na linguagem de programação &lt;span style="font-weight: bold;"&gt;PHP&lt;/span&gt;, usaremos duas &lt;span style="font-weight: bold;"&gt;funções &lt;/span&gt;do PHP.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-style: italic; font-weight: bold; color: rgb(255, 0, 0);"&gt;list&lt;/span&gt;: função utilizada para criar uma &lt;span style="font-weight: bold;"&gt;lista de variáveis&lt;/span&gt; em apenas uma &lt;span style="font-weight: bold;"&gt;operação&lt;/span&gt;.&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold; font-style: italic; color: rgb(255, 0, 0);"&gt;mktime&lt;/span&gt;: função que retorna o &lt;span style="font-weight: bold;"&gt;timestamp Unix&lt;/span&gt; correspondente para os argumentos passados. Os &lt;span style="font-weight: bold;"&gt;parâmetros &lt;/span&gt;utilizados nesta função são:&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-weight: bold;"&gt;int mktime ( int $hora , int $minuto , int $second , int $mes , int $dia , int $ano )&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;A função foi desenvolvida da seguinte forma :&lt;br /&gt;&lt;br /&gt;function dif_dias($data_inicial, $data_final)  {&lt;br /&gt;&lt;br /&gt;list($dia_inicial, $mes_inicial, $ano_inicial) = explode("/",$data_inicial);&lt;br /&gt;list($dia_final, $mes_final, $ano_final) = explode("/", $data_final);&lt;br /&gt;&lt;br /&gt;$data_inicial2 = mktime(0,0,0,$mes_inicial,$dia_inicial,$ano_inicial);&lt;br /&gt;$data_final2 = mktime(0,0,0,$mes_final,$dia_final,$ano_final);&lt;br /&gt;&lt;br /&gt;$dias = ($data_final2 - $data_inicial2)/86400;&lt;br /&gt;&lt;br /&gt;return $dias;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;//Para Testar&lt;br /&gt;&lt;br /&gt;$data_inicial = '01/09/2011';&lt;br /&gt;$data_final = '05/09/2011';&lt;br /&gt;&lt;br /&gt;$dias = dif_dias("$data_inicial","$data_final");&lt;br /&gt;&lt;br /&gt;echo 'total de  dias: '.$dias.'';&lt;br /&gt;&lt;br /&gt;//Neste caso o resultado foi : total de dias: 4&lt;br /&gt;&lt;br /&gt;O código fonte pode ser visto identado na imagem a seguir:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/-TBMzftDMUAY/TmltH86OnjI/AAAAAAAAAsI/1yem64OGEX4/s1600/funcao.JPG"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 200px; height: 140px;" src="http://1.bp.blogspot.com/-TBMzftDMUAY/TmltH86OnjI/AAAAAAAAAsI/1yem64OGEX4/s200/funcao.JPG" alt="código fonte" title="código fonte" id="BLOGGER_PHOTO_ID_5650167190889864754" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4684750288742513326-2677399104009865205?l=programscomputer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://programscomputer.blogspot.com/feeds/2677399104009865205/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4684750288742513326&amp;postID=2677399104009865205' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/2677399104009865205'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/2677399104009865205'/><link rel='alternate' type='text/html' href='http://programscomputer.blogspot.com/2011/09/calcular-diferenca-entre-duas-datas-em.html' title='Calcular diferença entre duas datas em PHP'/><author><name>Iria</name><uri>http://www.blogger.com/profile/12564967437383073190</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-O5BS4qZ-7U4/TmluAR3QMnI/AAAAAAAAAsQ/Iiyzee2N2tA/s72-c/phpMundo.jpeg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4684750288742513326.post-8542300424030736068</id><published>2011-09-02T18:54:00.000-07:00</published><updated>2011-09-02T18:55:36.356-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='VB.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='Componentes'/><category scheme='http://www.blogger.com/atom/ns#' term='Visual Basic'/><category scheme='http://www.blogger.com/atom/ns#' term='Impressoras'/><category scheme='http://www.blogger.com/atom/ns#' term='Programação Vb.Net'/><category scheme='http://www.blogger.com/atom/ns#' term='Dicas'/><category scheme='http://www.blogger.com/atom/ns#' term='NameSpace'/><title type='text'>VB.NET Listando as Impressoras Instaladas</title><content type='html'>&lt;span style="color: #384042; font-family: verdana; font-size: 14px; line-height: 21px;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-Wf55ZFvS9Yc/TmGILEdPdUI/AAAAAAAAEow/43tN8PLwwKw/s1600/impressora.jpeg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img alt="Componentes, Impressoras, VB.NET,  NameSpace, Dicas, Programação Vb.Net, Visual Basic, " border="0" height="164" src="http://2.bp.blogspot.com/-Wf55ZFvS9Yc/TmGILEdPdUI/AAAAAAAAEow/43tN8PLwwKw/s320/impressora.jpeg" title="Componentes, Impressoras, VB.NET,  NameSpace, Dicas, Programação Vb.Net, Visual Basic, " width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: Arial; font-size: small;"&gt;Pra visualização do código a baixo, foram utilizados dois &lt;b&gt;componentes&lt;/b&gt;:&lt;br /&gt;- Um botão com nome = &lt;span style="color: navy;"&gt;btn_carregar&lt;/span&gt;&lt;br /&gt;- Um combobox com nome = &lt;span style="color: navy;"&gt;Cmb_&lt;b&gt;Impressoras&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;div align="justify"&gt;&lt;span style="font-family: Arial; font-size: small;"&gt;Obs.: Antes de iniciar o código propriamente dito, é necessário informar o NameSpace utilizado para trabalhar com as propriedades ligadas a impressora, que habitualmente é declaro no topo do código, chamado System.&lt;b&gt;Drawing&lt;/b&gt;.Printing.&lt;/span&gt;&lt;/div&gt;&lt;span style="font-family: Arial; font-size: small;"&gt; Chamada do &lt;b&gt;namespace &lt;/b&gt;que trabalha com as propriedades relacionada a impressão&lt;br /&gt;&lt;span style="color: navy;"&gt;&lt;br /&gt;Imports System.Drawing.Printing&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: navy; font-family: Arial; font-size: small;"&gt;&lt;b&gt;Private Sub &lt;/b&gt;btn_&lt;b&gt;carregar&lt;/b&gt;_Click(ByVal sender As System.Object, ByVal e As&lt;br /&gt;System.EventArgs) &lt;b&gt;Handles btn_carregar.Click&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: black; font-family: Arial; font-size: small;"&gt; variaveis utilizadas&lt;/span&gt;&lt;span style="color: navy; font-family: Arial; font-size: small;"&gt;&lt;br /&gt;&lt;b&gt;Dim&lt;/b&gt; v_total, v_cont, v_item &lt;b&gt;As&lt;/b&gt; Integer&lt;br /&gt;&lt;b&gt;Dim&lt;/b&gt; pd As PrintDocument = &lt;b&gt;New&lt;/b&gt; PrintDocument&lt;br /&gt;&lt;b&gt;Try&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: navy; font-family: Arial; font-size: small;"&gt;&lt;span style="color: black;"&gt; &lt;b&gt;retornar &lt;/b&gt;o numero total de &lt;b&gt;impressoras &lt;/b&gt;instaladas&lt;/span&gt;&amp;nbsp;&amp;nbsp; v_total = pd.PrinterSettings.InstalledPrinters.&lt;b&gt;Count&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: black;"&gt; varre todas as &lt;b&gt;impressoas &lt;/b&gt;instaladas adicionando-as ao combobox&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: navy; font-family: Arial; font-size: small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;b&gt;With&lt;/b&gt; pd.PrinterSettings.InstalledPrinters &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;b&gt;For&lt;/b&gt; v_cont = 0 &lt;b&gt;To&lt;/b&gt; v_total - 1&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Me.Cmb_Impressoras.Items.Add(.Item(v_cont))&lt;br /&gt;&lt;b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Next&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End With&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: navy; font-family: Arial; font-size: small;"&gt;&lt;span style="color: black;"&gt; seleciona o &lt;b&gt;primeiro &lt;/b&gt;item&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Me.Cmb_Impressoras.SelectedIndex = (v_item)&lt;br /&gt;&lt;b&gt;Catch ex As Exception&lt;/b&gt;&lt;br /&gt;&lt;span style="color: black;"&gt;exibe mensagem de erro cajo &lt;b&gt;aconteça &lt;/b&gt;ao &lt;b&gt;inesperado&lt;/b&gt;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MessageBox.Show("Erro de Impressão " + ex.Message)&lt;br /&gt;&lt;b&gt;Finally&lt;/b&gt;&lt;span style="color: black;"&gt;&lt;br /&gt;libera da &lt;b&gt;memória&lt;/b&gt;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pd.Dispose()&lt;br /&gt;&lt;b&gt;End Try&lt;br /&gt;End Sub&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: navy; font-family: Arial; font-size: x-small;"&gt;&lt;b&gt;&lt;span style="font-size: small;"&gt;&lt;a href="http://www.devmedia.com.br/post-6203-Dicas-VB-NET-Listando-as-Impressoras-Instaladas.html"&gt;Leis Mais&lt;/a&gt;&lt;/span&gt; &lt;/b&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4684750288742513326-8542300424030736068?l=programscomputer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://programscomputer.blogspot.com/feeds/8542300424030736068/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4684750288742513326&amp;postID=8542300424030736068' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/8542300424030736068'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/8542300424030736068'/><link rel='alternate' type='text/html' href='http://programscomputer.blogspot.com/2011/09/vbnet-listando-as-impressoras.html' title='VB.NET Listando as Impressoras Instaladas'/><author><name>Blogado</name><uri>http://www.blogger.com/profile/00508039577491745861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-Wf55ZFvS9Yc/TmGILEdPdUI/AAAAAAAAEow/43tN8PLwwKw/s72-c/impressora.jpeg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4684750288742513326.post-6005105674761408414</id><published>2011-08-22T18:00:00.000-07:00</published><updated>2011-08-22T18:37:36.462-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ferramenta'/><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='MVC'/><category scheme='http://www.blogger.com/atom/ns#' term='aplicações'/><category scheme='http://www.blogger.com/atom/ns#' term='framework'/><category scheme='http://www.blogger.com/atom/ns#' term='Fluxo'/><category scheme='http://www.blogger.com/atom/ns#' term='YII'/><title type='text'>YII Framework - PHP</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/-0zvPiwk3pos/TlMDziJ9w4I/AAAAAAAAEmA/crDHQ1p5Oa8/s1600/20110822%2BYII.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 300px; height: 64px;" src="http://1.bp.blogspot.com/-0zvPiwk3pos/TlMDziJ9w4I/AAAAAAAAEmA/crDHQ1p5Oa8/s400/20110822%2BYII.png" alt="YII, Framework  , Ferramenta , MVC,  PHP  , Aplicações  , Fluxo" title="YII, Framework  , Ferramenta , MVC,  PHP  , Aplicações  , Fluxo" id="BLOGGER_PHOTO_ID_5643858941902177154" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;O que é o Yii Framework?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;O Yii é um &lt;span style="font-weight: bold;"&gt;framework &lt;/span&gt;que está sendo mantido e desenvolvido pelo criador do &lt;span style="font-weight: bold;"&gt;framework&lt;/span&gt; Prado, que é um famoso framework &lt;span style="font-weight: bold;"&gt;PHP &lt;/span&gt;baseado no conceito de event-driven &lt;span style="font-weight: bold;"&gt;programming&lt;/span&gt;, que a grosso modo seria um framework em que o seu fluxo é determinado por &lt;span style="font-weight: bold;"&gt;eventos&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;&lt;div align="center"&gt;&lt;br /&gt;&lt;iframe src="http://www.youtube.com/embed/tDPyQSFcq98" allowfullscreen="" frameborder="0" height="345" width="420"&gt;&lt;/iframe&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4684750288742513326-6005105674761408414?l=programscomputer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://programscomputer.blogspot.com/feeds/6005105674761408414/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4684750288742513326&amp;postID=6005105674761408414' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/6005105674761408414'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/6005105674761408414'/><link rel='alternate' type='text/html' href='http://programscomputer.blogspot.com/2011/08/yii-framework-php.html' title='YII Framework - PHP'/><author><name>Blogado</name><uri>http://www.blogger.com/profile/00508039577491745861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-0zvPiwk3pos/TlMDziJ9w4I/AAAAAAAAEmA/crDHQ1p5Oa8/s72-c/20110822%2BYII.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4684750288742513326.post-5101362208053234200</id><published>2011-08-18T17:55:00.000-07:00</published><updated>2011-08-18T18:10:46.239-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='substituir'/><category scheme='http://www.blogger.com/atom/ns#' term='substituir string por outra'/><category scheme='http://www.blogger.com/atom/ns#' term='str_replace'/><category scheme='http://www.blogger.com/atom/ns#' term='String'/><title type='text'>PHP  str_replace</title><content type='html'>A função &lt;span style="font-weight: bold;"&gt;str_replace()&lt;/span&gt; do &lt;span style="font-weight: bold;"&gt;PHP &lt;/span&gt;substitui todas as &lt;span style="font-weight: bold;"&gt;ocorrências &lt;/span&gt;da &lt;span style="font-weight: bold;"&gt;string &lt;/span&gt;de &lt;span style="font-weight: bold;"&gt;procura &lt;/span&gt;com a string de &lt;span style="font-weight: bold;"&gt;substituição &lt;/span&gt;.&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;str_replace( "procuraPor", "substituirPor", $ondeFazerSubstituicao);&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Neste exemplo estou substituindo o ponto por nada e o hífen também por nada.&lt;br /&gt;&lt;br /&gt;$original = '123.456.789-0';&lt;br /&gt;&lt;br /&gt;//isso retorna 123456789-0&lt;br /&gt;$semponto = str_replace( ".", "", $original);&lt;br /&gt;&lt;br /&gt;//isso retorna 1234567890&lt;br /&gt;$semponto = str_replace( "-", "", $original);&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;Veja o mesmo exemplo na imagem a seguir:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/-taBocA3_9RA/Tk23qGChe7I/AAAAAAAAAok/kcxEhQfCxW4/s1600/strReplace.JPG"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 200px; height: 92px;" src="http://1.bp.blogspot.com/-taBocA3_9RA/Tk23qGChe7I/AAAAAAAAAok/kcxEhQfCxW4/s200/strReplace.JPG" alt="" id="BLOGGER_PHOTO_ID_5642367841968683954" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4684750288742513326-5101362208053234200?l=programscomputer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://programscomputer.blogspot.com/feeds/5101362208053234200/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4684750288742513326&amp;postID=5101362208053234200' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/5101362208053234200'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/5101362208053234200'/><link rel='alternate' type='text/html' href='http://programscomputer.blogspot.com/2011/08/php-strreplace.html' title='PHP  str_replace'/><author><name>Iria</name><uri>http://www.blogger.com/profile/12564967437383073190</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-taBocA3_9RA/Tk23qGChe7I/AAAAAAAAAok/kcxEhQfCxW4/s72-c/strReplace.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4684750288742513326.post-1774508673032576274</id><published>2011-08-01T07:02:00.000-07:00</published><updated>2011-08-01T07:24:58.354-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MySQL'/><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='Firebird'/><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><category scheme='http://www.blogger.com/atom/ns#' term='xampp'/><title type='text'>XAMPP</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/-9UFanCFLPxU/Tja2_dg1fKI/AAAAAAAAAmA/dZCRJV2fe38/s1600/xampp.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 200px; height: 176px;" src="http://3.bp.blogspot.com/-9UFanCFLPxU/Tja2_dg1fKI/AAAAAAAAAmA/dZCRJV2fe38/s200/xampp.jpg" alt="xampp" title="xampp" id="BLOGGER_PHOTO_ID_5635893185071119522" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;É um ambiente destinado a &lt;span style="font-weight: bold;"&gt;desenvolvedores &lt;/span&gt;web, atua  como &lt;span style="font-weight: bold;"&gt;servidor web  &lt;/span&gt;livre capaz de interpretar &lt;span style="font-weight: bold;"&gt;páginas  &lt;/span&gt;dinâmicas. O ambiente é composto por:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;base de dados &lt;span style="font-weight: bold;"&gt;MySQL&lt;/span&gt;;&lt;/li&gt;&lt;li&gt;servidor web &lt;span style="font-weight: bold;"&gt;Apache&lt;/span&gt;;&lt;/li&gt;&lt;li&gt;e os interpretadores para &lt;span style="font-weight: bold;"&gt;linguagens &lt;/span&gt;de &lt;span style="font-weight: bold;"&gt;script&lt;/span&gt;: &lt;span style="font-weight: bold;"&gt;PHP &lt;/span&gt;e &lt;span style="font-weight: bold;"&gt;Perl&lt;/span&gt;. &lt;/li&gt;&lt;/ul&gt;O nome deste ambiente significa:&lt;br /&gt;&lt;br /&gt;X = para qualquer dos diferentes sistemas operacionais ;&lt;br /&gt;A  = Apache;&lt;br /&gt;M = MySQL;&lt;br /&gt;P =  PHP;&lt;br /&gt;P = Perl.&lt;br /&gt;&lt;br /&gt;Atualmente &lt;span style="font-weight: bold;"&gt;XAMPP &lt;/span&gt;está disponível para &lt;span style="font-weight: bold;"&gt;Microsoft Windows&lt;/span&gt;, &lt;span style="font-weight: bold;"&gt;GNU/Linux&lt;/span&gt;, &lt;span style="font-weight: bold;"&gt;Solaris&lt;/span&gt;, e &lt;span style="font-weight: bold;"&gt;MacOS X&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;O XAMPP possui aplicativos, bem como, o &lt;span style="font-weight: bold;"&gt;Apache, MySQL, phpMyAdmin, FileZilla FTP Server, OpenSSL.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Inicialmente o objetivo era de se utilizar esta ferramenta para desenvolvedores realizar  testes locais em seus &lt;span style="font-weight: bold;"&gt;computadores&lt;/span&gt;, onde não tivesse eu  necessitasse de acesso a internet. Hoje por ser considerada uma ferramenta segura pode ser utilizado como servidor &lt;span style="font-weight: bold;"&gt;público &lt;/span&gt;para servir sites web.  O XAMPP é uma ferramenta que está atualizada com as  útimas versões do Apache/MySQL/PHP e Perl.&lt;br /&gt;&lt;br /&gt;Para  &lt;span style="font-weight: bold;"&gt;instalar  &lt;/span&gt;o XAMPP basta  baixar  o arquivo de instalação e realizar a mesma, pode ser baixado em : &lt;a href="http://www.apachefriends.org/pt_br/xampp.html"&gt;apachefriends &lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Se quiser utilizar o XAMPP com o banco de dados  &lt;span style="font-weight: bold;"&gt;firebird &lt;/span&gt;faça a seguinte configuração :&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;- &lt;/span&gt;editar o php.ini em c:\arquivos de programas\xampp\apache\bin e retirar o ponto e virgula dafrente  do extension=php_interbase.dll e salvar&lt;br /&gt;&lt;br /&gt;Se o XAMPP não funcionar no&lt;span style="font-weight: bold;"&gt; windows  XP&lt;/span&gt; faça a seguinte &lt;span style="font-weight: bold;"&gt;Gambiarra&lt;/span&gt;:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;-&lt;/span&gt; abrir o c:  windows &lt;span style="font-weight: bold;"&gt;system32  &lt;/span&gt;localizar o arquivo &lt;span style="font-weight: bold;"&gt;gds32.dll&lt;/span&gt; e  copiar para a pasta xampp\apache\bin  substituindo o já existente.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4684750288742513326-1774508673032576274?l=programscomputer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://programscomputer.blogspot.com/feeds/1774508673032576274/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4684750288742513326&amp;postID=1774508673032576274' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/1774508673032576274'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/1774508673032576274'/><link rel='alternate' type='text/html' href='http://programscomputer.blogspot.com/2011/08/xampp.html' title='XAMPP'/><author><name>Iria</name><uri>http://www.blogger.com/profile/12564967437383073190</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-9UFanCFLPxU/Tja2_dg1fKI/AAAAAAAAAmA/dZCRJV2fe38/s72-c/xampp.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4684750288742513326.post-2481311027695898327</id><published>2011-07-18T16:58:00.000-07:00</published><updated>2011-07-18T17:16:51.505-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SimpleDateFormat'/><category scheme='http://www.blogger.com/atom/ns#' term='Cliente Java'/><category scheme='http://www.blogger.com/atom/ns#' term='conversão de data'/><title type='text'>SimpleDateFormat</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/-zMGoQbdj4kM/TiTMsFWXNdI/AAAAAAAAAis/Ow6WBcb29dY/s1600/datas.JPG"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 200px; height: 163px;" src="http://2.bp.blogspot.com/-zMGoQbdj4kM/TiTMsFWXNdI/AAAAAAAAAis/Ow6WBcb29dY/s200/datas.JPG" alt="SimpleDateFormat"  title="SimpleDateFormat" id="BLOGGER_PHOTO_ID_5630850491842246098" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;div style="text-align: justify;"&gt;Converter &lt;span style="font-weight: bold;"&gt;data &lt;/span&gt;para  &lt;span style="font-weight: bold;"&gt;string &lt;/span&gt;ou &lt;span style="font-weight: bold;"&gt;string  &lt;/span&gt;para &lt;span style="font-weight: bold;"&gt;data &lt;/span&gt;em &lt;span style="font-weight: bold;"&gt;Java &lt;/span&gt;muitas  vezes  é uma das dúvidas  dos  programadores iniciantes. Para realizar  estas  conversões  pode  ser utilizada a classe &lt;span style="font-weight: bold;"&gt;SimpleDateFormat  &lt;/span&gt;conforme  demonstra o exemplo a seguir:&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;import java.text.SimpleDateFormat;&lt;br /&gt;import java.util.Date;&lt;br /&gt;&lt;br /&gt;public class testeDatas {&lt;br /&gt;&lt;br /&gt;    public static void main(String[] args) {&lt;br /&gt;&lt;br /&gt;        SimpleDateFormat f = new SimpleDateFormat("dd/MM/yyyy");&lt;br /&gt;        String s = "10/11/2011";&lt;br /&gt;        Date d = null;&lt;br /&gt;        try {&lt;br /&gt;            // Converter a string para data&lt;br /&gt;            d = f.parse(s);&lt;br /&gt;            // Converter a data para string&lt;br /&gt;            s = f.format(d);&lt;br /&gt;&lt;br /&gt;            // System.out.println(s);&lt;br /&gt;&lt;br /&gt;        } catch (Exception ex) {&lt;br /&gt;            System.out.println(ex.getMessage());&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4684750288742513326-2481311027695898327?l=programscomputer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://programscomputer.blogspot.com/feeds/2481311027695898327/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4684750288742513326&amp;postID=2481311027695898327' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/2481311027695898327'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/2481311027695898327'/><link rel='alternate' type='text/html' href='http://programscomputer.blogspot.com/2011/07/simpledateformat.html' title='SimpleDateFormat'/><author><name>Iria</name><uri>http://www.blogger.com/profile/12564967437383073190</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-zMGoQbdj4kM/TiTMsFWXNdI/AAAAAAAAAis/Ow6WBcb29dY/s72-c/datas.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4684750288742513326.post-7343391239978541882</id><published>2011-06-01T15:42:00.000-07:00</published><updated>2011-06-01T16:02:17.045-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Insert'/><category scheme='http://www.blogger.com/atom/ns#' term='Artigo Firebird'/><category scheme='http://www.blogger.com/atom/ns#' term='Firebird'/><category scheme='http://www.blogger.com/atom/ns#' term='Sequence'/><category scheme='http://www.blogger.com/atom/ns#' term='Generator'/><category scheme='http://www.blogger.com/atom/ns#' term='caracteres'/><category scheme='http://www.blogger.com/atom/ns#' term='Tabela'/><category scheme='http://www.blogger.com/atom/ns#' term='Chave Primária'/><category scheme='http://www.blogger.com/atom/ns#' term='Dicas'/><category scheme='http://www.blogger.com/atom/ns#' term='Auto Incremento'/><category scheme='http://www.blogger.com/atom/ns#' term='Função TRIM()'/><title type='text'>Com usar a Função Trim() e Campos Auto Incremento</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/-192zfk2n-Xw/TebEyhGUpTI/AAAAAAAAEfM/8RpEm2Pnc7A/s1600/20110502%2BFirebird.gif"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 200px; height: 200px;" src="http://3.bp.blogspot.com/-192zfk2n-Xw/TebEyhGUpTI/AAAAAAAAEfM/8RpEm2Pnc7A/s200/20110502%2BFirebird.gif" alt="Dicas,  Artigo Firebird,  Função TRIM(), Auto Incremento, Insert,  Chave Primária, Generator, Sequence, Firebird , Tabela,  Caracteres  , " title="Dicas,  Artigo Firebird,  Função TRIM(), Auto Incremento, Insert,  Chave Primária, Generator, Sequence, Firebird , Tabela,  Caracteres  , " id="BLOGGER_PHOTO_ID_5613390357721294130" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Usando a função TRIM() para remover espaços em branco (ou outros caracteres) no início e fim do valor de um campo do tipo CHAR ou VARCHAR&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;A função &lt;span style="font-weight: bold;"&gt;TRIM()&lt;/span&gt; do &lt;span style="font-weight: bold;"&gt;Firebird &lt;/span&gt;pode ser usada quando precisamos remover espaços em branco (ou outros caracteres) no início e fim do valor de um campo do tipo CHAR ou &lt;span style="font-weight: bold;"&gt;VARCHAR&lt;/span&gt;. O retorno desta função é um CHAR ou &lt;span style="font-weight: bold;"&gt;VARCHAR &lt;/span&gt;sem os espaços em branco no ínicio e/ou final.&lt;br /&gt;&lt;br /&gt;Veja como usar esta &lt;span style="font-weight: bold;"&gt;função &lt;/span&gt;em um comando SQL DML &lt;span style="font-weight: bold;"&gt;SELECT &lt;/span&gt;FROM:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;SELECT &lt;/span&gt;TRIM(&lt;span style="font-weight: bold;"&gt;NOME&lt;/span&gt;) FROM &lt;span style="font-weight: bold;"&gt;CLIENTES &lt;/span&gt;WHERE ID = 1;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Aqui, se o valor do campo NOME possuir espaços antes e depois, a função &lt;span style="font-weight: bold;"&gt;TRIM&lt;/span&gt;() se &lt;span style="font-weight: bold;"&gt;encarregará &lt;/span&gt;de retirá-los.&lt;br /&gt;&lt;br /&gt;É possível usar esta função para remover outros caracteres que não sejam espaços. Suponhamos que o valor do campo NOME seja algo como "##OSMAR J. SILVA##". Os &lt;span style="font-weight: bold;"&gt;caracteres &lt;/span&gt;"#" antes e depois do nome podem ser bda seguinte forma:&lt;br /&gt;&lt;br /&gt;SELECT TRIM('#' FROM NOME) FROM CLIENTES WHERE ID = 1;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;A função TRIM() pode &lt;span style="font-weight: bold;"&gt;ser &lt;/span&gt;usada em &lt;span style="font-weight: bold;"&gt;DSQL &lt;/span&gt;(Dynamic SQL) e PSQL (Stored procedure and trigger language).&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Como criar uma tabela contendo um campo auto-incremento no Firebird&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Em algumas situações precisamos criar tabelas que contenham campos&lt;span style="font-weight: bold;"&gt; auto-incremento&lt;/span&gt;. Estes campos são geralmente do tipo inteiro, chave primária e usados para identificar, unicamente, um produto, cliente, pedido, etc.&lt;br /&gt;&lt;br /&gt;O &lt;span style="font-weight: bold;"&gt;Firebird&lt;/span&gt;, até sua versão 2.5, não fornece uma forma automática de se criar campos auto-incremento. Para conseguir realizar esta tarefa precisamos usar um gerador &lt;span style="font-weight: bold;"&gt;GENERATOR&lt;/span&gt; ou &lt;span style="font-weight: bold;"&gt;SEQUENCE&lt;/span&gt;. Nesta dica eu mostro passo-a-passo como isso pode ser feito.&lt;br /&gt;&lt;br /&gt;Vamos começar da forma mais complicada, ou seja, sem usar nenhuma ferramenta gráfica, apenas o &lt;span style="font-weight: bold;"&gt;SQL Editor &lt;/span&gt;do &lt;span style="font-weight: bold;"&gt;IBExpert&lt;/span&gt;. Para acessá-lo vá em Tools -&amp;gt; SQL Editor. &lt;span style="font-weight: bold;"&gt;Siga&lt;/span&gt; atentamente os passos abaixo:&lt;br /&gt;&lt;br /&gt;a) Comece criando a seguinte tabela. Basta copiar o comando &lt;span style="font-weight: bold;"&gt;DDL &lt;/span&gt;CREATE TABLE abaixo, colar no SQL Editor e pressionar F9:&lt;br /&gt;&lt;br /&gt;/* criação da tabela CLIENTES */&lt;br /&gt;CREATE TABLE CLIENTES(&lt;br /&gt;ID INTEGER NOT NULL,&lt;br /&gt;NOME VARCHAR(40) NOT NULL,&lt;br /&gt;EMAIL VARCHAR(40) NOT NULL&lt;br /&gt;);&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;b) O passo seguinte é definir o campo &lt;span style="font-weight: bold;"&gt;ID &lt;/span&gt;como chave &lt;span style="font-weight: bold;"&gt;primária&lt;/span&gt;. Isso pode ser feito com o seguinte comando &lt;span style="font-weight: bold;"&gt;DDL&lt;/span&gt;:&lt;br /&gt;&lt;br /&gt;ALTER TABLE &lt;span style="font-weight: bold;"&gt;CLIENTES &lt;/span&gt;ADD &lt;span style="font-weight: bold;"&gt;CONSTRAINT &lt;/span&gt;PK_&lt;span style="font-weight: bold;"&gt;CLIENTES &lt;/span&gt;PRIMARY KEY (ID);&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;c) Agora que já temos a tabela, chegou a hora de criar o &lt;span style="font-weight: bold;"&gt;GENERATOR&lt;/span&gt;/&lt;span style="font-weight: bold;"&gt;SEQUENCE&lt;/span&gt;. Cole o código a seguir na janela do &lt;span style="font-weight: bold;"&gt;SQL &lt;/span&gt;Editor e pressione F9 (execute uma linha de cada vez):&lt;br /&gt;&lt;br /&gt;CREATE &lt;span style="font-weight: bold;"&gt;SEQUENCE &lt;/span&gt;GEN_CLIENTES_ID;&lt;br /&gt;ALTER &lt;span style="font-weight: bold;"&gt;SEQUENCE &lt;/span&gt;GEN_CLIENTES_ID RESTART WITH 0;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Veja que aqui eu estou usando a nova sintáxe de criação de &lt;span style="font-weight: bold;"&gt;SEQUENCE &lt;/span&gt;do Firebird 2.5. Se você estiver usando uma versão mais antiga, a sintáxe correta é (novamente execute uma linha de cada vez):&lt;br /&gt;&lt;br /&gt;CREATE &lt;span style="font-weight: bold;"&gt;GENERATOR &lt;/span&gt;GEN_CLIENTES_ID;&lt;br /&gt;SET GENERATOR GEN_&lt;span style="font-weight: bold;"&gt;CLIENTES&lt;/span&gt;_ID TO 0;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;d) Estamos quase finalizando. Só precisamos criar um trigger que será disparado antes da inserção de novos registros (&lt;span style="font-weight: bold;"&gt;BEFORE INSERT&lt;/span&gt;). Veja o código:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;CREATE &lt;/span&gt;TRIGGER &lt;span style="font-weight: bold;"&gt;TRIGGER&lt;/span&gt;_CLIENTES_BI FOR CLIENTES&lt;br /&gt;ACTIVE BEFORE &lt;span style="font-weight: bold;"&gt;INSERT &lt;/span&gt;POSITION 0&lt;br /&gt;AS&lt;br /&gt;BEGIN&lt;br /&gt;if (NEW.ID is NULL) then &lt;span style="font-weight: bold;"&gt;NEW&lt;/span&gt;.ID = GEN_ID(GEN_CLIENTES_ID, 1);&lt;br /&gt;END;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Este &lt;span style="font-weight: bold;"&gt;trigger &lt;/span&gt;faz com que o &lt;span style="font-weight: bold;"&gt;valor &lt;/span&gt;do campo ID seja sempre auto-incremento, começando em 1. Hora do teste final! Insira alguns registros na tabela usando um comando DML INSERT INTO parecido com o &lt;span style="font-weight: bold;"&gt;que &lt;/span&gt;temos &lt;span style="font-weight: bold;"&gt;abaixo&lt;/span&gt;:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;INSERT &lt;/span&gt;INTO &lt;span style="font-weight: bold;"&gt;CLIENTES&lt;/span&gt;(NOME, EMAIL) VALUES('OSMAR J. SILVA',&lt;br /&gt;'osmar@arquivodecodigos.net');&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Note que o campo ID não é mencionado na query. Isso faz com que seu valor seja enviado como &lt;span style="font-weight: bold;"&gt;NULL &lt;/span&gt;e o trigger se encarregue de gerar o novo valor auto-incremento e atribuí-lo a este campo.&lt;br /&gt;&lt;br /&gt;Fonte:&lt;a href="http://www.arquivodecodigos.net/principal/"&gt; http://www.arquivodecodigos.net/principal/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4684750288742513326-7343391239978541882?l=programscomputer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://programscomputer.blogspot.com/feeds/7343391239978541882/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4684750288742513326&amp;postID=7343391239978541882' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/7343391239978541882'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/7343391239978541882'/><link rel='alternate' type='text/html' href='http://programscomputer.blogspot.com/2011/06/com-usar-funcao-trim-e-campos-auto.html' title='Com usar a Função Trim() e Campos Auto Incremento'/><author><name>Blogado</name><uri>http://www.blogger.com/profile/00508039577491745861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-192zfk2n-Xw/TebEyhGUpTI/AAAAAAAAEfM/8RpEm2Pnc7A/s72-c/20110502%2BFirebird.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4684750288742513326.post-6046618469620362921</id><published>2011-05-24T17:16:00.000-07:00</published><updated>2011-05-24T17:30:17.398-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Delphi'/><category scheme='http://www.blogger.com/atom/ns#' term='Tempo Execução'/><category scheme='http://www.blogger.com/atom/ns#' term='dbgrid'/><category scheme='http://www.blogger.com/atom/ns#' term='projeto'/><category scheme='http://www.blogger.com/atom/ns#' term='Colunas'/><category scheme='http://www.blogger.com/atom/ns#' term='Table'/><category scheme='http://www.blogger.com/atom/ns#' term='Banco de Dados'/><category scheme='http://www.blogger.com/atom/ns#' term='Ordenada'/><title type='text'>Como trocar a coluna do DBGrid de lugar em Tempo de Execução</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/-6bfwOfGPPz4/TdxM8Y3ly9I/AAAAAAAAEdc/Y2XIaBgU3jg/s1600/20110524%2BDicas%2BDelphi.jpg"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 200px; height: 200px;" src="http://1.bp.blogspot.com/-6bfwOfGPPz4/TdxM8Y3ly9I/AAAAAAAAEdc/Y2XIaBgU3jg/s200/20110524%2BDicas%2BDelphi.jpg" alt="DBGrid , Tempo Execução, Delphi  , Colunas,  Banco de Dados,  Table, Ordenada,  Projeto , " title="DBGrid , Tempo Execução, Delphi  , Colunas,  Banco de Dados,  Table, Ordenada,  Projeto , " id="BLOGGER_PHOTO_ID_5610443836148272082" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Olá, neste artigo &lt;span style="font-weight: bold;"&gt;mostrarei &lt;/span&gt;um forma bastante interessante de trabalhar com as colunas do &lt;span style="font-weight: bold;"&gt;DBGrid&lt;/span&gt;. Faremos a troca de posição das colunas usando o evento &lt;span style="font-weight: bold;"&gt;onTitleClick &lt;/span&gt;do &lt;span style="font-weight: bold;"&gt;DBGrid&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;Quando o &lt;span style="font-weight: bold;"&gt;usuário &lt;/span&gt;clicar em uma coluna esta passará a ser a primeira coluna e a primeira trocará de lugar com a coluna clicada. A primeira &lt;span style="font-weight: bold;"&gt;coluna &lt;/span&gt;poderia ser usada para filtrar e/ou ordenar a tabela e sendo a coluna 0 (zero) fica mais fácil para identificar por qual coluna nossa table está &lt;span style="font-weight: bold;"&gt;ordenada&lt;/span&gt;/filtrada.&lt;br /&gt;&lt;br /&gt;Desenhando o &lt;span style="font-weight: bold;"&gt;projeto&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;O design para este exemplo é bem compacto. Insira um &lt;span style="font-weight: bold;"&gt;TTable&lt;/span&gt;, um &lt;span style="font-weight: bold;"&gt;DataSource &lt;/span&gt;e um &lt;span style="font-weight: bold;"&gt;DBGrid&lt;/span&gt;. Altere suas &lt;span style="font-weight: bold;"&gt;propriedades &lt;/span&gt;conformes as tabelas abaixo. Sua tela deve se parecer com a &lt;span style="font-weight: bold;"&gt;Figura &lt;/span&gt;1.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;a href="http://www.codigofonte.net/dicas/delphi/205_como-trocar-a-coluna-do-dbgrid-de-lugar" target="_blank"&gt;Continue Lendo&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4684750288742513326-6046618469620362921?l=programscomputer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://programscomputer.blogspot.com/feeds/6046618469620362921/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4684750288742513326&amp;postID=6046618469620362921' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/6046618469620362921'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/6046618469620362921'/><link rel='alternate' type='text/html' href='http://programscomputer.blogspot.com/2011/05/como-trocar-coluna-do-dbgrid-de-lugar.html' title='Como trocar a coluna do DBGrid de lugar em Tempo de Execução'/><author><name>Blogado</name><uri>http://www.blogger.com/profile/00508039577491745861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-6bfwOfGPPz4/TdxM8Y3ly9I/AAAAAAAAEdc/Y2XIaBgU3jg/s72-c/20110524%2BDicas%2BDelphi.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4684750288742513326.post-7247259002548406127</id><published>2011-05-19T17:05:00.000-07:00</published><updated>2011-05-19T17:19:44.321-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Exclusão'/><category scheme='http://www.blogger.com/atom/ns#' term='Registro'/><category scheme='http://www.blogger.com/atom/ns#' term='Artigo MySql'/><category scheme='http://www.blogger.com/atom/ns#' term='Rotina'/><category scheme='http://www.blogger.com/atom/ns#' term='Codigo PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='Referencia'/><category scheme='http://www.blogger.com/atom/ns#' term='Exclusão Segura'/><title type='text'>Exclusão Segura</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/-iA4OVqQ1NYA/TdWy0xj7ISI/AAAAAAAAEbs/IiDW3jx_Gkc/s1600/20110519%2BDele%25C3%25A7%25C3%25A3o%2BSegura.png"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 200px; height: 200px;" src="http://2.bp.blogspot.com/-iA4OVqQ1NYA/TdWy0xj7ISI/AAAAAAAAEbs/IiDW3jx_Gkc/s200/20110519%2BDele%25C3%25A7%25C3%25A3o%2BSegura.png" alt="Exclusão Segura, Registro  , Exclusão, Rotina, Referencia, Artigo MySql,  Codigo PHP,  " title="Exclusão Segura, Registro  , Exclusão, Rotina, Referencia, Artigo MySql,  Codigo PHP,  " id="BLOGGER_PHOTO_ID_5608585530686775586" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Não existe nada pior do que excluir um &lt;span style="font-weight: bold;"&gt;registro &lt;/span&gt;“A” e o registro “B” perder sua &lt;span style="font-weight: bold;"&gt;referencia&lt;/span&gt;. Existem varias formas de evitar esse tipo de &lt;span style="font-weight: bold;"&gt;erro&lt;/span&gt;, nesse artigo é demonstrado  uma rotina que é capaz de analisar o registro e verificar se o mesmo está associado a outro &lt;span style="font-weight: bold;"&gt;evitando &lt;/span&gt;perder referencia.&lt;br /&gt;&lt;br /&gt;1 - Lógica&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Verificar todas as tabela do &lt;span style="font-weight: bold;"&gt;banco de dados&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Verificar se existe o campo&lt;/li&gt;&lt;li&gt;Verificar se o campo contém valor que se deseja &lt;span style="font-weight: bold;"&gt;excluir&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Se existir conta mais um e retorna &lt;span style="font-weight: bold;"&gt;false&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Se não, excluir o registro com segurança e &lt;span style="font-weight: bold;"&gt;retorna &lt;/span&gt;true&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;2 – Funções do PHP utilizadas&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Mysql_&lt;span style="font-weight: bold;"&gt;connect&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Mysql_select_db&lt;/li&gt;&lt;li style="font-weight: bold;"&gt;Mysql_num_fields&lt;/li&gt;&lt;li style="font-weight: bold;"&gt;Mysql_query&lt;/li&gt;&lt;li&gt;Mysql_fetch_row&lt;/li&gt;&lt;li&gt;Mysql_fetch_assoc&lt;/li&gt;&lt;li style="font-weight: bold;"&gt;Mysql_fetch_field&lt;/li&gt;&lt;/ul&gt;&lt;a href="http://www.revistaphp.com.br/artigo.php?id=206"&gt;Leia o Artigo Completo&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4684750288742513326-7247259002548406127?l=programscomputer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://programscomputer.blogspot.com/feeds/7247259002548406127/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4684750288742513326&amp;postID=7247259002548406127' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/7247259002548406127'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/7247259002548406127'/><link rel='alternate' type='text/html' href='http://programscomputer.blogspot.com/2011/05/exclusao-segura.html' title='Exclusão Segura'/><author><name>Blogado</name><uri>http://www.blogger.com/profile/00508039577491745861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-iA4OVqQ1NYA/TdWy0xj7ISI/AAAAAAAAEbs/IiDW3jx_Gkc/s72-c/20110519%2BDele%25C3%25A7%25C3%25A3o%2BSegura.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4684750288742513326.post-2123494394120338072</id><published>2011-05-05T05:29:00.000-07:00</published><updated>2011-05-09T17:52:29.790-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='44 Dígitos'/><category scheme='http://www.blogger.com/atom/ns#' term='Chave'/><category scheme='http://www.blogger.com/atom/ns#' term='Nota Fiscal Eletrônica'/><category scheme='http://www.blogger.com/atom/ns#' term='NF-e'/><category scheme='http://www.blogger.com/atom/ns#' term='Dicas'/><category scheme='http://www.blogger.com/atom/ns#' term='Progrmação'/><category scheme='http://www.blogger.com/atom/ns#' term='Artigo VB.net'/><title type='text'>Validação da Chave NF-e VB.Net</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/-BZevvGyG_mg/TciLM1XwM0I/AAAAAAAAEZ0/HYEBhqF-KNQ/s1600/20110509%2BNota%2BFiscal%2BEletronica.jpg"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 200px; height: 177px;" src="http://2.bp.blogspot.com/-BZevvGyG_mg/TciLM1XwM0I/AAAAAAAAEZ0/HYEBhqF-KNQ/s200/20110509%2BNota%2BFiscal%2BEletronica.jpg" alt="Artigo VB.net,  NF-e, Chave, 44 Dígitos, Nota Fiscal Eletrônica, Progrmação, Dicas  , " title="Artigo VB.net,  NF-e, Chave, 44 Dígitos, Nota Fiscal Eletrônica, Progrmação, Dicas  , " id="BLOGGER_PHOTO_ID_5604882788863980354" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;Está função mostra como efetuar o cálculo do &lt;span style="font-weight: bold;"&gt;módulo 11&lt;/span&gt; para a chave da&lt;span style="font-weight: bold;"&gt; NF-e&lt;/span&gt; composta por 44 caracteres, sendo 43 números e o  44 é dígito verificador da &lt;span style="font-weight: bold;"&gt;chave&lt;/span&gt;;&lt;br /&gt;&lt;br /&gt;Esta função ajuda ao usuário caso ele tenha que digitar a &lt;span style="font-weight: bold;"&gt;nota&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;A função pode ser chamada quando sai do &lt;span style="font-weight: bold;"&gt;campo &lt;/span&gt;chave ou antes de salvar o dado.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Primeiramente &lt;/span&gt;atribui a uma variável o valor do campo chave, removendo os espaços em branco, caso a chave seja composta da seguinte forma (DDDD DDDD DDDD ...);&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 255, 255);"&gt;Dim chave As String = &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(204, 255, 255);"&gt;TextBoxChave&lt;/span&gt;&lt;span style="color: rgb(204, 255, 255);"&gt;.Text.Replace(" ", "")&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Após verifica se a chave tem 44 caracteres, caso não tenha não é &lt;span style="font-weight: bold;"&gt;necessário  &lt;/span&gt;validar os demais campos.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 255, 255);"&gt;If Len(chave) &amp;lt;&amp;gt;  44 Then&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 255, 255);"&gt;  MsgBox("O Número da Chave da &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(204, 255, 255);"&gt;nota &lt;/span&gt;&lt;span style="color: rgb(204, 255, 255);"&gt;deve ter 44 Números! ", MsgBoxStyle.Critical)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 255, 255);"&gt;  TextBoxChave.Focus()&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 255, 255);"&gt;Exit Sub&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 255, 255);"&gt;End If&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Chamada de função que retorna (&lt;span style="font-weight: bold;"&gt;True &lt;/span&gt;ou &lt;span style="font-weight: bold;"&gt;False&lt;/span&gt;) conforme o resultado do cálculo, passando a chave por &lt;span style="font-weight: bold;"&gt;parâmetro&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 255, 255);"&gt;If Not validachavenfe(chave) Then&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 255, 255);"&gt;MsgBox("O Número da Chave da nota é inválida! ", MsgBoxStyle.Critical)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 255, 255);"&gt;TextBoxChave.Focus()&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 255, 255);"&gt;Exit Sub&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 255, 255);"&gt;End If&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Chamada da função, recebendo os 44 dígitos como parâmetro&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 255, 255);"&gt;Private Function validachavenfe(ByVal chave As String)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 255, 255);"&gt;'Pausa para explicação&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 255, 255);"&gt;'Dim Vetor(4) As Integer Define um array com 5 elementos iniciados com zero&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 255, 255);"&gt;'Dim Vetor As Integer = new Integer(4) {} Define um array com 5 elementos iniciados com zero&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 255, 255);"&gt;'Dim Vetor() As Integer = {1, 2, 3, 4, 5} Define um array com 5 elementos e atribui valores a cada elemento&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 255, 255);"&gt;'Dim Vetor As Integer = new Integer(4) { 0, 1, 2, 3, 4} Define um array com 5 elementos e atribui valores a cada elemento&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 255, 255);"&gt;'Redim Vetor(10) Redimensiona o array Vetor para 11 elementos&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 255, 255);"&gt;'ReDim Preserve Vetor(10) Redimensiona o array Vetor para 11 elementos&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Vetor que irá receber os dígitos da &lt;span style="font-weight: bold;"&gt;chave&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 255, 255);"&gt;Dim &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(204, 255, 255);"&gt;Numero&lt;/span&gt;&lt;span style="color: rgb(204, 255, 255);"&gt;(42) As Integer&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Vetor com o peso de cada um dos &lt;span style="font-weight: bold;"&gt;dígitos&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 255, 255);"&gt;Dim pesos() As Integer = {4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 255, 255);"&gt;Dim soma As Integer = 0&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 255, 255);"&gt;Dim i As Integer&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 255, 255);"&gt;Dim resultado1 As Integer&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Atribuindo ao vetor cada valor da &lt;span style="font-weight: bold;"&gt;chave &lt;/span&gt;até o indice 43.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 255, 255);"&gt;For i = 0 To &lt;/span&gt;&lt;span style="color: rgb(204, 255, 255);"&gt;Numero&lt;/span&gt;&lt;span style="color: rgb(204, 255, 255);"&gt;.Length - 1&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 255, 255);"&gt;Numero(i) = CInt(chave.Substring(i, 1))&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 255, 255);"&gt;Next&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Multiplica os valors da chave pelo seu &lt;span style="font-weight: bold;"&gt;peso &lt;/span&gt;e &lt;span style="font-weight: bold;"&gt;soma &lt;/span&gt;o resultado.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 255, 255);"&gt;For i = 0 To Numero.Length - 1&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 255, 255);"&gt;soma = soma + (Numero(i) * pesos(i))&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 255, 255);"&gt;Next&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Efetua o resto da divisão&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 255, 255);"&gt;soma = soma - (11 * (Int(soma / 11)))&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Como regra da &lt;span style="font-weight: bold;"&gt;validação &lt;/span&gt;se o resultado for 0 ou 1 o digito verificador tem que ser igual a 0&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 255, 255);"&gt;If soma = 0 Or soma = 1 Then&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 255, 255);"&gt;resultado1 = 0&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 255, 255);"&gt;Else&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 255, 255);"&gt;Se for maior que 1 tem que &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(204, 255, 255);"&gt;diminuir &lt;/span&gt;&lt;span style="color: rgb(204, 255, 255);"&gt;de 11;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 255, 255);"&gt;resultado1 = 11 - soma&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 255, 255);"&gt;End If&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Verifica se o &lt;span style="font-weight: bold;"&gt;resultado &lt;/span&gt;é igual ao ultimo &lt;span style="font-weight: bold;"&gt;digito &lt;/span&gt;e &lt;span style="font-weight: bold;"&gt;retorna &lt;/span&gt;true ou false&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 255, 255);"&gt;If resultado1 = CInt(chave.Substring(43, 1)) Then&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 255, 255);"&gt;Return True&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 255, 255);"&gt;Else&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 255, 255);"&gt;Return False&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 255, 255);"&gt;End If&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 255, 255);"&gt;'Fim da Função&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 255, 255);"&gt;End Function &lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4684750288742513326-2123494394120338072?l=programscomputer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://programscomputer.blogspot.com/feeds/2123494394120338072/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4684750288742513326&amp;postID=2123494394120338072' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/2123494394120338072'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/2123494394120338072'/><link rel='alternate' type='text/html' href='http://programscomputer.blogspot.com/2011/05/validacao-da-chave-nf-e-vbnet.html' title='Validação da Chave NF-e VB.Net'/><author><name>Blogado</name><uri>http://www.blogger.com/profile/00508039577491745861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-BZevvGyG_mg/TciLM1XwM0I/AAAAAAAAEZ0/HYEBhqF-KNQ/s72-c/20110509%2BNota%2BFiscal%2BEletronica.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4684750288742513326.post-9037657660578282253</id><published>2011-05-02T16:38:00.000-07:00</published><updated>2011-05-02T16:48:03.158-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Manutenção do Banco'/><category scheme='http://www.blogger.com/atom/ns#' term='Firebird'/><category scheme='http://www.blogger.com/atom/ns#' term='Domains'/><category scheme='http://www.blogger.com/atom/ns#' term='Interbase'/><category scheme='http://www.blogger.com/atom/ns#' term='Banco de Dados'/><category scheme='http://www.blogger.com/atom/ns#' term='Dominios'/><title type='text'>Criar e usar domínios (domain's)</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/-ZaRNbafuuMc/Tb9BeajtmOI/AAAAAAAAEYc/-AYNiIekqyk/s1600/20110502%2BFirebird.gif"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 200px; height: 200px;" src="http://4.bp.blogspot.com/-ZaRNbafuuMc/Tb9BeajtmOI/AAAAAAAAEYc/-AYNiIekqyk/s200/20110502%2BFirebird.gif" alt="Interbase , Firebird  , Domains, Dominios, Banco de Dados  , Manutenção do Banco" title="Interbase , Firebird  , Domains, Dominios, Banco de Dados  , Manutenção do Banco" id="BLOGGER_PHOTO_ID_5602268452253178082" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;No &lt;span style="font-weight: bold;"&gt;InterBase &lt;/span&gt;e &lt;span style="font-weight: bold;"&gt;FireBird &lt;/span&gt;domínios são como tipos de dados. Tais domínios têm grande semelhança com o conceito de &lt;span style="font-weight: bold;"&gt;domínio &lt;/span&gt;aplicado à matemática, ou seja, um domínio define um conjunto de valores válidos para uma dada situação.&lt;br /&gt;&lt;br /&gt;Podemos criar qualquer &lt;span style="font-weight: bold;"&gt;banco &lt;/span&gt;de dados sem fazer uso explícito de domínios. No entanto usar domínios &lt;span style="font-weight: bold;"&gt;explicitamente &lt;/span&gt;pode deixar o banco de dados mais organizado, com regras claras e bem definidas, e ainda conseguir uma economia substancial de mão de obra na construção e manutenção do &lt;span style="font-weight: bold;"&gt;banco&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;Para demonstrar a utilidade dos domínios, vamos criar dois exemplos.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.tecnobyte.com.br/dica9.html"&gt;Continue Lendos...&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4684750288742513326-9037657660578282253?l=programscomputer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://programscomputer.blogspot.com/feeds/9037657660578282253/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4684750288742513326&amp;postID=9037657660578282253' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/9037657660578282253'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/9037657660578282253'/><link rel='alternate' type='text/html' href='http://programscomputer.blogspot.com/2011/05/criar-e-usar-dominios-domains.html' title='Criar e usar domínios (domain&apos;s)'/><author><name>Blogado</name><uri>http://www.blogger.com/profile/00508039577491745861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-ZaRNbafuuMc/Tb9BeajtmOI/AAAAAAAAEYc/-AYNiIekqyk/s72-c/20110502%2BFirebird.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4684750288742513326.post-9163237684454313730</id><published>2011-03-31T14:27:00.000-07:00</published><updated>2011-03-31T16:25:48.301-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='VB.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='Banco'/><category scheme='http://www.blogger.com/atom/ns#' term='Comando SQL'/><category scheme='http://www.blogger.com/atom/ns#' term='Variável'/><category scheme='http://www.blogger.com/atom/ns#' term='Conexão'/><category scheme='http://www.blogger.com/atom/ns#' term='SqlCeCommand'/><category scheme='http://www.blogger.com/atom/ns#' term='Read'/><category scheme='http://www.blogger.com/atom/ns#' term='Compact Framework'/><title type='text'>Executando um Comando SQL em VB.NET - Compact Framework</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/-bwuTddtXxPE/TZUKw4-E8cI/AAAAAAAAEVU/UZaYWmaDD-k/s1600/20110331%2BCompact%2BFramework.png"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 144px; height: 200px;" src="http://3.bp.blogspot.com/-bwuTddtXxPE/TZUKw4-E8cI/AAAAAAAAEVU/UZaYWmaDD-k/s200/20110331%2BCompact%2BFramework.png" alt="Banco  , Variável,  Comando SQL, Conexão,  Read, SqlCeCommand, Compact Framework,  VB.NET" title="Banco  , Variável,  Comando SQL, Conexão,  Read, SqlCeCommand, Compact Framework,  VB.NET" id="BLOGGER_PHOTO_ID_5590386347493093826" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Como executar um comando SQL em VB.NET Compact Framework&lt;br /&gt;&lt;br /&gt;Primeiro passo é incluiar a biblioteca&lt;br /&gt;&lt;ul style="color: rgb(0, 0, 153);"&gt;&lt;li&gt;Imports System.Data.SqlServerCe&lt;/li&gt;&lt;/ul&gt;Após dentro do procedimento que deseja executar o comando SQL;    &lt;br /&gt;&lt;br /&gt;Declare uma variável responsável pelo caminho do BANCO;&lt;br /&gt;&lt;br /&gt;&lt;ul style="color: rgb(0, 0, 153);"&gt;&lt;li&gt;            Dim dir As String = ""&lt;/li&gt;&lt;/ul&gt;Inicia a variável com o caminho onde esta o banco (neste caso o banco esta no mesmo diretório que a aplicação)&lt;br /&gt;&lt;ul style="color: rgb(0, 0, 153);"&gt;&lt;li&gt;dir = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase)&lt;/li&gt;&lt;/ul&gt;Declare a variável de conexão com o banco, com o caminho completo;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;            &lt;span style="color: rgb(0, 0, 153);"&gt;Dim string_conexao As String = "Persist Security Info=False; datasource=" &amp;amp; dir &amp;amp; "\NomeDoBanco.sdf"&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;Declare a variável responsável por abrir e fechar a conexão com o Banco;&lt;br /&gt;&lt;ul style="color: rgb(0, 0, 153);"&gt;&lt;li&gt;Dim conexao_db As New SqlCeConnection(string_conexao)&lt;/li&gt;&lt;/ul&gt;Abra a conexão&lt;br /&gt;&lt;ul style="color: rgb(0, 0, 153);"&gt;&lt;li&gt;conexao_db.Open()&lt;/li&gt;&lt;/ul&gt;Declare a variável responsável por receber o comando SQL;&lt;br /&gt;&lt;ul style="color: rgb(0, 0, 153);"&gt;&lt;li&gt;            Dim Sql As String = ""&lt;/li&gt;&lt;/ul&gt;Abra um bloco try para executar o comando SQL;&lt;span style="color: rgb(0, 0, 153);"&gt;&lt;br /&gt;&lt;/span&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;Try&lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;Inicie a variável com o comando SQL desejável;&lt;br /&gt;&lt;ul style="color: rgb(0, 0, 153);"&gt;&lt;li&gt;Sql = "SELECT campo1 FROM tabela"&lt;/li&gt;&lt;/ul&gt;Declare a variável que fará a execução do comando;&lt;br /&gt;&lt;ul style="color: rgb(0, 0, 153);"&gt;&lt;li&gt;Dim comando_sql As New SqlCeCommand(Sql.ToString, conexao_db)&lt;/li&gt;&lt;/ul&gt;Execute o comando de leitura e guarde em uma variável resutado&lt;br /&gt;&lt;ul style="color: rgb(0, 0, 153);"&gt;&lt;li&gt;Dim resultado As SqlCeDataReader = comando_sql.ExecuteReader()&lt;/li&gt;&lt;/ul&gt;Execute a leitura do resultado do SQL;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;While resultado.Read()&lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;Declare auma variável que receberá o resultado do campo;&lt;br /&gt;&lt;ul style="color: rgb(0, 0, 153);"&gt;&lt;li&gt;Dim campo As Integer = 0&lt;/li&gt;&lt;/ul&gt;Atribua ao campo o valor do resultado ( verifique o indice, e o tipo do campo do banco de dados  que dever o mesmo da variável que irá receber )&lt;br /&gt;&lt;ul style="color: rgb(0, 0, 153);"&gt;&lt;li&gt;campo = resultado.GetValue(0)&lt;/li&gt;&lt;/ul&gt;Finaliza o laço de leitura&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;End While&lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;Finaliza o bloco try        &lt;br /&gt;&lt;ul&gt;&lt;li&gt;            &lt;span style="color: rgb(0, 0, 153);"&gt;Catch ex As Exception&lt;/span&gt;&lt;/li&gt;&lt;li style="color: rgb(0, 0, 153);"&gt;MsgBox("Erro ao executar o comando! " + ex.Message, MsgBoxStyle.Critical, "Erro")&lt;/li&gt;&lt;li&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;End Try&lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;Finaliza a conexão com o banco&lt;br /&gt;&lt;ul&gt;&lt;li&gt;            &lt;span style="color: rgb(0, 0, 153);"&gt;conexao_db.Close()&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Com esse passo a passo é possivel executar qualquer comando SQL e jogar os valores nas variáveis;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4684750288742513326-9163237684454313730?l=programscomputer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://programscomputer.blogspot.com/feeds/9163237684454313730/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4684750288742513326&amp;postID=9163237684454313730' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/9163237684454313730'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/9163237684454313730'/><link rel='alternate' type='text/html' href='http://programscomputer.blogspot.com/2011/03/executando-um-comando-sql-em-vbnet.html' title='Executando um Comando SQL em VB.NET - Compact Framework'/><author><name>Blogado</name><uri>http://www.blogger.com/profile/00508039577491745861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-bwuTddtXxPE/TZUKw4-E8cI/AAAAAAAAEVU/UZaYWmaDD-k/s72-c/20110331%2BCompact%2BFramework.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4684750288742513326.post-7693561864155034277</id><published>2011-02-21T17:22:00.000-08:00</published><updated>2011-02-21T17:30:34.429-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Insert'/><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='Orientado a Objetos'/><category scheme='http://www.blogger.com/atom/ns#' term='Conexão'/><category scheme='http://www.blogger.com/atom/ns#' term='Oracle'/><category scheme='http://www.blogger.com/atom/ns#' term='Dados'/><category scheme='http://www.blogger.com/atom/ns#' term='Update'/><category scheme='http://www.blogger.com/atom/ns#' term='Select'/><title type='text'>PHP + Oracle</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/-4JcliP1HjsE/TWMQwAb79lI/AAAAAAAAESY/W1xej1N-vpM/s1600/20110221%2BOracle-PHP.jpg"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 200px; height: 155px;" src="http://1.bp.blogspot.com/-4JcliP1HjsE/TWMQwAb79lI/AAAAAAAAESY/W1xej1N-vpM/s200/20110221%2BOracle-PHP.jpg" alt="Oracle  , PHP  , Select,  Insert,  Update,  Conexão  , Orientado a Objetos,  Dados" title="Oracle  , PHP  , Select,  Insert,  Update,  Conexão  , Orientado a Objetos,  Dados" id="BLOGGER_PHOTO_ID_5576319180551747154" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Procurando na &lt;span style="font-weight: bold;"&gt;net &lt;/span&gt;e tentando resolve um &lt;span style="font-weight: bold;"&gt;problema &lt;/span&gt;que tive na empresa achei um artigo muito interessante para utilizar &lt;span style="font-weight: bold;"&gt;Oracle &lt;/span&gt;e &lt;span style="font-weight: bold;"&gt;PHP&lt;/span&gt;. Segue o artigo da revista PHP:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Devido à enorme dificuldade que eu tive pra conseguir fazer um sistema de validação de &lt;span style="font-weight: bold;"&gt;XML&lt;/span&gt; pra atender as regras da ANS, e gravar &lt;span style="font-weight: bold;"&gt;LOG &lt;/span&gt;dessas informações no Oracle utilizando &lt;span style="font-weight: bold;"&gt;PHP&lt;/span&gt; resolvi tentar ajudar outra pessoas, que por vezes desistiram de utilizar o &lt;span style="font-weight: bold;"&gt;Oracle &lt;/span&gt;ou também tem dificuldades.&lt;br /&gt;&lt;br /&gt;Antes de entrar nos detalhes da classe de conexão com o &lt;span style="font-weight: bold;"&gt;BD Oracle&lt;/span&gt;, gostaria de agradecer ao colega &lt;span style="font-weight: bold;"&gt;Carlos Silva&lt;/span&gt;, que publicou um artigo aqui mesmo na Revista PHP sobre:&lt;br /&gt;&lt;br /&gt;Configurando o PHP para usar com o &lt;span style="font-weight: bold;"&gt;Oracle &lt;/span&gt;- http://www.revistaphp.com.br/artigo.php?id=1&lt;br /&gt;&lt;br /&gt;Bem, o primeiro passo foi configurar o PHP para acessar o Oracle, feito isto a próxima pergunta é... como conecto no banco para fazer minhas consultas?&lt;br /&gt;&lt;br /&gt;Para isto eu achei um artigo muito legal do Emerson Plácido, http://forum.imasters.uol.com.br/index.php?showtopic=276521, e fiz as minhas &lt;span style="font-weight: bold;"&gt;adaptações &lt;/span&gt;para o meu sistema.&lt;br /&gt;&lt;br /&gt;Muitas pessoas costumas fazer um único método para o &lt;span style="font-weight: bold;"&gt;SELECT &lt;/span&gt;e um para &lt;span style="font-weight: bold;"&gt;UPDATE&lt;/span&gt;, &lt;span style="font-weight: bold;"&gt;DELETE&lt;/span&gt; e INSERT, entretanto eu prefiro criar um método para cada um deles. Pois em alguns casos é interessante ter variáveis já predefinias para cada um deles.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;a href="http://www.revistaphp.com.br/artigo.php?id=221"&gt;Veja o Artigo na Integra&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4684750288742513326-7693561864155034277?l=programscomputer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://programscomputer.blogspot.com/feeds/7693561864155034277/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4684750288742513326&amp;postID=7693561864155034277' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/7693561864155034277'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/7693561864155034277'/><link rel='alternate' type='text/html' href='http://programscomputer.blogspot.com/2011/02/php-oracle.html' title='PHP + Oracle'/><author><name>Blogado</name><uri>http://www.blogger.com/profile/00508039577491745861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-4JcliP1HjsE/TWMQwAb79lI/AAAAAAAAESY/W1xej1N-vpM/s72-c/20110221%2BOracle-PHP.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4684750288742513326.post-3335586708682384023</id><published>2010-12-22T16:36:00.000-08:00</published><updated>2010-12-22T17:24:09.058-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Macetes'/><category scheme='http://www.blogger.com/atom/ns#' term='DataGridView'/><category scheme='http://www.blogger.com/atom/ns#' term='Programação Vb.Net'/><category scheme='http://www.blogger.com/atom/ns#' term='Artigo de VB.Net'/><category scheme='http://www.blogger.com/atom/ns#' term='Dicas'/><title type='text'>DataGridView – Actualização imediata após selecção na ComboBox</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_6UXYawCQWIo/TRKkGoAqBAI/AAAAAAAAEOk/jt3Me2c8zTg/s1600/20101222%2BDataGridView%2BVB.NET.jpg"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 200px; height: 156px;" src="http://1.bp.blogspot.com/_6UXYawCQWIo/TRKkGoAqBAI/AAAAAAAAEOk/jt3Me2c8zTg/s200/20101222%2BDataGridView%2BVB.NET.jpg" alt="DataGridView,  Dicas  , Artigo de VB.Net,  Programação Vb.Net,  Macetes,  " title="DataGridView,  Dicas  , Artigo de VB.Net,  Programação Vb.Net,  Macetes,  " id="BLOGGER_PHOTO_ID_5553681724227585026" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;O controle &lt;span style="font-weight: bold;"&gt;DataGridView &lt;/span&gt;permite definir diversos tipos para as suas células, além de se poder inserir novos &lt;span style="font-weight: bold;"&gt;controles &lt;/span&gt;nas células. A &lt;span style="font-weight: bold;"&gt;DataGridViewComboBoxCell &lt;/span&gt;é um desses tipos e permite ao utilizador efetuar um diverso número de escolhas para cada registo.&lt;br /&gt;&lt;br /&gt;Para detectar uma alteração é necessário utilizar o evento &lt;span style="font-weight: bold;"&gt;EditingControlShowing &lt;/span&gt;em conjunto com a &lt;span style="font-weight: bold;"&gt; DataGridViewComboBoxEditingControl &lt;/span&gt;(que representa a ComboBox alojada na célula). Sem a utilização deste evento é possível também detectar o valor através do evento &lt;span style="font-weight: bold;"&gt;CellValueChanged &lt;/span&gt;mas para isso é necessário mudar de célula para que o evento seja disparado.&lt;br /&gt;&lt;br /&gt;&lt;a style="font-weight: bold;" href="http://vbtuga.blogspot.com/2008/06/vbnet-dicas-de-programao-5.html"&gt;Leia Mais&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4684750288742513326-3335586708682384023?l=programscomputer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://programscomputer.blogspot.com/feeds/3335586708682384023/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4684750288742513326&amp;postID=3335586708682384023' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/3335586708682384023'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/3335586708682384023'/><link rel='alternate' type='text/html' href='http://programscomputer.blogspot.com/2010/12/datagridview-actualizacao-imediata-apos.html' title='DataGridView – Actualização imediata após selecção na ComboBox'/><author><name>Blogado</name><uri>http://www.blogger.com/profile/00508039577491745861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_6UXYawCQWIo/TRKkGoAqBAI/AAAAAAAAEOk/jt3Me2c8zTg/s72-c/20101222%2BDataGridView%2BVB.NET.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4684750288742513326.post-5863744052931455631</id><published>2010-11-24T14:50:00.000-08:00</published><updated>2010-11-24T17:15:31.557-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='Programação'/><category scheme='http://www.blogger.com/atom/ns#' term='framework'/><category scheme='http://www.blogger.com/atom/ns#' term='Android'/><category scheme='http://www.blogger.com/atom/ns#' term='Dicas'/><category scheme='http://www.blogger.com/atom/ns#' term='Google App Inventor'/><title type='text'>Desenvolvimento de aplicativos para Android em PHP</title><content type='html'>&lt;a href="http://3.bp.blogspot.com/_6UXYawCQWIo/TO24jsEpOwI/AAAAAAAAEMs/Qmv_khQzMic/s1600/20101124%2Bandroid-logo.png"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 200px; DISPLAY: block; HEIGHT: 150px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5543289639628520194" border="0" alt="Android, Dicas, framework, Google App Inventor, PHP, Programação" title="Android, Dicas, framework, Google App Inventor, PHP, Programação" src="http://3.bp.blogspot.com/_6UXYawCQWIo/TO24jsEpOwI/AAAAAAAAEMs/Qmv_khQzMic/s200/20101124%2Bandroid-logo.png" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;A turma do &lt;strong&gt;PHP&lt;/strong&gt; resolveu também resolveu entrar no mercado de aplicativos Androis, após o anuncio do &lt;strong&gt;Google&lt;/strong&gt; sobre o &lt;strong&gt;“Google App Inventor”&lt;/strong&gt; que permitirá que qualquer pessoa desenvolva mesmo sem saber programar.&lt;br /&gt;&lt;br /&gt;Eles desenvolveram uma nova extensão que permite criar aplicativos para esse sistema operacional utilizando &lt;strong&gt;PHP&lt;/strong&gt;. Ele utiliza &lt;strong&gt;Scripting&lt;/strong&gt; Layer for &lt;strong&gt;Android&lt;/strong&gt; (SL4A), anteriormente conhecido como Android &lt;strong&gt;Scripting&lt;/strong&gt; Environment. O SL4A permite acesso às funções de aparelhos com Android, como por exemplo, o módulo Bluetooth e objetos GUI.&lt;br /&gt;&lt;br /&gt;Além disso, ele fornece ainda um ambiente de programação no próprio aparelho. Vejam no vídeo abaixo como fazer a instalação dos pacotes necessários e alguns exemplos de programação.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;p align="center"&gt;&lt;br /&gt;&lt;br /&gt;&lt;object width="400" height="693"&gt;&lt;param name="allowfullscreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=13177370&amp;amp;server=vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=1&amp;amp;color=&amp;amp;fullscreen=1&amp;amp;autoplay=0&amp;amp;loop=0"&gt;&lt;br /&gt;&lt;br /&gt;&lt;embed src="http://vimeo.com/moogaloop.swf?clip_id=13177370&amp;amp;server=vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=1&amp;amp;color=&amp;amp;fullscreen=1&amp;amp;autoplay=0&amp;amp;loop=0" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="400" height="693"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://vimeo.com/13177370"&gt;PHPforAndroid.apk HOWTO install and test&lt;/a&gt; from &lt;a href="http://vimeo.com/irontec"&gt;irontec&lt;/a&gt; on &lt;a href="http://vimeo.com/"&gt;Vimeo&lt;/a&gt;.&lt;/p&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4684750288742513326-5863744052931455631?l=programscomputer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://programscomputer.blogspot.com/feeds/5863744052931455631/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4684750288742513326&amp;postID=5863744052931455631' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/5863744052931455631'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/5863744052931455631'/><link rel='alternate' type='text/html' href='http://programscomputer.blogspot.com/2010/11/desenvolvimento-de-aplicativos-para.html' title='Desenvolvimento de aplicativos para Android em PHP'/><author><name>Blogado</name><uri>http://www.blogger.com/profile/00508039577491745861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_6UXYawCQWIo/TO24jsEpOwI/AAAAAAAAEMs/Qmv_khQzMic/s72-c/20101124%2Bandroid-logo.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4684750288742513326.post-5683286536240532501</id><published>2010-10-20T15:28:00.000-07:00</published><updated>2010-10-20T15:48:46.068-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='framework'/><category scheme='http://www.blogger.com/atom/ns#' term='Dicas'/><category scheme='http://www.blogger.com/atom/ns#' term='WordPress'/><title type='text'>10 novas dicas para WordPress</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_6UXYawCQWIo/TL9xfM_p5lI/AAAAAAAAEFs/6MLAw5iSkZI/s1600/20101020+Word+Press.png"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 200px; height: 178px;" src="http://3.bp.blogspot.com/_6UXYawCQWIo/TL9xfM_p5lI/AAAAAAAAEFs/6MLAw5iSkZI/s200/20101020+Word+Press.png" alt="Dicas,  Word Press,  PHP  , Framework" title="Dicas,  Word Press,  PHP  , Framework" id="BLOGGER_PHOTO_ID_5530263648312354386" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;1. Remova a auto-linkagem nos comentários&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Se alguém deixar um comentário em seu blog com um &lt;span style="font-weight: bold;"&gt;URL&lt;/span&gt;, esse URL será automaticamente transformado num link pelo &lt;span style="font-weight: bold;"&gt;WordPress&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;2. Notifique seus usuários de novas postagens&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Se você estiver em um blog privado em &lt;span style="font-weight: bold;"&gt;WordPress&lt;/span&gt;, talvez seja interessante notificar seus &lt;span style="font-weight: bold;"&gt;usuários &lt;/span&gt;quando você publicar um novo conteúdo.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;3. Datas em formato Twitter&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Mostrar as suas datas num formato "há 5 dias" está se tornando muito popular nos blogs graças ao Twitter.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;4. Mostrar thumbnails (miniaturas) nos RSS feeds&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Introduzida no WordPress 2.9, a funcionalidade the_post_thumbnail() é muito útil para mostrar uma imagem de &lt;span style="font-weight: bold;"&gt;thumbnail &lt;/span&gt;(miniatura) anexada às suas postagens.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;5. Bloqueie pedidos externos&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Originalmente, o WordPress faz &lt;span style="font-weight: bold;"&gt;pedidos &lt;/span&gt;externos para indicar a certos serviços que o seu blog está atualizado e também para carregar as informações do WordPress news que são mostradas no seu painel de controle.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;6. Modo debug fácil&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Quando as coisas correm mal, você pode sempre recorrer à super útil ferramenta de debug do WordPress, WP_&lt;span style="font-weight: bold;"&gt;DEBUG&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;&lt;a style="font-weight: bold;" href="http://www.imasters.com.br/artigo/18491/wordpress/10_novas_dicas_truques_e_hacks_para_wordpress/"&gt;Leia Mais e Na Integra&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4684750288742513326-5683286536240532501?l=programscomputer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://programscomputer.blogspot.com/feeds/5683286536240532501/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4684750288742513326&amp;postID=5683286536240532501' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/5683286536240532501'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/5683286536240532501'/><link rel='alternate' type='text/html' href='http://programscomputer.blogspot.com/2010/10/10-novas-dicas-para-wordpress.html' title='10 novas dicas para WordPress'/><author><name>Blogado</name><uri>http://www.blogger.com/profile/00508039577491745861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_6UXYawCQWIo/TL9xfM_p5lI/AAAAAAAAEFs/6MLAw5iSkZI/s72-c/20101020+Word+Press.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4684750288742513326.post-8426654825686684827</id><published>2010-10-04T16:09:00.000-07:00</published><updated>2010-10-04T16:31:30.022-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Base de Dados'/><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='MVC'/><category scheme='http://www.blogger.com/atom/ns#' term='Desenvolvimento'/><category scheme='http://www.blogger.com/atom/ns#' term='Rápido'/><category scheme='http://www.blogger.com/atom/ns#' term='OPP'/><title type='text'>Framework CakePHP</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_6UXYawCQWIo/TKpieTsAASI/AAAAAAAAEDM/RpkJZHNhKXU/s1600/20101004+CakePHP.gif"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 170px; height: 170px;" src="http://2.bp.blogspot.com/_6UXYawCQWIo/TKpieTsAASI/AAAAAAAAEDM/RpkJZHNhKXU/s200/20101004+CakePHP.gif" alt="Desenvolvimento,  Rápido, MVC, Base de Dados, PHP  , OPP" title="Desenvolvimento,  Rápido, MVC, Base de Dados, PHP  , OPP" id="BLOGGER_PHOTO_ID_5524336165743755554" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;CakePHP é um framework de &lt;span style="font-weight: bold;"&gt;desenvolvimento rápido para PHP&lt;/span&gt; que fornece uma arquitetura extensível para desenvolvimento, manutenção, e distribuição de aplicações. Usando design patterns conhecidos como&lt;span style="font-weight: bold;"&gt; MVC  e ORM&lt;/span&gt;  com convenção sobre o paradigma da configuração, reduz o custo do desenvolvimento e ajuda os desenvolvedores a escreverem menos código.&lt;br /&gt;&lt;br /&gt;Caracteristicas&lt;br /&gt;  *  Sem &lt;span style="font-weight: bold;"&gt;Configuração &lt;/span&gt;- Inicie a base de dados e deixe a mágica começar&lt;br /&gt;  * Extremamente &lt;span style="font-weight: bold;"&gt;Simples &lt;/span&gt;- Apenas olhe o nome...It's &lt;span style="font-weight: bold;"&gt;Cake&lt;/span&gt;&lt;br /&gt;  * Comunidade Ativa e &lt;span style="font-weight: bold;"&gt;Amigável &lt;/span&gt;- Participe do canal #cakephp no IRC.&lt;br /&gt;  * Licença Flexível - Distribuído sob licença MIT&lt;br /&gt;  * &lt;span style="font-weight: bold;"&gt;Clean &lt;/span&gt;IP - Cada linha de código foi escrita pela equipe de desenvolvimento do CakePHP&lt;br /&gt;  * Melhores &lt;span style="font-weight: bold;"&gt;Práticas &lt;/span&gt;- covering security, autenticação, and session handling, entre outras características.&lt;br /&gt;  * &lt;span style="font-weight: bold;"&gt;OO &lt;/span&gt;- Se você é programador experiente em OOP ou um iniciante, se sentirá confortável&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.cakephp.com.br/"&gt;Site em português do Framework (Clique Aqui)&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4684750288742513326-8426654825686684827?l=programscomputer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://programscomputer.blogspot.com/feeds/8426654825686684827/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4684750288742513326&amp;postID=8426654825686684827' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/8426654825686684827'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/8426654825686684827'/><link rel='alternate' type='text/html' href='http://programscomputer.blogspot.com/2010/10/framework-cakephp.html' title='Framework CakePHP'/><author><name>Blogado</name><uri>http://www.blogger.com/profile/00508039577491745861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_6UXYawCQWIo/TKpieTsAASI/AAAAAAAAEDM/RpkJZHNhKXU/s72-c/20101004+CakePHP.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4684750288742513326.post-9118038113373455267</id><published>2010-09-20T15:19:00.000-07:00</published><updated>2010-09-20T17:18:06.895-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Delphi'/><category scheme='http://www.blogger.com/atom/ns#' term='Sizeof()'/><category scheme='http://www.blogger.com/atom/ns#' term='Registro do Windows'/><category scheme='http://www.blogger.com/atom/ns#' term='Imagens'/><category scheme='http://www.blogger.com/atom/ns#' term='Dicas'/><title type='text'>Ler e escrever dados binários no Registro do Windows</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_6UXYawCQWIo/TJf5e-jderI/AAAAAAAAEBM/IcpVL3grP9U/s1600/20100920+Windows+XP.jpg"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 200px; height: 132px;" src="http://2.bp.blogspot.com/_6UXYawCQWIo/TJf5e-jderI/AAAAAAAAEBM/IcpVL3grP9U/s200/20100920+Windows+XP.jpg" alt="Registro do Windows,  Sizeof(), Imagens,  Dicas  , Delphi  , " title="Registro do Windows,  Sizeof(), Imagens,  Dicas  , Delphi  , " id="BLOGGER_PHOTO_ID_5519154178948954802" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Qualquer tipo de dado pode ser gravado e lido de forma binária no &lt;span style="font-weight: bold;"&gt; registro &lt;/span&gt;do &lt;span style="font-weight: bold;"&gt;Windows&lt;/span&gt;. Para isto você precisa saber o tamanho do dado.  Para dados de tamanho fixo, use &lt;span style="font-weight: bold;"&gt;SizeOf&lt;/span&gt;(). Lembrete: não &lt;span style="font-weight: bold;"&gt;grave &lt;/span&gt;dados  muito extensos no Registro do Windows (ex: imagens), pois isto  prejudicará o desempenho do &lt;span style="font-weight: bold;"&gt;sistema&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;Inclua na seção uses: &lt;span style="font-weight: bold;"&gt;Registry&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Coloque no &lt;span style="font-weight: bold;"&gt;Form&lt;/span&gt;:&lt;br /&gt;- três edits;&lt;br /&gt;- dois botões.&lt;br /&gt;&lt;br /&gt;Logo abaixo da palavra implementation &lt;span style="font-weight: bold;"&gt;declare&lt;/span&gt;:&lt;br /&gt;&lt;br /&gt;type&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.tecnobyte.com.br/dica8.html#dica145"&gt;Leis na Integra&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4684750288742513326-9118038113373455267?l=programscomputer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://programscomputer.blogspot.com/feeds/9118038113373455267/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4684750288742513326&amp;postID=9118038113373455267' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/9118038113373455267'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/9118038113373455267'/><link rel='alternate' type='text/html' href='http://programscomputer.blogspot.com/2010/09/ler-e-escrever-dados-binarios-no.html' title='Ler e escrever dados binários no Registro do Windows'/><author><name>Blogado</name><uri>http://www.blogger.com/profile/00508039577491745861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_6UXYawCQWIo/TJf5e-jderI/AAAAAAAAEBM/IcpVL3grP9U/s72-c/20100920+Windows+XP.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4684750288742513326.post-6670663294459564001</id><published>2010-09-12T17:37:00.000-07:00</published><updated>2010-09-12T18:19:59.284-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MySQL'/><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='Instantclient'/><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><category scheme='http://www.blogger.com/atom/ns#' term='Banco de Dados'/><category scheme='http://www.blogger.com/atom/ns#' term='Conf'/><category scheme='http://www.blogger.com/atom/ns#' term='Artigo'/><category scheme='http://www.blogger.com/atom/ns#' term='apache'/><title type='text'>Configurando PHP para conectar ao Oracle</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_6UXYawCQWIo/TI13Bi5FuCI/AAAAAAAAD-0/-jjm8egpACM/s1600/20100912+Oracle.jpg"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 200px; height: 150px;" src="http://3.bp.blogspot.com/_6UXYawCQWIo/TI13Bi5FuCI/AAAAAAAAD-0/-jjm8egpACM/s200/20100912+Oracle.jpg" alt="Banco de dados, Instantclient, Artigo,  Windows  , MySql  , Apache , Conf  , PHP" title="Banco de dados, Instantclient, Artigo,  Windows  , MySql  , Apache , Conf  , PHP" id="BLOGGER_PHOTO_ID_5516195987028555810" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;O principal problema que percebi ao tentar instalar este conjunto foi que o &lt;span style="font-weight: bold;"&gt;Apache &lt;/span&gt;tem algum problema com a procura dos elementos no &lt;span style="font-weight: bold;"&gt;PATH &lt;/span&gt;do &lt;span style="font-weight: bold;"&gt;Windows&lt;/span&gt;. Mesmo após colocar os caminhos corretamente no PATH ele não encontra algumas dlls necessárias para o correto funcionamento das conexões PHP-&gt;&lt;span style="font-weight: bold;"&gt;Oracle &lt;/span&gt;e mesmo PHP-&gt;&lt;span style="font-weight: bold;"&gt;MySQL&lt;/span&gt;. Por isso entendi que a ordem de instalação das coisas faz muita &lt;span style="font-weight: bold;"&gt;diferença&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;Se você já tem o &lt;span style="font-weight: bold;"&gt;Apache&lt;/span&gt;+&lt;span style="font-weight: bold;"&gt;PHP &lt;/span&gt;instalado e configurado corretamente pode ser necessário desinstalá-los (não é obrigatório) e portanto e caso o faça, não esqueça de fazer backup dos seus arquivos de configuração tanto do Apache (&lt;span style="font-weight: bold;"&gt;conf&lt;/span&gt;/*/*.conf, principalmente seu httpd.conf) quanto do PHP (&lt;span style="font-weight: bold;"&gt;php&lt;/span&gt;.ini).&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.phpbrasil.com/artigo/G7S4fXCsFrK/howto-configurando-php-para-conectar-ao-oracle"&gt;Leia Mais Neste Artigo&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4684750288742513326-6670663294459564001?l=programscomputer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://programscomputer.blogspot.com/feeds/6670663294459564001/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4684750288742513326&amp;postID=6670663294459564001' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/6670663294459564001'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/6670663294459564001'/><link rel='alternate' type='text/html' href='http://programscomputer.blogspot.com/2010/09/configurando-php-para-conectar-ao.html' title='Configurando PHP para conectar ao Oracle'/><author><name>Blogado</name><uri>http://www.blogger.com/profile/00508039577491745861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_6UXYawCQWIo/TI13Bi5FuCI/AAAAAAAAD-0/-jjm8egpACM/s72-c/20100912+Oracle.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4684750288742513326.post-2535204858442715531</id><published>2010-09-02T16:42:00.000-07:00</published><updated>2010-09-02T17:41:06.628-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='IDE'/><category scheme='http://www.blogger.com/atom/ns#' term='Melhorias'/><category scheme='http://www.blogger.com/atom/ns#' term='Visual Studio .NET'/><category scheme='http://www.blogger.com/atom/ns#' term='Produtividade'/><title type='text'>Criando códigos melhores com o Visual Studio 2010</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_6UXYawCQWIo/TIBDo3X3LgI/AAAAAAAAD8s/u3gpdvwPgVI/s1600/20100902+Visual+Studio+2010.jpg"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 200px; height: 138px;" src="http://1.bp.blogspot.com/_6UXYawCQWIo/TIBDo3X3LgI/AAAAAAAAD8s/u3gpdvwPgVI/s200/20100902+Visual+Studio+2010.jpg" alt="Visual Studio .NET,   Melhorias,  Produtividade,  IDE" title="Visual Studio .NET,   Melhorias,  Produtividade,  IDE" id="BLOGGER_PHOTO_ID_5512480313239350786" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Conforme o desenvolvimento de software abrange cenários cada vez mais complexos, muitas vezes os desenvolvedores se sentem pressionados para serem mais produtivos. O &lt;span style="font-weight: bold;"&gt;Visual Studio 2010&lt;/span&gt; adiciona ao próprio editor diversos novos recursos visuais que ajudam na produtividade.&lt;br /&gt;&lt;br /&gt;Aprofundando-nos um pouco mais nas novas funcionalidades do &lt;span style="font-weight: bold;"&gt;IDE&lt;/span&gt;, o próximo novo recurso significativo a ser abordado é o suporte à programação paralela. O Visual Studio 2010 fornece ferramentas de diagnóstico para ajudar a depurar e analisar aplicativos paralelos. No entanto, antes de passar para as ferramentas, discutirei rapidamente o que é a programação paralela e poderemos ver como o tempo de execução e as bibliotecas implementam essas novas funcionalidades.&lt;br /&gt;&lt;br /&gt;Juntamente com as atualizações gerais discutidas, você encontrará alguns aperfeiçoamentos notáveis para os desenvolvedores da Web que mudarem para o Visual Studio 2010. Claro, agora as novas ferramentas de modelo de programação &lt;span style="font-weight: bold;"&gt;MVC &lt;/span&gt;(Model-View-Controller) estão incluídas, e vou abordá-las na próxima seção. E há experiências aprimoradas de desenvolvimento da Web para tecnologias &lt;span style="font-weight: bold;"&gt;Web &lt;/span&gt;do lado do cliente e do servidor, além de um novo modelo de implantação na Web com um clique. Porém, vou começar com o ASP.NET AJAX e as novas funcionalidades associadas do IDE.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/pt-br/magazine/ee336135.aspx"&gt;Leia Mais&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4684750288742513326-2535204858442715531?l=programscomputer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://programscomputer.blogspot.com/feeds/2535204858442715531/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4684750288742513326&amp;postID=2535204858442715531' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/2535204858442715531'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/2535204858442715531'/><link rel='alternate' type='text/html' href='http://programscomputer.blogspot.com/2010/09/criando-codigos-melhores-com-o-visual.html' title='Criando códigos melhores com o Visual Studio 2010'/><author><name>Blogado</name><uri>http://www.blogger.com/profile/00508039577491745861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_6UXYawCQWIo/TIBDo3X3LgI/AAAAAAAAD8s/u3gpdvwPgVI/s72-c/20100902+Visual+Studio+2010.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4684750288742513326.post-8626038813341371228</id><published>2010-08-20T17:18:00.000-07:00</published><updated>2010-08-20T17:47:39.904-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Visual Basic'/><category scheme='http://www.blogger.com/atom/ns#' term='Provedor'/><category scheme='http://www.blogger.com/atom/ns#' term='Artigo'/><category scheme='http://www.blogger.com/atom/ns#' term='Acronicos'/><category scheme='http://www.blogger.com/atom/ns#' term='Conceito'/><title type='text'>ADO.NET - Roteiro básico e Boas Práticas</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_6UXYawCQWIo/TG8h9bWH2dI/AAAAAAAAD6s/S71NkZMBF8w/s1600/20100820+AdoNet.jpg"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 162px; height: 200px;" src="http://2.bp.blogspot.com/_6UXYawCQWIo/TG8h9bWH2dI/AAAAAAAAD6s/S71NkZMBF8w/s200/20100820+AdoNet.jpg" alt="Conceito, Acronicos, Provedor, Visual Basic,  Artigo " title="Conceito, Acronicos, Provedor, Visual Basic,  Artigo  " id="BLOGGER_PHOTO_ID_5507658208493689298" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Confuso com tantos conceitos novos, com tantas &lt;span style="font-weight: bold;"&gt;siglas &lt;/span&gt;e acrósticos ? Qual provedor usar ? Devo usar DataSet ou &lt;span style="font-weight: bold;"&gt;DataReader &lt;/span&gt;?&lt;br /&gt;&lt;br /&gt;Se essas e outras dúvidas te atormentam, você chegou ao artigo certo. Espero que após terminar a leitura pelo menos metade das suas dúvidas estejam resolvidas ou encaminhadas. Esse é objetivo deste artigo. Antes vou lançar os fundamentos da &lt;span style="font-weight: bold;"&gt;ADO.NET&lt;/span&gt; para quem esta chegando agora.&lt;br /&gt;&lt;br /&gt;Afinal o que é&lt;span style="font-weight: bold;"&gt; ADO.NET&lt;/span&gt; e o que ela tem a ver com o &lt;span style="font-weight: bold;"&gt;Visual Basic&lt;/span&gt; ?&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.macoratti.net/adn_bpu1.htm"&gt;Leia Mais : http://www.macoratti.net/adn_bpu1.htm&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4684750288742513326-8626038813341371228?l=programscomputer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://programscomputer.blogspot.com/feeds/8626038813341371228/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4684750288742513326&amp;postID=8626038813341371228' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/8626038813341371228'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/8626038813341371228'/><link rel='alternate' type='text/html' href='http://programscomputer.blogspot.com/2010/08/adonet-roteiro-basico-e-boas-praticas.html' title='ADO.NET - Roteiro básico e Boas Práticas'/><author><name>Blogado</name><uri>http://www.blogger.com/profile/00508039577491745861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_6UXYawCQWIo/TG8h9bWH2dI/AAAAAAAAD6s/S71NkZMBF8w/s72-c/20100820+AdoNet.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4684750288742513326.post-1443352290472362201</id><published>2010-08-12T16:29:00.000-07:00</published><updated>2010-08-12T16:36:34.220-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Dica'/><category scheme='http://www.blogger.com/atom/ns#' term='Botão RT'/><category scheme='http://www.blogger.com/atom/ns#' term='Word Press'/><category scheme='http://www.blogger.com/atom/ns#' term='Twitter'/><category scheme='http://www.blogger.com/atom/ns#' term='Exemplo'/><title type='text'>Como inserir o botão de RT do Twitter em seu website</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_6UXYawCQWIo/TGSE0UWMbfI/AAAAAAAAD4c/alZdKL_fXcY/s1600/20100812+Word+Press.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 200px; height: 200px;" src="http://4.bp.blogspot.com/_6UXYawCQWIo/TGSE0UWMbfI/AAAAAAAAD4c/alZdKL_fXcY/s200/20100812+Word+Press.jpg" border="0" alt="Word Press, Twitter, Botão RT,  Exemplo, Dica" title="Word Press, Twitter, Botão RT,  Exemplo, Dica" id="BLOGGER_PHOTO_ID_5504670678903451122" /&gt;&lt;/a&gt;&lt;br /&gt;Foi lançado oficialmente o novo botão de RT do Twitter. Aquele que permite compartilhar qualquer artigo com o Twitter (e apresenta algumas funcionalidades bem interessantes).&lt;br /&gt;&lt;br /&gt;Para obter o botão, entre no endereço criado exclusivamente para ele. Escolha o tipo de botão: com contador vertical, horizontal ou sem contador.&lt;br /&gt;&lt;br /&gt;Você também pode escolher o texto padrão do botão. Exemplo: você pode escrever algo como “Visitem esse artigo” ou deixar com que o botão carregue automaticamente o texto da página (recomendado).&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.dicaswp.com.br/2010/08/12/como-inserir-o-botao-de-rt-do-twitter-em-seu-website/"&gt;Leia Mais&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4684750288742513326-1443352290472362201?l=programscomputer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://programscomputer.blogspot.com/feeds/1443352290472362201/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4684750288742513326&amp;postID=1443352290472362201' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/1443352290472362201'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/1443352290472362201'/><link rel='alternate' type='text/html' href='http://programscomputer.blogspot.com/2010/08/como-inserir-o-botao-de-rt-do-twitter.html' title='Como inserir o botão de RT do Twitter em seu website'/><author><name>Blogado</name><uri>http://www.blogger.com/profile/00508039577491745861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_6UXYawCQWIo/TGSE0UWMbfI/AAAAAAAAD4c/alZdKL_fXcY/s72-c/20100812+Word+Press.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4684750288742513326.post-1271382625866410994</id><published>2010-08-02T14:01:00.000-07:00</published><updated>2010-08-02T14:19:28.124-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Delphi'/><category scheme='http://www.blogger.com/atom/ns#' term='Aplicativo'/><category scheme='http://www.blogger.com/atom/ns#' term='projeto'/><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><category scheme='http://www.blogger.com/atom/ns#' term='Código Fonte'/><title type='text'>Evitar que um programa seja executado mais de uma vez</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_6UXYawCQWIo/TFc1-JVlIDI/AAAAAAAAD2s/-ZaVt-2-v9Y/s1600/20100802+delphi.jpg"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 200px; height: 132px;" src="http://3.bp.blogspot.com/_6UXYawCQWIo/TFc1-JVlIDI/AAAAAAAAD2s/-ZaVt-2-v9Y/s200/20100802+delphi.jpg" alt="Windows  , Delphi,  Aplicativo  , Projeto , Código Fonte" title="Windows  , Delphi,  Aplicativo  , Projeto , Código Fonte" id="BLOGGER_PHOTO_ID_5500924811630944306" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Muitos programas &lt;span style="font-weight: bold;"&gt;Windows &lt;/span&gt;permitem apenas uma cópia em  execução de cada vez. Isto é interessante principalmente quando é um grande &lt;span style="font-weight: bold;"&gt;aplicativo&lt;/span&gt;, pois duas cópias ao mesmo tempo usuaria muito mais memória. Em aplicativos  desenvolvidos em Delphi podemos ter esta   característica.&lt;br /&gt;&lt;/div&gt; &lt;br /&gt;Vejamos:&lt;br /&gt;&lt;br /&gt; - Crie um novo projeto;&lt;br /&gt; - Mude o "Name" do Form1 para DPGFormPrinc;&lt;br /&gt; - Altere o código-fonte do arquivo Project1.dpr&lt;br /&gt;   conforme abaixo:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.tecnobyte.com.br/dica8.html#dica117"&gt;Leia na Integra&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4684750288742513326-1271382625866410994?l=programscomputer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://programscomputer.blogspot.com/feeds/1271382625866410994/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4684750288742513326&amp;postID=1271382625866410994' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/1271382625866410994'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/1271382625866410994'/><link rel='alternate' type='text/html' href='http://programscomputer.blogspot.com/2010/08/evitar-que-um-programa-seja-executado.html' title='Evitar que um programa seja executado mais de uma vez'/><author><name>Blogado</name><uri>http://www.blogger.com/profile/00508039577491745861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_6UXYawCQWIo/TFc1-JVlIDI/AAAAAAAAD2s/-ZaVt-2-v9Y/s72-c/20100802+delphi.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4684750288742513326.post-401772165146585576</id><published>2010-07-28T17:53:00.000-07:00</published><updated>2010-07-28T18:21:06.845-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Aprenda com os outros'/><category scheme='http://www.blogger.com/atom/ns#' term='peça para outros testarem'/><category scheme='http://www.blogger.com/atom/ns#' term='Não teste'/><category scheme='http://www.blogger.com/atom/ns#' term='Documente'/><category scheme='http://www.blogger.com/atom/ns#' term='Dicas para programar melhor'/><category scheme='http://www.blogger.com/atom/ns#' term='Arme-se com ferramentas produtivas'/><category scheme='http://www.blogger.com/atom/ns#' term='Pense antes de fazer'/><category scheme='http://www.blogger.com/atom/ns#' term='Páre e descanse'/><title type='text'>Dicas para programar melhor</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_6UXYawCQWIo/TFDXDIVVtuI/AAAAAAAAD1E/nh8zeZbmT4I/s1600/20100728+logica.jpg"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 200px; height: 200px;" src="http://4.bp.blogspot.com/_6UXYawCQWIo/TFDXDIVVtuI/AAAAAAAAD1E/nh8zeZbmT4I/s200/20100728+logica.jpg" alt="Dicas para programar melhor, Aprenda com os outros, Pense antes de fazer, Documente, Arme-se com ferramentas produtivas, Não teste, peça para outros testarem, Páre e descanse" title="Dicas para programar melhor, Aprenda com os outros, Pense antes de fazer, Documente, Arme-se com ferramentas produtivas, Não teste, peça para outros testarem, Páre e descanse," id="BLOGGER_PHOTO_ID_5499131593795942114" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Aprenda com os outros&lt;/span&gt;&lt;br /&gt;Existem programadores que não suportam imaginar sua "grande invenção" sendo copiada por outros. Infelizmente estes programadores estão, em sua maioria, fadados a fracassar pois vão viver inevitavelmente em uma ilha, isolados. A melhor forma de aprender é tomar exemplos daqueles que já fizeram.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Pense antes de fazer&lt;/span&gt;&lt;br /&gt;O número de programadores que começa a fazer um software pelo código é tão grande quanto a quantidade de cimento usado para construir as torres Petronas na Malásia.&lt;br /&gt;&lt;br /&gt;Os melhores softwares que conheço são aqueles onde o tempo "gasto" na sua idealização é muito maior que 70 do tempo total para finalizá-lo.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Documente&lt;/span&gt;&lt;br /&gt;A esmagadora maioria dos programadores não consegue criar um parágrafo de texto com nexo.&lt;br /&gt;É trabalhoso, é cansativo, é chato e principalmente, maçante. Mas acredite, tem que ser feito e o quanto antes. Se no meio do caminho você se perder, poderá saber onde está e para onde vai.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Arme-se com ferramentas produtivas&lt;/span&gt;&lt;br /&gt;Em minha última viagem comprei um daqueles afamados canivetes suíços.&lt;br /&gt;Na programação acontece a mesma coisa. Existem ferramentas e "ferramentas" para tudo. Editores de código, gerenciadores de bancos de dados, documentadores e assim por diante. Uns melhores que os outros, sejam em recursos, em funcionalidades e também em preços.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Não teste, peça para outros testarem&lt;/span&gt;&lt;br /&gt;Tudo o que fazemos repetitivamente torna-se mecânico e não percebemos.&lt;br /&gt;&lt;br /&gt;Sempre peça para terceiros testar o que está fazendo e, preferencialmente, que seja um futuro usuário do software.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Páre e descanse&lt;/span&gt;&lt;br /&gt;A programação de software é uma área extenuante. Horas e horas diante de uma tela sentado em cadeiras que não atendem em absoluto a ergonomia de seu corpo.&lt;br /&gt;Sempre faça pausas durante o trabalho. Levante-se, vá até o bebedouro (ou geladeira), beba água, caminhe, converse com alguém.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Não se prostitua&lt;/span&gt;&lt;br /&gt;Claro que não estou falando de favores sexuais em troca de qualquer coisa. Não é nada disso.&lt;br /&gt;Seja honesto consigo mesmo. Se você é um iniciante na programação, cobre o que é correto pela sua experiência.&lt;br /&gt;&lt;br /&gt;Finalmente, como última dica; &lt;span style="font-weight: bold;"&gt;Seja humilde&lt;/span&gt;&lt;br /&gt;Ninguém sabe tudo! Quando você toma uma postura como esta, mantém os braços abertos para receber novas informações e aprender mais, principalmente com aqueles que sabem algo diferente de você.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://imasters.uol.com.br/artigo/6980/programacao/dicas_para_programar_melhor/"&gt;Leia na Integra&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4684750288742513326-401772165146585576?l=programscomputer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://programscomputer.blogspot.com/feeds/401772165146585576/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4684750288742513326&amp;postID=401772165146585576' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/401772165146585576'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/401772165146585576'/><link rel='alternate' type='text/html' href='http://programscomputer.blogspot.com/2010/07/dicas-para-programar-melhor.html' title='Dicas para programar melhor'/><author><name>Blogado</name><uri>http://www.blogger.com/profile/00508039577491745861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_6UXYawCQWIo/TFDXDIVVtuI/AAAAAAAAD1E/nh8zeZbmT4I/s72-c/20100728+logica.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4684750288742513326.post-2616989851941075623</id><published>2010-07-15T16:21:00.000-07:00</published><updated>2010-07-15T16:39:26.239-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='falhas'/><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='Ajax Web'/><category scheme='http://www.blogger.com/atom/ns#' term='register_globals'/><category scheme='http://www.blogger.com/atom/ns#' term='Dicas'/><category scheme='http://www.blogger.com/atom/ns#' term='seguranca'/><title type='text'>Principais Falhas de Segurança em PHP</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_6UXYawCQWIo/TD-b4dZTXWI/AAAAAAAADy8/eJ5WYF0kowg/s1600/20100706+php.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 200px; height: 129px;" src="http://2.bp.blogspot.com/_6UXYawCQWIo/TD-b4dZTXWI/AAAAAAAADy8/eJ5WYF0kowg/s200/20100706+php.png" border="0" alt="Principais Falhas de Segurança em PHP, Dicas,    PHP,  falhas, seguranca,  register_globals,  Ajax Web" title="Principais Falhas de Segurança em PHP, Dicas,    PHP,  falhas, seguranca,  register_globals,  Ajax Web,  " id="BLOGGER_PHOTO_ID_5494281464681028962" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;b&gt;PHP &lt;/b&gt;é uma linguagem muito fácil de aprender e não precisa de um esforço muito grande que as outras linguagens necessitam. Por um lado, isso é bom para os iniciantes em php, pois podem começar a &lt;b&gt;programar &lt;/b&gt;rapidamente, mas infelizmente, eles não se importam em aprender algo sobre segurança e acabam escrevendo seus códigos de qualquer jeito... Isso infelizmente não acontece somente com PHP. Acho que a maioria que começa a &lt;b&gt;programar &lt;/b&gt;escreve os primeiros códigos com falhas banais de segurança. Em algumas linguagens isso não é um problema grave, porem toda tecnologia que é voltado para web, tem contato com um numero muito grande de pessoas diferentes, algumas são boas, outras no entanto não.&lt;br /&gt;&lt;br /&gt;Eu imagino que a maioria dos iniciantes em PHP vai escrever em seus primeiros códigos minis-cms ou &lt;b&gt;sistemas &lt;/b&gt;de noticias. Um grande número de sites pequenos provavelmente rodam códigos pessoais escritos por alguns que não possuem uma experiência necessária com &lt;b&gt;php&lt;/b&gt;, isso também significa que um grande numero de sites podem se tornar (e estão) inseguros.&lt;br /&gt;&lt;br /&gt;Eu mostrarei uma lista das falhas mais comuns que podemos encontrar e apesar de parecerem banais, são muito encontrados, junto com os maiores perigos.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Register Globals&lt;br /&gt;&lt;/b&gt;----------------&lt;br /&gt;Isso não é um problema novo, já foi tema de muitos artigos e muitos avisos, é algo comum de se encontrar. Porém talvez seja a primeira vez que alguns estão vendo isso...&lt;br /&gt;&lt;br /&gt;&lt;a href="http://phpbrasil.com/artigo/cA6agoMO2lP/principais-falhas-de-seguranca-em-php"&gt;Leia Mais&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4684750288742513326-2616989851941075623?l=programscomputer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://programscomputer.blogspot.com/feeds/2616989851941075623/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4684750288742513326&amp;postID=2616989851941075623' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/2616989851941075623'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/2616989851941075623'/><link rel='alternate' type='text/html' href='http://programscomputer.blogspot.com/2010/07/principais-falhas-de-seguranca-em-php.html' title='Principais Falhas de Segurança em PHP'/><author><name>Blogado</name><uri>http://www.blogger.com/profile/00508039577491745861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_6UXYawCQWIo/TD-b4dZTXWI/AAAAAAAADy8/eJ5WYF0kowg/s72-c/20100706+php.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4684750288742513326.post-7526264680102381538</id><published>2010-07-06T16:11:00.000-07:00</published><updated>2010-07-06T16:25:37.688-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linguagem de Programação'/><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='P.O.O'/><category scheme='http://www.blogger.com/atom/ns#' term='Cliente Java'/><category scheme='http://www.blogger.com/atom/ns#' term='Novidades'/><category scheme='http://www.blogger.com/atom/ns#' term='migracao'/><category scheme='http://www.blogger.com/atom/ns#' term='php5'/><category scheme='http://www.blogger.com/atom/ns#' term='Versões'/><category scheme='http://www.blogger.com/atom/ns#' term='Dicas'/><category scheme='http://www.blogger.com/atom/ns#' term='OO'/><category scheme='http://www.blogger.com/atom/ns#' term='Dinamica'/><title type='text'>Fim da vida para o PHP4</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_6UXYawCQWIo/TDO6mGhH7HI/AAAAAAAADw0/8vhN1QGSg8s/s1600/20100706+php.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 280px; height: 180px;" src="http://1.bp.blogspot.com/_6UXYawCQWIo/TDO6mGhH7HI/AAAAAAAADw0/8vhN1QGSg8s/s400/20100706+php.png" alt="pp5 , Dicas,  Versões, Novidades, migracao, OO, P.O.O,  Cliente Java,  Java  , Dinamica,  Linguagem de Programação" title="php5 , Dicas,  Versões, Novidades, migracao, OO, P.O.O,  Cliente Java,  Java  , Dinamica,  Linguagem de Programação" id="BLOGGER_PHOTO_ID_5490937534442105970" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;A migração para &lt;span style="font-weight: bold;"&gt;PHP5 &lt;/span&gt;é iminente e deve ser considerada por todos, principalmente pelos benefícios que os novos recursos trazem, principalmente na área da P.O.O e pacotes de funções novas. Outra novidade no PHP5 é um melhor suporte a utilizar a linguagem em outros ambientes além de páginas web, como por exemplo scripts de linha de comando.&lt;br /&gt;&lt;br /&gt;Em breve será lançada a versão 5.3 com muitas novidades herdadas do PHP6 e uma delas é o recurso de namespaces, tão cobrado dos mantenedores do PHP, como um dos recursos que mais fazem falta para a P.O.O em &lt;span style="font-weight: bold;"&gt;PHP&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;Em seqüencia deverá sair a primeira versão do &lt;span style="font-weight: bold;"&gt;PHP6 &lt;/span&gt;que trará muitas outras novidades como por exemplo o suporte nativo e padrão a &lt;span style="font-weight: bold;"&gt;unicode&lt;/span&gt;, fazendo do PHP um concorrente mais forte ainda no mundo das linguagens de programação para web. Uma dica é para não esperar sair o release do PHP6 para migrar do PHP4 direto para o PHP6. Fazendo uma migração gradual, vai simplificar o processo e gerar menos estresse.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;PHP é uma excelente linguagem&lt;/span&gt; – tem seus problemas como qualquer outra linguagem e sua popularidade é seguida de uma má fama em qualidade de código pois como diriam muitos, qualquer sobrinho pode criar uma página dinâmica com PHP – mesmo assim, aplicações profissionais podem ser muito bem desenvolvidas com PHP, tanto que com o PHP6, qualquer aplicação web feita nesta versão do PHP poderá se equiparar ao nível de uma aplicação desenvolvida com Java.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4684750288742513326-7526264680102381538?l=programscomputer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://programscomputer.blogspot.com/feeds/7526264680102381538/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4684750288742513326&amp;postID=7526264680102381538' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/7526264680102381538'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/7526264680102381538'/><link rel='alternate' type='text/html' href='http://programscomputer.blogspot.com/2010/07/fim-da-vida-para-o-php4.html' title='Fim da vida para o PHP4'/><author><name>Blogado</name><uri>http://www.blogger.com/profile/00508039577491745861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_6UXYawCQWIo/TDO6mGhH7HI/AAAAAAAADw0/8vhN1QGSg8s/s72-c/20100706+php.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4684750288742513326.post-6683236651141199275</id><published>2010-06-14T14:56:00.000-07:00</published><updated>2010-06-14T15:15:45.702-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='VB.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='2010'/><category scheme='http://www.blogger.com/atom/ns#' term='Visual Studio .NET'/><category scheme='http://www.blogger.com/atom/ns#' term='lancamento'/><category scheme='http://www.blogger.com/atom/ns#' term='caracteristicas visual basic 2010'/><category scheme='http://www.blogger.com/atom/ns#' term='Microsoft'/><title type='text'>Chegou o Visual Studio 2010</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_6UXYawCQWIo/TBaoqZwpOrI/AAAAAAAADtk/_0FOmCOUUEs/s1600/20100614+visual+studio+2010.png"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 200px; height: 138px;" src="http://3.bp.blogspot.com/_6UXYawCQWIo/TBaoqZwpOrI/AAAAAAAADtk/_0FOmCOUUEs/s200/20100614+visual+studio+2010.png" alt="2010, caracteristicas visual basic 2010, lancamento, Microsoft, VB.NET, Visual Studio .NET" title="2010, caracteristicas visual basic 2010, lancamento, Microsoft, VB.NET, Visual Studio .NET" id="BLOGGER_PHOTO_ID_5482755042793044658" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Com o &lt;span style="font-weight: bold;"&gt;Visual Studio 2010&lt;/span&gt;, você pode escolher a versão do .NET Framework que pretende usar, usar o .NET Framework 4 e aproveitar os novos recursos do Windows 7, das melhorias na estrutura do Microsoft ASP, .NET e AJAX, novos modelos integrados do SharePoint, depuração &lt;span style="font-weight: bold;"&gt;histórica &lt;/span&gt;com o &lt;span style="font-weight: bold;"&gt;IntelliTrace&lt;/span&gt;, suporte a múltiplos monitores, além de muitas outras novidades.&lt;br /&gt;&lt;br /&gt;O Microsoft Visual Studio 2010 Professional é a ferramenta essencial para indivíduos que executam tarefas de desenvolvimento básicas. Ele simplifica a criação, depuração e implantação de aplicativos em uma variedade de plataformas que incluem o SharePoint e o Cloud. O Visual Studio 2010 Professional é fornecido com suporte integrado para desenvolvimento orientado por teste, bem como ferramentas de depuração que ajudam a garantir soluções de alta qualidade.&lt;br /&gt;Personalize seu espaço de trabalho&lt;br /&gt;&lt;br /&gt;Gravar código de aplicativo geralmente requer a existência de numerosos designers e editores abertos de uma vez. O Visual Studio 2010 Professional ajuda você a organizar seu ambiente digital com suporte a vários monitores, o que facilita o gerenciamento do modo como você trabalha.&lt;br /&gt;&lt;br /&gt;Crie soluções de colaboração no SharePoint&lt;br /&gt;&lt;br /&gt;Traga ferramentas de colaboração personalizadas para sua empresa aproveitando o novo suporte para desenvolvimento do SharePoint, incluindo ferramentas para peças, listas, fluxos de trabalho, eventos da Web e mais.&lt;br /&gt;Compile aplicativos no Windows 7&lt;br /&gt;&lt;br /&gt;O Visual Studio 2010 Professional inclui ferramentas integradas para desenvolvimento no Windows 7, incluindo componentes de IU multitoque e no formato de faixa de opções que proporcionam a você acesso exclusivo à tecnologia do Windows 7.&lt;br /&gt;Crie de forma fácil aplicativos RIA e WPF&lt;br /&gt;&lt;br /&gt;A nova vinculação de dados "arrastar e soltar" no Windows Presentation Foundation (WPF) e designers Silverlight torna a compilação do Windows e do RIA (Rich Internet Applications) fácil e rápida, para designers e desenvolvedores.&lt;br /&gt;Simplifique a implantação de aplicativo da Web&lt;br /&gt;&lt;br /&gt;Mude seus aplicativos da Web para um ambiente de produção com um único clique. O Visual Studio 2010 Professional transfere seu código, configurações de IIS (Internet Information Server) e esquema de banco de dados para seu servidor de destino.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.microsoft.com/visualstudio/pt-br/visual-studio-2010-launch"&gt;Leia Mais&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4684750288742513326-6683236651141199275?l=programscomputer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://programscomputer.blogspot.com/feeds/6683236651141199275/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4684750288742513326&amp;postID=6683236651141199275' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/6683236651141199275'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/6683236651141199275'/><link rel='alternate' type='text/html' href='http://programscomputer.blogspot.com/2010/06/chegou-o-visual-studio-2010.html' title='Chegou o Visual Studio 2010'/><author><name>Blogado</name><uri>http://www.blogger.com/profile/00508039577491745861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_6UXYawCQWIo/TBaoqZwpOrI/AAAAAAAADtk/_0FOmCOUUEs/s72-c/20100614+visual+studio+2010.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4684750288742513326.post-8179606702840533269</id><published>2010-05-13T15:45:00.000-07:00</published><updated>2010-05-13T15:51:11.326-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Web'/><category scheme='http://www.blogger.com/atom/ns#' term='texto'/><category scheme='http://www.blogger.com/atom/ns#' term='MySQL'/><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='criar'/><category scheme='http://www.blogger.com/atom/ns#' term='programacao'/><category scheme='http://www.blogger.com/atom/ns#' term='desenho'/><category scheme='http://www.blogger.com/atom/ns#' term='classe'/><category scheme='http://www.blogger.com/atom/ns#' term='smile'/><title type='text'>Classes de Smilies em PHP</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_6UXYawCQWIo/S-yCMpqfVwI/AAAAAAAADrc/vch4oUi2vkU/s1600/20100513+smiles.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 200px; height: 148px;" src="http://4.bp.blogspot.com/_6UXYawCQWIo/S-yCMpqfVwI/AAAAAAAADrc/vch4oUi2vkU/s200/20100513+smiles.jpg" border="0" alt="classe  , criar  , smile , php  , desenho, texto    , programacao  , web   , php   , mysql" title="classe  , criar  , smile , php  , desenho, texto    , programacao  , web   , php   , mysql" id="BLOGGER_PHOTO_ID_5470890801202419458" /&gt;&lt;/a&gt;&lt;br /&gt;1º Passo: Criar a Classe de Smilies&lt;br /&gt;&lt;br /&gt;2º Passo: Executar a Classe de Smilies&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.revistaphp.com.br/artigo.php?id=220"&gt;Leia Mais&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4684750288742513326-8179606702840533269?l=programscomputer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://programscomputer.blogspot.com/feeds/8179606702840533269/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4684750288742513326&amp;postID=8179606702840533269' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/8179606702840533269'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/8179606702840533269'/><link rel='alternate' type='text/html' href='http://programscomputer.blogspot.com/2010/05/classes-de-smilies-em-php.html' title='Classes de Smilies em PHP'/><author><name>Blogado</name><uri>http://www.blogger.com/profile/00508039577491745861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_6UXYawCQWIo/S-yCMpqfVwI/AAAAAAAADrc/vch4oUi2vkU/s72-c/20100513+smiles.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4684750288742513326.post-3977792296456802374</id><published>2010-04-07T16:07:00.000-07:00</published><updated>2010-04-07T16:35:53.193-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='funcoes'/><category scheme='http://www.blogger.com/atom/ns#' term='manipulacao de string'/><category scheme='http://www.blogger.com/atom/ns#' term='hora'/><category scheme='http://www.blogger.com/atom/ns#' term='booleano'/><category scheme='http://www.blogger.com/atom/ns#' term='valores'/><category scheme='http://www.blogger.com/atom/ns#' term='aps'/><category scheme='http://www.blogger.com/atom/ns#' term='caracteres'/><category scheme='http://www.blogger.com/atom/ns#' term='Datas'/><category scheme='http://www.blogger.com/atom/ns#' term='ano data'/><category scheme='http://www.blogger.com/atom/ns#' term='matematicas'/><category scheme='http://www.blogger.com/atom/ns#' term='dia da semana'/><title type='text'>Tabela de Funções - Asp</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_6UXYawCQWIo/S70WStqNO1I/AAAAAAAADp8/5ewwaBILK10/s1600/20100407+asp.net.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 320px;" src="http://3.bp.blogspot.com/_6UXYawCQWIo/S70WStqNO1I/AAAAAAAADp8/5ewwaBILK10/s320/20100407+asp.net.jpg" border="0" alt="funcoes, aps  , manipulacao de string, valores ,  datas , matematicas,  booleano, caracteres   ,  hora, dia da semana, ano data" title="funcoes, aps  , manipulacao de string, valores ,  datas , matematicas,  booleano, caracteres   ,  hora, dia da semana, ano data , " id="BLOGGER_PHOTO_ID_5457542834192989010" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span class="Apple-style-span"   style="  line-height: 15px; font-family:Verdana, Arial, Helvetica, sans-serif;font-size:11px;"&gt;&lt;div style="text-align: center;"&gt;&lt;span class="Apple-style-span"   style="  line-height: 15px; font-family:Verdana, Arial, Helvetica, sans-serif;font-size:11px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;table width="90%" border="0" cellspacing="0" cellpadding="0" style="text-align: center;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td height="20"&gt;&lt;table width="100%" border="0" cellspacing="0" cellpadding="0" align="center"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table border="0" cellspacing="0" cellpadding="0" width="100%" align="center"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td width="1" bgcolor="#FF7B00"&gt;&lt;img src="http://www.truquesedicas.com/imagens/linha_tranp.gif" width="1" height="1" /&gt;&lt;/td&gt;&lt;td height="15" bgcolor="#FF7B00" width="5"&gt;&lt;img src="http://www.truquesedicas.com/imagens/linha_tranp.gif" width="1" height="1" /&gt;&lt;/td&gt;&lt;td height="15" bg colspan="3" style="color:#FF7B00;"&gt;&lt;table width="99%" border="0" cellspacing="2" cellpadding="0" height="29"&gt;&lt;tbody&gt;&lt;tr align="LEFT" valign="TOP" bg style="color:#FF7B00;"&gt;&lt;td width="22%" bg height="15" style="color:#FF7B00;"&gt;&lt;div align="center" style="text-align: center;"&gt;&lt;b&gt;&lt;span style="font-family:Verdana, Arial, Helvetica, sans-serif;font-size:78%;color:#FFFFFF;"&gt;FUNÇÂO&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;/td&gt;&lt;td width="78%"&gt;&lt;div align="center"&gt;&lt;b&gt;&lt;span style="font-family:Verdana, Arial, Helvetica, sans-serif;font-size:78%;color:#FFFFFF;"&gt;DESCRIÇÂO&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;td height="15" bgcolor="#FF7B00" width="5"&gt;&lt;img src="http://www.truquesedicas.com/imagens/linha_tranp.gif" width="1" height="1" /&gt;&lt;/td&gt;&lt;td height="15" bgcolor="#FF7B00" width="1"&gt;&lt;img src="http://www.truquesedicas.com/imagens/linha_tranp.gif" width="1" height="1" /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td bgcolor="#FF7B00" width="1"&gt;&lt;img src="http://www.truquesedicas.com/imagens/linha_tranp.gif" width="1" height="1" /&gt;&lt;/td&gt;&lt;td width="5"&gt;&lt;/td&gt;&lt;td width="100%" colspan="3"&gt;&lt;div align="center"&gt;&lt;table cellpadding="5" width="100%" class="texto" cellspacing="0" border="1" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; "&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td height="10" width="11%" class="texto" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; "&gt;&lt;div align="center"&gt;&lt;b&gt;Abs()&lt;/b&gt;&lt;/div&gt;&lt;/td&gt;&lt;td height="0" width="89%" class="texto" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; "&gt;&lt;div align="left"&gt;Devolve o valor absoluto de um número&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td height="20" width="11%" class="texto" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; "&gt;&lt;div align="center"&gt;&lt;b&gt;Array()&lt;/b&gt;&lt;/div&gt;&lt;/td&gt;&lt;td height="0" width="23%" class="texto" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; "&gt;&lt;div align="left"&gt;Define um conjunto de valores identicos. O 1º indice tem o valor 0(zero)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td height="20" width="11%" class="texto" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; "&gt;&lt;div align="center"&gt;&lt;b&gt;Asc()&lt;/b&gt;&lt;/div&gt;&lt;/td&gt;&lt;td height="0" width="23%" class="texto" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; "&gt;&lt;div align="left"&gt;Devolve e valor ASCII de um caracter&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td height="20" width="11%" class="texto" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; "&gt;&lt;div align="center"&gt;&lt;b&gt;Atn()&lt;/b&gt;&lt;/div&gt;&lt;/td&gt;&lt;td height="20" width="23%" class="texto" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; "&gt;&lt;div align="left"&gt;Devolve o arco-tangente de um numero&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td height="20" width="11%" class="texto" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; "&gt;&lt;div align="center"&gt;&lt;b&gt;CBool()&lt;/b&gt;&lt;/div&gt;&lt;/td&gt;&lt;td height="20" width="23%" class="texto" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; "&gt;&lt;div align="left"&gt;Devolve True ou False de uma expressão&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td height="20" width="11%" class="texto" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; "&gt;&lt;div align="center"&gt;&lt;b&gt;CByte()&lt;/b&gt;&lt;/div&gt;&lt;/td&gt;&lt;td height="20" width="23%" class="texto" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; "&gt;&lt;div align="left"&gt;Devolve o valor Byte de um numero&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td height="20" width="11%" class="texto" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; "&gt;&lt;div align="center"&gt;&lt;b&gt;CCur()&lt;/b&gt;&lt;/div&gt;&lt;/td&gt;&lt;td height="20" width="23%" class="texto" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; "&gt;&lt;div align="left"&gt;Devolve o valor na moeda currente&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td height="20" width="11%" class="texto" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; "&gt;&lt;div align="center"&gt;&lt;b&gt;CDate()&lt;/b&gt;&lt;/div&gt;&lt;/td&gt;&lt;td height="20" width="23%" class="texto" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; "&gt;&lt;div align="left"&gt;Devolve o valor da data corrente&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td height="20" width="11%" class="texto" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; "&gt;&lt;div align="center"&gt;&lt;b&gt;CDbl()&lt;/b&gt;&lt;/div&gt;&lt;/td&gt;&lt;td height="20" width="23%" class="texto" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; "&gt;&lt;div align="left"&gt;Devolve um valor em tipo DOULBLE&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td height="20" width="11%" class="texto" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; "&gt;&lt;div align="center"&gt;&lt;b&gt;Chr()&lt;/b&gt;&lt;/div&gt;&lt;/td&gt;&lt;td height="20" width="23%" class="texto" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; "&gt;&lt;div align="left"&gt;Devolve o caracter de um valor ASCII&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td height="20" width="11%" class="texto" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; "&gt;&lt;div align="center"&gt;&lt;b&gt;CInt()&lt;/b&gt;&lt;/div&gt;&lt;/td&gt;&lt;td height="20" width="23%" class="texto" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; "&gt;&lt;div align="left"&gt;Devolve um valor INTEIRO&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td height="20" width="11%" class="texto" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; "&gt;&lt;div align="center"&gt;&lt;b&gt;CLong()&lt;/b&gt;&lt;/div&gt;&lt;/td&gt;&lt;td height="20" width="23%" class="texto" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; "&gt;&lt;div align="left"&gt;Devolve um valor LONGO&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td height="20" width="11%" class="texto" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; "&gt;&lt;div align="center"&gt;&lt;b&gt;Cos()&lt;/b&gt;&lt;/div&gt;&lt;/td&gt;&lt;td height="20" width="23%" class="texto" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; "&gt;&lt;div align="left"&gt;Devolve o coseno de um angulo&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td height="20" width="11%" class="texto" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; "&gt;&lt;div align="center"&gt;&lt;b&gt;CreateObject()&lt;/b&gt;&lt;/div&gt;&lt;/td&gt;&lt;td height="20" width="23%" class="texto" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; "&gt;&lt;div align="left"&gt;Cria uma referencia a um objecto externo&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td height="20" width="11%" class="texto" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; "&gt;&lt;div align="center"&gt;&lt;b&gt;Csng()&lt;/b&gt;&lt;/div&gt;&lt;/td&gt;&lt;td height="20" width="23%" class="texto" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; "&gt;&lt;div align="left"&gt;Devolve um valor tipo SINGLE&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td height="20" width="11%" class="texto" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; "&gt;&lt;div align="center"&gt;&lt;b&gt;Date()&lt;/b&gt;&lt;/div&gt;&lt;/td&gt;&lt;td height="20" width="23%" class="texto" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; "&gt;&lt;div align="left"&gt;Devolve a data do servidor&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td height="20" width="11%" class="texto" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; "&gt;&lt;div align="center"&gt;&lt;b&gt;DateAdd()&lt;/b&gt;&lt;/div&gt;&lt;/td&gt;&lt;td height="20" width="23%" class="texto" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; "&gt;&lt;div align="left"&gt;Devolve a data + N dias&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td height="20" width="11%" class="texto" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; "&gt;&lt;div align="center"&gt;&lt;b&gt;DateDiff()&lt;/b&gt;&lt;/div&gt;&lt;/td&gt;&lt;td height="20" width="23%" class="texto" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; "&gt;&lt;div align="left"&gt;Devolve a diferença entre duas datas&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td height="20" width="11%" class="texto" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; "&gt;&lt;div align="center"&gt;&lt;b&gt;DatePart()&lt;/b&gt;&lt;/div&gt;&lt;/td&gt;&lt;td height="20" width="23%" class="texto" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; "&gt;&lt;div align="left"&gt;Devolve, a partir de uma certa data, a altura do ano&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td height="20" width="11%" class="texto" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; "&gt;&lt;div align="center"&gt;&lt;b&gt;DateSerial()&lt;/b&gt;&lt;/div&gt;&lt;/td&gt;&lt;td height="20" width="23%" class="texto" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; "&gt;&lt;div align="left"&gt;Devolve uma data para determinado Dia, Mes, Ano&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td height="20" width="11%" class="texto" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; "&gt;&lt;div align="center"&gt;&lt;b&gt;DateValue()&lt;/b&gt;&lt;/div&gt;&lt;/td&gt;&lt;td height="20" width="23%" class="texto" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; "&gt;&lt;div align="left"&gt;Devolve uma data válida&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td height="20" width="11%" class="texto" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; "&gt;&lt;div align="center"&gt;&lt;b&gt;Day()&lt;/b&gt;&lt;/div&gt;&lt;/td&gt;&lt;td height="20" width="23%" class="texto" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; "&gt;&lt;div align="left"&gt;Devolve o dia de uma data&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td height="20" width="11%" class="texto" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; "&gt;&lt;div align="center"&gt;&lt;b&gt;Exp()&lt;/b&gt;&lt;/div&gt;&lt;/td&gt;&lt;td height="20" width="23%" class="texto" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; "&gt;&lt;div align="left"&gt;Devolve o exponencial de um valor&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td height="20" width="11%" class="texto" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; "&gt;&lt;div align="center"&gt;&lt;b&gt;Filter()&lt;/b&gt;&lt;/div&gt;&lt;/td&gt;&lt;td height="20" width="23%" class="texto" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; "&gt;&lt;div align="left"&gt;Devolve o valor de uma determinada pesquisa num Array&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td height="20" width="11%" class="texto" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; "&gt;&lt;div align="center"&gt;&lt;b&gt;Fix()&lt;/b&gt;&lt;/div&gt;&lt;/td&gt;&lt;td height="20" width="23%" class="texto" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; "&gt;&lt;div align="left"&gt;Devolve o inteiro de um numero&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td height="20" width="11%" class="texto" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; "&gt;&lt;div align="center"&gt;&lt;b&gt;FormatCurrency()&lt;/b&gt;&lt;/div&gt;&lt;/td&gt;&lt;td height="20" width="23%" class="texto" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; "&gt;&lt;div align="left"&gt;Devolve um valor na moeda corrente&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td height="20" width="11%" class="texto" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; "&gt;&lt;div align="center"&gt;&lt;b&gt;FormatDateTime()&lt;/b&gt;&lt;/div&gt;&lt;/td&gt;&lt;td height="20" width="23%" class="texto" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; "&gt;&lt;div align="left"&gt;Devolve um valor na data corrente&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td height="20" width="11%" class="texto" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; "&gt;&lt;div align="center"&gt;&lt;b&gt;FormatNumber()&lt;/b&gt;&lt;/div&gt;&lt;/td&gt;&lt;td height="20" width="23%" class="texto" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; "&gt;&lt;div align="left"&gt;Devolve um numero em determinado formato&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td height="20" width="11%" class="texto" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; "&gt;&lt;div align="center"&gt;&lt;b&gt;FormatPercent()&lt;/b&gt;&lt;/div&gt;&lt;/td&gt;&lt;td height="20" width="23%" class="texto" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; "&gt;&lt;div align="left"&gt;Devolve a percentagem de um quociente&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td height="20" width="11%" class="texto" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; "&gt;&lt;div align="center"&gt;&lt;b&gt;GetObject()&lt;/b&gt;&lt;/div&gt;&lt;/td&gt;&lt;td height="20" width="23%" class="texto" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; "&gt;&lt;div align="left"&gt;Devolve e referencia de um objecto&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td height="20" width="11%" class="texto" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; "&gt;&lt;div align="center"&gt;&lt;b&gt;Hex()&lt;/b&gt;&lt;/div&gt;&lt;/td&gt;&lt;td height="20" width="23%" class="texto" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; "&gt;&lt;div align="left"&gt;Devolve o valor hexadecimal&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td height="20" width="11%" class="texto" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; "&gt;&lt;div align="center"&gt;&lt;b&gt;InStr()&lt;/b&gt;&lt;/div&gt;&lt;/td&gt;&lt;td height="20" width="23%" class="texto" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; "&gt;&lt;div align="left"&gt;Devolve a posição de uma string dentro de outra a contar do inicio&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td height="20" width="11%" class="texto" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; "&gt;&lt;div align="center"&gt;&lt;b&gt;InStrRev()&lt;/b&gt;&lt;/div&gt;&lt;/td&gt;&lt;td height="20" width="23%" class="texto" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; "&gt;&lt;div align="left"&gt;Devolve a posição de uma string dentro de outra a contar do fim&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td height="20" width="11%" class="texto" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; "&gt;&lt;div align="center"&gt;&lt;b&gt;IsArray()&lt;/b&gt;&lt;/div&gt;&lt;/td&gt;&lt;td height="20" width="23%" class="texto" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; "&gt;&lt;div align="left"&gt;Devolve True ou False sobre uma variavel array (Tabela)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td height="20" width="11%" class="texto" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; "&gt;&lt;div align="center"&gt;&lt;b&gt;IsDate()&lt;/b&gt;&lt;/div&gt;&lt;/td&gt;&lt;td height="20" width="23%" class="texto" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; "&gt;&lt;div align="left"&gt;Devolve True ou False sobre se uma variavel é uma data valida ou não&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td height="20" width="11%" class="texto" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; "&gt;&lt;div align="center"&gt;&lt;b&gt;IsEmpty()&lt;/b&gt;&lt;/div&gt;&lt;/td&gt;&lt;td height="20" width="23%" class="texto" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; "&gt;&lt;div align="left"&gt;Devolve True ou False se uma variavel está vazia ou não&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td height="20" width="11%" class="texto" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; "&gt;&lt;div align="center"&gt;&lt;b&gt;IsNull()&lt;/b&gt;&lt;/div&gt;&lt;/td&gt;&lt;td height="20" width="23%" class="texto" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; "&gt;&lt;div align="left"&gt;Devolve True ou False se uma variavel é nula ou não&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td height="20" width="11%" class="texto" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; "&gt;&lt;div align="center"&gt;&lt;b&gt;IsNumeric()&lt;/b&gt;&lt;/div&gt;&lt;/td&gt;&lt;td height="20" width="23%" class="texto" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; "&gt;&lt;div align="left"&gt;Devolve True ou False se uma variável é numérica ou não&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td height="20" width="11%" class="texto" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; "&gt;&lt;div align="center"&gt;&lt;b&gt;IsObject()&lt;/b&gt;&lt;/div&gt;&lt;/td&gt;&lt;td height="20" width="23%" class="texto" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; "&gt;&lt;div align="left"&gt;Devolve True ou False se é um objecto válido ou não&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td height="20" width="11%" class="texto" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; "&gt;&lt;div align="center"&gt;&lt;b&gt;Join()&lt;/b&gt;&lt;/div&gt;&lt;/td&gt;&lt;td height="20" width="23%" class="texto" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; "&gt;&lt;div align="left"&gt;Devolve uma variável concatenando uma variável array&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td height="20" width="11%" class="texto" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; "&gt;&lt;div align="center"&gt;&lt;b&gt;LBound()&lt;/b&gt;&lt;/div&gt;&lt;/td&gt;&lt;td height="20" width="23%" class="texto" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; "&gt;&lt;div align="left"&gt;Devolve o menor valor da dimensão de um array&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td height="20" width="11%" class="texto" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; "&gt;&lt;div align="center"&gt;&lt;b&gt;LCase()&lt;/b&gt;&lt;/div&gt;&lt;/td&gt;&lt;td height="20" width="23%" class="texto" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; "&gt;&lt;div align="left"&gt;Devolve uma strig em minusculas&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td height="20" width="11%" class="texto" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; "&gt;&lt;div align="center"&gt;&lt;b&gt;Left()&lt;/b&gt;&lt;/div&gt;&lt;/td&gt;&lt;td height="20" width="23%" class="texto" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; "&gt;&lt;div align="left"&gt;Devolve um certo numero de caracteres á esquerda de uma stringg&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td height="20" width="11%" class="texto" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; "&gt;&lt;div align="center"&gt;&lt;b&gt;Len()&lt;/b&gt;&lt;/div&gt;&lt;/td&gt;&lt;td height="20" width="23%" class="texto" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; "&gt;&lt;div align="left"&gt;Devolve o comprimento de uma string&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td height="20" width="11%" class="texto" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; "&gt;&lt;div align="center"&gt;&lt;b&gt;Log()&lt;/b&gt;&lt;/div&gt;&lt;/td&gt;&lt;td height="20" width="23%" class="texto" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; "&gt;&lt;div align="left"&gt;Devolve o logaritmo de um numero&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td height="20" width="11%" class="texto" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; "&gt;&lt;div align="center"&gt;&lt;b&gt;LTrim()&lt;/b&gt;&lt;/div&gt;&lt;/td&gt;&lt;td height="20" width="23%" class="texto" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; "&gt;&lt;div align="left"&gt;Devolve uma string eliminando os espaços á esquerda&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td height="20" width="11%" class="texto" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; "&gt;&lt;div align="center"&gt;&lt;b&gt;Mid()&lt;/b&gt;&lt;/div&gt;&lt;/td&gt;&lt;td height="20" width="23%" class="texto" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; "&gt;&lt;div align="left"&gt;Devolve um numero de caracteres a partir de uma dada posição&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td height="20" width="11%" class="texto" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; "&gt;&lt;div align="center"&gt;&lt;b&gt;Minute()&lt;/b&gt;&lt;/div&gt;&lt;/td&gt;&lt;td height="20" width="23%" class="texto" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; "&gt;&lt;div align="left"&gt;Devolve o minuto de uma dada hora&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td height="20" width="11%" class="texto" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; "&gt;&lt;div align="center"&gt;&lt;b&gt;Month()&lt;/b&gt;&lt;/div&gt;&lt;/td&gt;&lt;td height="20" width="23%" class="texto" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; "&gt;&lt;div align="left"&gt;Devolve o mes de uma data&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td height="20" width="11%" class="texto" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; "&gt;&lt;div align="center"&gt;&lt;b&gt;Monthdate()&lt;/b&gt;&lt;/div&gt;&lt;/td&gt;&lt;td height="20" width="23%" class="texto" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; "&gt;&lt;div align="left"&gt;Devolve o nome do mes correspondente a uma data&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td height="20" width="11%" class="texto" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; "&gt;&lt;div align="center"&gt;&lt;b&gt;Now()&lt;/b&gt;&lt;/div&gt;&lt;/td&gt;&lt;td height="20" width="23%" class="texto" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; "&gt;&lt;div align="left"&gt;Devolve o data e a hora corrente&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td height="20" width="11%" class="texto" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; "&gt;&lt;div align="center"&gt;&lt;b&gt;Oct()&lt;/b&gt;&lt;/div&gt;&lt;/td&gt;&lt;td height="20" width="23%" class="texto" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; "&gt;&lt;div align="left"&gt;Devolve o valor octal de um numero&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td height="20" width="11%" class="texto" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; "&gt;&lt;div align="center"&gt;&lt;b&gt;Replace()&lt;/b&gt;&lt;/div&gt;&lt;/td&gt;&lt;td height="20" width="23%" class="texto" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; "&gt;&lt;div align="left"&gt;Devolve uma string alterada por outra&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td height="20" width="11%" class="texto" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; "&gt;&lt;div align="center"&gt;&lt;b&gt;RGB()&lt;/b&gt;&lt;/div&gt;&lt;/td&gt;&lt;td height="20" width="23%" class="texto" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; "&gt;&lt;div align="left"&gt;Devolve o valor de uma cor (R)=Red/Vermelho (G)=Green/Verde (B)=Blue/Azul&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td height="20" width="11%" class="texto" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; "&gt;&lt;div align="center"&gt;&lt;b&gt;Right()&lt;/b&gt;&lt;/div&gt;&lt;/td&gt;&lt;td height="20" width="23%" class="texto" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; "&gt;&lt;div align="left"&gt;Devolve um numero de caracteres á direita de uma string&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td height="20" width="11%" class="texto" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; "&gt;&lt;div align="center"&gt;&lt;b&gt;Round()&lt;/b&gt;&lt;/div&gt;&lt;/td&gt;&lt;td height="20" width="23%" class="texto" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; "&gt;&lt;div align="left"&gt;Devolve valores numéricos arredondados&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td height="20" width="11%" class="texto" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; "&gt;&lt;div align="center"&gt;&lt;b&gt;Second()&lt;/b&gt;&lt;/div&gt;&lt;/td&gt;&lt;td height="20" width="23%" class="texto" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; "&gt;&lt;div align="left"&gt;Devolve os segundos da hora corrente&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td height="20" width="11%" class="texto" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; "&gt;&lt;div align="center"&gt;&lt;b&gt;Sgn()&lt;/b&gt;&lt;/div&gt;&lt;/td&gt;&lt;td height="20" width="23%" class="texto" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; "&gt;&lt;div align="left"&gt;Devolve o sinal de um valor (1=positivo) (0=zero) (-1=negativo)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td height="20" width="11%" class="texto" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; "&gt;&lt;div align="center"&gt;&lt;b&gt;Sin()&lt;/b&gt;&lt;/div&gt;&lt;/td&gt;&lt;td height="20" width="23%" class="texto" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; "&gt;&lt;div align="left"&gt;Devolve o seno de um angulo&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td height="20" width="11%" class="texto" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; "&gt;&lt;div align="center"&gt;&lt;b&gt;Space()&lt;/b&gt;&lt;/div&gt;&lt;/td&gt;&lt;td height="20" width="23%" class="texto" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; "&gt;&lt;div align="left"&gt;Devolve / introduz um numero de espaços entre duas strings&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td height="20" width="11%" class="texto" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; "&gt;&lt;div align="center"&gt;&lt;b&gt;Split()&lt;/b&gt;&lt;/div&gt;&lt;/td&gt;&lt;td height="20" width="23%" class="texto" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; "&gt;&lt;div align="left"&gt;Devolve um array atraves de uma string&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td height="20" width="11%" class="texto" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; "&gt;&lt;div align="center"&gt;&lt;b&gt;Sqr()&lt;/b&gt;&lt;/div&gt;&lt;/td&gt;&lt;td height="20" width="23%" class="texto" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; "&gt;&lt;div align="left"&gt;Devolve a raiz quadrada de um numero&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td height="20" width="11%" class="texto" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; "&gt;&lt;div align="center"&gt;&lt;b&gt;StrComp()&lt;/b&gt;&lt;/div&gt;&lt;/td&gt;&lt;td height="20" width="23%" class="texto" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; "&gt;&lt;div align="left"&gt;Devolve 1 ou -1 conforme as strigns são iguais ou diferentes&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td height="20" width="11%" class="texto" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; "&gt;&lt;div align="center"&gt;&lt;b&gt;StrReverse()&lt;/b&gt;&lt;/div&gt;&lt;/td&gt;&lt;td height="20" width="23%" class="texto" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; "&gt;&lt;div align="left"&gt;Devolve uma string invertendo os caracteres&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td height="20" width="11%" class="texto" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; "&gt;&lt;div align="center"&gt;&lt;b&gt;String()&lt;/b&gt;&lt;/div&gt;&lt;/td&gt;&lt;td height="20" width="23%" class="texto" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; "&gt;&lt;div align="left"&gt;Devolve um caracter repetido N vezes&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td height="20" width="11%" class="texto" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; "&gt;&lt;div align="center"&gt;&lt;b&gt;Tan()&lt;/b&gt;&lt;/div&gt;&lt;/td&gt;&lt;td height="20" width="23%" class="texto" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; "&gt;&lt;div align="left"&gt;Devolve a tangente de um numero&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td height="20" width="11%" class="texto" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; "&gt;&lt;div align="center"&gt;&lt;b&gt;Time()&lt;/b&gt;&lt;/div&gt;&lt;/td&gt;&lt;td height="20" width="23%" class="texto" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; "&gt;&lt;div align="left"&gt;Devolve a hora do sistema&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td height="20" width="11%" class="texto" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; "&gt;&lt;div align="center"&gt;&lt;b&gt;Timevalue()&lt;/b&gt;&lt;/div&gt;&lt;/td&gt;&lt;td height="20" width="23%" class="texto" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; "&gt;&lt;div align="left"&gt;Devolve uma hora válida&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td height="20" width="11%" class="texto" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; "&gt;&lt;div align="center"&gt;&lt;b&gt;TypeName()&lt;/b&gt;&lt;/div&gt;&lt;/td&gt;&lt;td height="20" width="23%" class="texto" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; "&gt;&lt;div align="left"&gt;Devolve o tipo de variável&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td height="20" width="11%" class="texto" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; "&gt;&lt;div align="center"&gt;&lt;b&gt;UBound()&lt;/b&gt;&lt;/div&gt;&lt;/td&gt;&lt;td height="20" width="23%" class="texto" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; "&gt;&lt;div align="left"&gt;Devolve o maior valor da dimensão de um array&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td height="20" width="11%" class="texto" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; "&gt;&lt;div align="center"&gt;&lt;b&gt;Ucase()&lt;/b&gt;&lt;/div&gt;&lt;/td&gt;&lt;td height="20" width="23%" class="texto" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; "&gt;&lt;div align="left"&gt;Devolve uma string em maiusculas&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td height="20" width="11%" class="texto" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; "&gt;&lt;div align="center"&gt;&lt;b&gt;VarType()&lt;/b&gt;&lt;/div&gt;&lt;/td&gt;&lt;td height="20" width="23%" class="texto" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; "&gt;&lt;div align="left"&gt;&lt;p&gt;Devolve um numero correspondente ao tipo de variável&lt;/p&gt;&lt;p&gt;0-Vazia ; 1-Nula ; 2-Integer ; 3-Long ; 4-Single ; 5-Double ; 6-Currency&lt;/p&gt;&lt;p&gt;7-Data ; 8-String ; 9-Object ; 10-Error ; 11-Booleano ; 12-Variant ; 13-DAO&lt;/p&gt;&lt;p&gt;17-Byte ; 8192-Array&lt;/p&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td height="20" width="11%" class="texto" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; "&gt;&lt;div align="center"&gt;&lt;b&gt;Weekday()&lt;/b&gt;&lt;/div&gt;&lt;/td&gt;&lt;td height="20" width="23%" class="texto" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; "&gt;&lt;div align="left"&gt;Devolve o dia da semana, um numero (1=Domingo), etc.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td height="20" width="11%" class="texto" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; "&gt;&lt;div align="center"&gt;&lt;b&gt;WeekDayName()&lt;/b&gt;&lt;/div&gt;&lt;/td&gt;&lt;td height="20" width="23%" class="texto" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; "&gt;&lt;div align="left"&gt;Devolve por extenso o dia da semana&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td height="20" width="11%" class="texto" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; "&gt;&lt;div align="center"&gt;&lt;b&gt;Year()&lt;/b&gt;&lt;/div&gt;&lt;/td&gt;&lt;td height="20" width="23%" class="texto" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; "&gt;&lt;div align="left"&gt;Devolve o ano da data&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;/td&gt;&lt;td width="5"&gt;&lt;/td&gt;&lt;td bgcolor="#FF7B00" width="1"&gt;&lt;img src="http://www.truquesedicas.com/imagens/linha_tranp.gif" width="1" height="1" /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr bgcolor="#FF7B00"&gt;&lt;td height="1" width="1"&gt;&lt;img src="http://www.truquesedicas.com/imagens/linha_tranp.gif" width="1" height="1" /&gt;&lt;/td&gt;&lt;td height="1" width="5"&gt;&lt;img src="http://www.truquesedicas.com/imagens/linha_tranp.gif" width="1" height="1" /&gt;&lt;/td&gt;&lt;td height="1" width="7"&gt;&lt;img src="http://www.truquesedicas.com/imagens/linha_tranp.gif" width="1" height="1" /&gt;&lt;/td&gt;&lt;td height="1" width="3%"&gt;&lt;img src="http://www.truquesedicas.com/imagens/linha_tranp.gif" width="1" height="1" /&gt;&lt;/td&gt;&lt;td height="1" width="6"&gt;&lt;img src="http://www.truquesedicas.com/imagens/linha_tranp.gif" width="1" height="1" /&gt;&lt;/td&gt;&lt;td height="1" width="5"&gt;&lt;br /&gt;&lt;img src="http://www.truquesedicas.com/imagens/linha_tranp.gif" width="1" height="1" /&gt;&lt;/td&gt;&lt;td height="1" width="1"&gt;&lt;img src="http://www.truquesedicas.com/imagens/linha_tranp.gif" width="1" height="1" /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4684750288742513326-3977792296456802374?l=programscomputer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://programscomputer.blogspot.com/feeds/3977792296456802374/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4684750288742513326&amp;postID=3977792296456802374' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/3977792296456802374'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/3977792296456802374'/><link rel='alternate' type='text/html' href='http://programscomputer.blogspot.com/2010/04/tabela-de-funcoes-asp.html' title='Tabela de Funções - Asp'/><author><name>Blogado</name><uri>http://www.blogger.com/profile/00508039577491745861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_6UXYawCQWIo/S70WStqNO1I/AAAAAAAADp8/5ewwaBILK10/s72-c/20100407+asp.net.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4684750288742513326.post-3402652152748763553</id><published>2010-03-09T17:00:00.000-08:00</published><updated>2010-03-09T17:38:36.417-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='pesquisa'/><category scheme='http://www.blogger.com/atom/ns#' term='Delphi'/><category scheme='http://www.blogger.com/atom/ns#' term='on line'/><category scheme='http://www.blogger.com/atom/ns#' term='Programação'/><category scheme='http://www.blogger.com/atom/ns#' term='Girar'/><category scheme='http://www.blogger.com/atom/ns#' term='Rotacionar'/><category scheme='http://www.blogger.com/atom/ns#' term='Imagens'/><category scheme='http://www.blogger.com/atom/ns#' term='Dicas'/><title type='text'>Delphi - Girar imagem 90 graus</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_6UXYawCQWIo/S5b3pmQPxoI/AAAAAAAADn0/OCPPKbJo8Is/s1600-h/20091228+delphi+2009.gif"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 200px; height: 196px;" src="http://2.bp.blogspot.com/_6UXYawCQWIo/S5b3pmQPxoI/AAAAAAAADn0/OCPPKbJo8Is/s200/20091228+delphi+2009.gif" border="0" alt="Delphi   , Dicas   , Imagens   , Girar  , Rotacionar  , programação  , dicas  , on line  , pesquisa  , " title="Delphi   , Dicas   , Imagens   , Girar  , Rotacionar  , programação  , dicas  , on line  , pesquisa  , " id="BLOGGER_PHOTO_ID_5446813093366580866" /&gt;&lt;/a&gt;&lt;br /&gt;Para &lt;span style="font-weight:bold;"&gt;rotacionar &lt;/span&gt;uma imagem &lt;span style="font-weight:bold;"&gt;BMP &lt;/span&gt;90 graus, seja direita ou esquerda, utilize o seguinte bloco de instrução;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;-&gt; Coloque em um &lt;span style="font-weight:bold;"&gt;form&lt;/span&gt;, dois componentes &lt;span style="font-weight:bold;"&gt;TImage&lt;/span&gt;, nomei-os como Origem e Resultado, e insira dois botões, com as Captions 90º e -90º.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;-&gt; Para o evento do 90º digite o código:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;procedure TfrmRodar.Mais90Click(Sender: TObject);&lt;br /&gt;&lt;br /&gt;var&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;X, Y: integer;&lt;br /&gt;&lt;br /&gt;begin&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Resultado.Width := Origem.Height;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Resultado.Height := Origem.Width;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="font-weight:bold;"&gt;Resultado&lt;/span&gt;.Update;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;for X := 0 to Origem.Width do&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;for Y := 0 to Origem.Height do&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Resultado.&lt;span style="font-weight:bold;"&gt;Canvas&lt;/span&gt;.Pixels[Y, Origem.Width - X] := Origem.Canvas.Pixels[X,Y];&lt;br /&gt;&lt;br /&gt;end;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.delphidicas.com.br/dicas/338/Girar-imagem-90-graus.html"&gt;Leia Mais&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4684750288742513326-3402652152748763553?l=programscomputer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://programscomputer.blogspot.com/feeds/3402652152748763553/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4684750288742513326&amp;postID=3402652152748763553' title='1 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/3402652152748763553'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/3402652152748763553'/><link rel='alternate' type='text/html' href='http://programscomputer.blogspot.com/2010/03/delphi-girar-imagem-90-graus.html' title='Delphi - Girar imagem 90 graus'/><author><name>Blogado</name><uri>http://www.blogger.com/profile/00508039577491745861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_6UXYawCQWIo/S5b3pmQPxoI/AAAAAAAADn0/OCPPKbJo8Is/s72-c/20091228+delphi+2009.gif' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4684750288742513326.post-1065208032733234250</id><published>2010-02-12T16:32:00.000-08:00</published><updated>2010-02-12T16:53:26.817-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='firefox'/><category scheme='http://www.blogger.com/atom/ns#' term='explorer'/><category scheme='http://www.blogger.com/atom/ns#' term='settime'/><category scheme='http://www.blogger.com/atom/ns#' term='var'/><category scheme='http://www.blogger.com/atom/ns#' term='Internet'/><category scheme='http://www.blogger.com/atom/ns#' term='javascritp'/><category scheme='http://www.blogger.com/atom/ns#' term='window'/><category scheme='http://www.blogger.com/atom/ns#' term='jQuery'/><category scheme='http://www.blogger.com/atom/ns#' term='funcao'/><title type='text'>Funções setTimeout, setInterval</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_6UXYawCQWIo/S3X3c7W-4aI/AAAAAAAADmE/fwEFR328unY/s1600-h/20100212+jquery.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 200px; height: 200px;" src="http://1.bp.blogspot.com/_6UXYawCQWIo/S3X3c7W-4aI/AAAAAAAADmE/fwEFR328unY/s200/20100212+jquery.png" alt="jquery  , firefox  , settime   , funcao   , window   , Internet,  explorer  , var  , javascritp  , " title="jquery  , firefox  , settime   , funcao   , window   , Internet,  explorer  , var  , javascritp  , " id="BLOGGER_PHOTO_ID_5437524201462227362" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Em um projeto de slideshow que tive que montar, o projeto rodou normalmente, até que o momento que fui testar no Firefox, ai descobri que a função setTimeout e setInterval, não funcionavam bem.&lt;br /&gt;&lt;br /&gt;Primeiramente descobri que tinha que referenciar o objeto window , pois o meu codigo se encontrava assim:&lt;br /&gt;&lt;br /&gt;Internet Explorer&lt;br /&gt;&lt;br /&gt;  * var vTimer = setTimeout("minhafuncao()",2000);&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Funcionava tudo, mais descobri que no Firefox, tinha que ser:&lt;br /&gt;&lt;br /&gt;  * var vTimer = window.setTimeout("minhafuncao()",2000);&lt;br /&gt;&lt;br /&gt;&lt;a href="http://jquerypassoapasso.blogspot.com/2007/05/dicas-javascript-funes-settimeout.html"&gt;Leia Mais: http://jquerypassoapasso.blogspot.com/2007/05/dicas-javascript-funes-settimeout.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4684750288742513326-1065208032733234250?l=programscomputer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://programscomputer.blogspot.com/feeds/1065208032733234250/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4684750288742513326&amp;postID=1065208032733234250' title='2 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/1065208032733234250'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/1065208032733234250'/><link rel='alternate' type='text/html' href='http://programscomputer.blogspot.com/2010/02/funcoes-settimeout-setinterval.html' title='Funções setTimeout, setInterval'/><author><name>Blogado</name><uri>http://www.blogger.com/profile/00508039577491745861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_6UXYawCQWIo/S3X3c7W-4aI/AAAAAAAADmE/fwEFR328unY/s72-c/20100212+jquery.png' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4684750288742513326.post-4922666994257972502</id><published>2010-01-27T15:06:00.000-08:00</published><updated>2010-01-27T15:25:32.625-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='frameworks'/><category scheme='http://www.blogger.com/atom/ns#' term='Dica'/><category scheme='http://www.blogger.com/atom/ns#' term='MXML'/><category scheme='http://www.blogger.com/atom/ns#' term='classes'/><category scheme='http://www.blogger.com/atom/ns#' term='XML'/><category scheme='http://www.blogger.com/atom/ns#' term='actionscript'/><title type='text'>Dicas de Flex e MXML</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_6UXYawCQWIo/S2DLVLBeTgI/AAAAAAAADjs/4QfHYlmRaXE/s1600-h/20100127+flex.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 250px; height: 250px;" src="http://1.bp.blogspot.com/_6UXYawCQWIo/S2DLVLBeTgI/AAAAAAAADjs/4QfHYlmRaXE/s320/20100127+flex.png" alt="MXML, classes , actionscript,   frameworks   , dica    , XML   , Classes," title="MXML, classes , actionscript,   frameworks   , dica    , XML   , Classes," id="BLOGGER_PHOTO_ID_5431564715205479938" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Uma das melhores idéias do Flex, e o que o torna bastante produtivo na minha opinião é a existencia de uma “linguagem” para layout de telas, é o tal de &lt;span style="font-weight: bold;"&gt;MXML&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;Claro que eu sei que é apenas XML, mas é XML com acesso direto as &lt;span style="font-weight: bold;"&gt;classes &lt;/span&gt;existentes e recem criadas, e uma mão na roda para separar o código do layout, facilitando bastante a escrita de código MVC compliant.&lt;br /&gt;&lt;br /&gt;O maior problema da arquitetura básica do Flex é não ser “óbvio” como escrever o código de tratamento dos eventos gerados sem poluir o MXML com muitas tags “mx:Script” e muito código &lt;span style="font-weight: bold;"&gt;ActionScript&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;Claro que existem alguns &lt;span style="font-weight: bold;"&gt;frameworks &lt;/span&gt;para o desenvolvimento de aplicações Flex como o Cairngorm e o PureMVC, mas algumas vezes estes frameworks mais complicam do que ajudam, e mesmo utilizando um deles, esta &lt;span style="font-weight: bold;"&gt;dica &lt;/span&gt;que vou apresentar agora de como simular o “code behind” do “.NET” em flex pode ser utilizada sem maiores problemas …&lt;br /&gt;&lt;br /&gt;A idéia principal é separa o código &lt;span style="font-weight: bold;"&gt;ActionScript &lt;/span&gt;do código &lt;span style="font-weight: bold;"&gt;XML&lt;/span&gt;, como se fosse uma “partial class” do “.NET”, o Flex não suporta Partial &lt;span style="font-weight: bold;"&gt;Classes&lt;/span&gt;, mas suporta herança, e podemos tirar proveito disto …&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.urubatan.com.br/dicas-e-truques-adobe-flex-mxml-e-para-layout-actionscript-para-o-codigo/"&gt;Leia Mais&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4684750288742513326-4922666994257972502?l=programscomputer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://programscomputer.blogspot.com/feeds/4922666994257972502/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4684750288742513326&amp;postID=4922666994257972502' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/4922666994257972502'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/4922666994257972502'/><link rel='alternate' type='text/html' href='http://programscomputer.blogspot.com/2010/01/dicas-de-flex-e-mxml.html' title='Dicas de Flex e MXML'/><author><name>Blogado</name><uri>http://www.blogger.com/profile/00508039577491745861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_6UXYawCQWIo/S2DLVLBeTgI/AAAAAAAADjs/4QfHYlmRaXE/s72-c/20100127+flex.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4684750288742513326.post-1599991332333101989</id><published>2010-01-14T15:17:00.000-08:00</published><updated>2010-01-14T15:55:45.876-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JavaScript'/><category scheme='http://www.blogger.com/atom/ns#' term='Arquivos'/><category scheme='http://www.blogger.com/atom/ns#' term='validacao'/><category scheme='http://www.blogger.com/atom/ns#' term='listagem de arquivos'/><category scheme='http://www.blogger.com/atom/ns#' term='arquivos inc'/><category scheme='http://www.blogger.com/atom/ns#' term='magic_quotes'/><category scheme='http://www.blogger.com/atom/ns#' term='html injecton'/><category scheme='http://www.blogger.com/atom/ns#' term='HTML'/><title type='text'>Segurança em PHP</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_6UXYawCQWIo/S0-qgQR33vI/AAAAAAAADiU/4l1ErCa1Np8/s1600-h/20100114+seguranca+em+php.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 235px; height: 244px;" src="http://2.bp.blogspot.com/_6UXYawCQWIo/S0-qgQR33vI/AAAAAAAADiU/4l1ErCa1Np8/s400/20100114+seguranca+em+php.jpg" alt="arquivos inc, listagem de arquivos, magic_quotes,  html  , validacao  , javascript  , arquivos  , html injecton" title="arquivos inc, listagem de arquivos, magic_quotes,  html  , validacao  , javascript  , arquivos  , html injecton" id="BLOGGER_PHOTO_ID_5426743547107204850" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;1) Cuidado ao utilizar arquivos ".&lt;span style="font-weight: bold;"&gt;inc&lt;/span&gt;". Muitos programadores preferem usar arquivos ".inc" para identificar arquivos que são chamados através das funções include() e require() (e as respectivas "_once").&lt;br /&gt;&lt;br /&gt;2) Listagem de &lt;span style="font-weight: bold;"&gt;Arquivos &lt;/span&gt;e Pastas. Evite curiosos e problemas bloqueando a listagem de arquivos.&lt;br /&gt;&lt;br /&gt;3) &lt;span style="font-weight: bold;"&gt;Magic_Quotes&lt;/span&gt; on? Muito cuidado ao portar o código.&lt;br /&gt;&lt;br /&gt;4) Nunca confie no &lt;span style="font-weight: bold;"&gt;HTML&lt;/span&gt;. Cuidado especial com formulários.&lt;br /&gt;&lt;br /&gt;5) Validação &lt;span style="font-weight: bold;"&gt;Javascript&lt;/span&gt;. Útil, mas se, e somente se, for implementada JUNTO com a validação server-side.&lt;br /&gt;&lt;br /&gt;6) Manipular &lt;span style="font-weight: bold;"&gt;arquivos &lt;/span&gt;é útil, mas tome os devidos cuidados.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;7) Retorno de informações mal-feito pode levar a HTML &lt;span style="font-weight: bold;"&gt;Injection&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Leia Mais: http://forum.locaweb.com.br/showthread.php?t=311&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4684750288742513326-1599991332333101989?l=programscomputer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://programscomputer.blogspot.com/feeds/1599991332333101989/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4684750288742513326&amp;postID=1599991332333101989' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/1599991332333101989'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/1599991332333101989'/><link rel='alternate' type='text/html' href='http://programscomputer.blogspot.com/2010/01/seguranca-em-php.html' title='Segurança em PHP'/><author><name>Blogado</name><uri>http://www.blogger.com/profile/00508039577491745861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_6UXYawCQWIo/S0-qgQR33vI/AAAAAAAADiU/4l1ErCa1Np8/s72-c/20100114+seguranca+em+php.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4684750288742513326.post-710297256014723512</id><published>2009-12-28T15:32:00.000-08:00</published><updated>2009-12-28T15:43:17.184-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Delphi'/><category scheme='http://www.blogger.com/atom/ns#' term='TMemo'/><category scheme='http://www.blogger.com/atom/ns#' term='website'/><category scheme='http://www.blogger.com/atom/ns#' term='Internet'/><category scheme='http://www.blogger.com/atom/ns#' term='Microsoft'/><category scheme='http://www.blogger.com/atom/ns#' term='HTML'/><category scheme='http://www.blogger.com/atom/ns#' term='TWebBrowser'/><category scheme='http://www.blogger.com/atom/ns#' term='navegador'/><title type='text'>Visualizando HTML no Componente Memo</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_6UXYawCQWIo/SzlCJkD9_FI/AAAAAAAADgo/skV0vvXEgUU/s1600-h/20091228+delphi+2009.gif"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 313px;" src="http://3.bp.blogspot.com/_6UXYawCQWIo/SzlCJkD9_FI/AAAAAAAADgo/skV0vvXEgUU/s320/20091228+delphi+2009.gif" alt="website, delphi  , html  , TMemo  , TWebBrowser , navegador  , internet  , Microsoft" title="website, delphi  , html  , TMemo  , TWebBrowser , navegador  , internet  , Microsoft" id="BLOGGER_PHOTO_ID_5420436358583680082" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Nesta dica vamos ver como &lt;strong&gt;acessar um website&lt;/strong&gt; através do &lt;strong&gt;Delphi&lt;/strong&gt; e exibir o código &lt;strong&gt;HTML&lt;/strong&gt; do mesmo, no c&lt;strong&gt;omponente TMemo&lt;/strong&gt;. Para este exemplo está sendo utlizado o componente &lt;strong&gt;TWebBrowser&lt;/strong&gt; que vai acessar o website e o código fonte em si. É possível fazer muitas coisas interessantes com o &lt;strong&gt;TWebBrowser&lt;/strong&gt; até mesmo &lt;strong&gt;criar um navegador de Internet&lt;/strong&gt;. Um detalhe adicional é que o &lt;strong&gt;componente TWebBrowser&lt;/strong&gt; é baseado no &lt;strong&gt;Internet Explorer&lt;/strong&gt; e a sua documentação está no site de desenvolvedores da &lt;strong&gt;Microsof.&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Leia Mais: &lt;a href="http://www.dicasdelphi.com.br/dica-vizualizando-html-no-componente-memo/"&gt;http://www.dicasdelphi.com.br/dica-vizualizando-html-no-componente-memo/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4684750288742513326-710297256014723512?l=programscomputer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://programscomputer.blogspot.com/feeds/710297256014723512/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4684750288742513326&amp;postID=710297256014723512' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/710297256014723512'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/710297256014723512'/><link rel='alternate' type='text/html' href='http://programscomputer.blogspot.com/2009/12/visualizando-html-no-componente-memo.html' title='Visualizando HTML no Componente Memo'/><author><name>Blogado</name><uri>http://www.blogger.com/profile/00508039577491745861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_6UXYawCQWIo/SzlCJkD9_FI/AAAAAAAADgo/skV0vvXEgUU/s72-c/20091228+delphi+2009.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4684750288742513326.post-2727333353941547251</id><published>2009-12-13T15:27:00.000-08:00</published><updated>2009-12-13T15:57:19.705-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='VB.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='clientes'/><category scheme='http://www.blogger.com/atom/ns#' term='projeto'/><category scheme='http://www.blogger.com/atom/ns#' term='Asp gerando .Doc'/><category scheme='http://www.blogger.com/atom/ns#' term='dinamico'/><category scheme='http://www.blogger.com/atom/ns#' term='Dados'/><title type='text'>Asp gerando .Doc</title><content type='html'>Pois neste artigo vamos mostrar uma forma de gerar arquivos no formato .doc em uma aplicação ASP .NET em tempo de execução usando somente os recursos da ASP .NET.&lt;br /&gt;&lt;br /&gt;O projeto  vai usar o recurso do LINQ to SQL para se mapear a tabela Customer do banco de dados Northwind.mdf e assim exibir uma relação de clientes em um componente Dropdownlist em uma página ASP.NET.&lt;br /&gt;&lt;br /&gt;Após selecionar um cliente do dropdownlist e clicar no botão de comando será gerado um arquivo doc contendo uma tabela com alguns dados do cliente e um texto com os dados selecionados.&lt;br /&gt;&lt;br /&gt;Abra o VWD e crie um novo web site no menu File-&gt; New Web Site usando o template ASP .NET Web site e a linguagem Visual Basic com o nome de geraDoc;&lt;br /&gt;&lt;br /&gt;A seguir vamos incluir um novo projeto a partir do menu File-&gt;Add New Project  e na janela Add New Project selecione o template Class Library e informe o nome Entities e clique em OK;   &lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_6UXYawCQWIo/SyV-ehNTHrI/AAAAAAAADfA/fmvWoJQyoQM/s1600-h/20091312+asp.gif"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 207px;" src="http://1.bp.blogspot.com/_6UXYawCQWIo/SyV-ehNTHrI/AAAAAAAADfA/fmvWoJQyoQM/s320/20091312+asp.gif" alt="Asp gerando .Doc, dinamico  , projeto  , vb.net  , dados  , clientes  , " title="Asp gerando .Doc, dinamico  , projeto  , vb.net  , dados  , clientes " id="BLOGGER_PHOTO_ID_5414873189758213810" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Leia Mais: http://www.macoratti.net/09/12/asp_gadd.htm&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4684750288742513326-2727333353941547251?l=programscomputer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://programscomputer.blogspot.com/feeds/2727333353941547251/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4684750288742513326&amp;postID=2727333353941547251' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/2727333353941547251'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/2727333353941547251'/><link rel='alternate' type='text/html' href='http://programscomputer.blogspot.com/2009/12/asp-gerando-doc.html' title='Asp gerando .Doc'/><author><name>Blogado</name><uri>http://www.blogger.com/profile/00508039577491745861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_6UXYawCQWIo/SyV-ehNTHrI/AAAAAAAADfA/fmvWoJQyoQM/s72-c/20091312+asp.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4684750288742513326.post-2642232959448626594</id><published>2009-11-11T15:12:00.000-08:00</published><updated>2009-11-11T15:33:58.724-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='compativel'/><category scheme='http://www.blogger.com/atom/ns#' term='operador de referência'/><category scheme='http://www.blogger.com/atom/ns#' term='magic_quotes'/><category scheme='http://www.blogger.com/atom/ns#' term='register_globals'/><category scheme='http://www.blogger.com/atom/ns#' term='Dicas'/><category scheme='http://www.blogger.com/atom/ns#' term='php6'/><category scheme='http://www.blogger.com/atom/ns#' term='Arrays longas'/><title type='text'>Compatibilidade com PHP 6</title><content type='html'>&lt;a href="http://2.bp.blogspot.com/_6UXYawCQWIo/SvtH-GnIvwI/AAAAAAAADdY/W0qBIGpsAkM/s1600-h/20091111+php6.png"&gt;&lt;img style="MARGIN: 0px 0px 10px 10px; WIDTH: 200px; FLOAT: right; HEIGHT: 105px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5402991310213267202" border="0" alt="register_globals, php6 , magic_quotes, Arrays longas, operador de referência, Dicas,  compativel , " title="register_globals, php6 , magic_quotes, Arrays longas, operador de referência, Dicas,  compativel" src="http://2.bp.blogspot.com/_6UXYawCQWIo/SvtH-GnIvwI/AAAAAAAADdY/W0qBIGpsAkM/s200/20091111+php6.png" /&gt;&lt;/a&gt;&lt;br /&gt;Desenvolvedores PHP, assim como todos os outros desenvolvedores, desejam que seus códigos sejam o mais compatível possível. Algumas vezes isso envolve olhar pro passado e ver se os scripts possuem retro-compatibilidade. Porém, algumas vezes, temos que olhar para o futuro para ver o que está mudando e entender o que podemos fazer para tornarmo-nos compatíveis.&lt;br /&gt;&lt;br /&gt;PHP 6 é a versão mais recente do PHP.  Porém, é importante já irmos considerando as mudanças que tomamos conhecimento até o momento e escrever scripts que serão compatíveis. São pequenas dicas que irão te ajudar a melhorar seus scripts e ainda ganhar uma moral.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.phpit.com.br/artigos/tornando-se-compativel-com-o-php-6.phpit"&gt;Leia Mais&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4684750288742513326-2642232959448626594?l=programscomputer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://programscomputer.blogspot.com/feeds/2642232959448626594/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4684750288742513326&amp;postID=2642232959448626594' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/2642232959448626594'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/2642232959448626594'/><link rel='alternate' type='text/html' href='http://programscomputer.blogspot.com/2009/11/compatibilidade-com-php-6.html' title='Compatibilidade com PHP 6'/><author><name>Blogado</name><uri>http://www.blogger.com/profile/00508039577491745861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_6UXYawCQWIo/SvtH-GnIvwI/AAAAAAAADdY/W0qBIGpsAkM/s72-c/20091111+php6.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4684750288742513326.post-8819445499886427678</id><published>2009-10-06T16:21:00.000-07:00</published><updated>2009-10-06T16:39:39.092-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Delphi'/><category scheme='http://www.blogger.com/atom/ns#' term='dbgrid'/><category scheme='http://www.blogger.com/atom/ns#' term='evento'/><category scheme='http://www.blogger.com/atom/ns#' term='OnClick'/><category scheme='http://www.blogger.com/atom/ns#' term='programacao'/><title type='text'>Adicionar o evento OnClick do DBGrid</title><content type='html'>&lt;a href="http://2.bp.blogspot.com/_6UXYawCQWIo/SsvU0eTDjHI/AAAAAAAADbw/29YglyAutDw/s1600-h/20091006+dbgrid.gif"&gt;&lt;img style="MARGIN: 0px 0px 10px 10px; WIDTH: 200px; FLOAT: right; HEIGHT: 141px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5389635377030204530" title="dbgrid, delphi, programacao , onclick, evento" border="0" alt="dbgrid, delphi, programacao , onclick, evento" src="http://2.bp.blogspot.com/_6UXYawCQWIo/SsvU0eTDjHI/AAAAAAAADbw/29YglyAutDw/s200/20091006+dbgrid.gif" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Meu programa precisa processar algo quando o usuário clicar no DBGrid em um determinado form. O problema é que o DBGrid não possui o evento &lt;strong&gt;OnClick&lt;/strong&gt;. É possível adicionar este evento no DBGrid?&lt;br /&gt;&lt;br /&gt;Solução:&lt;br /&gt;&lt;br /&gt;É possível sim. &lt;strong&gt;Afinal&lt;/strong&gt; é muito simples. Siga os passos abaixo&lt;br /&gt;para resolver seu problema:&lt;br /&gt;&lt;br /&gt;- Monte seu form normalmente, colocando o &lt;strong&gt;DBGrid&lt;/strong&gt; e demais&lt;br /&gt;&lt;strong&gt;componentes&lt;/strong&gt;;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.tecnobyte.com.br/dica8.html"&gt;Leia Mais&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4684750288742513326-8819445499886427678?l=programscomputer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://programscomputer.blogspot.com/feeds/8819445499886427678/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4684750288742513326&amp;postID=8819445499886427678' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/8819445499886427678'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/8819445499886427678'/><link rel='alternate' type='text/html' href='http://programscomputer.blogspot.com/2009/10/adicionar-o-evento-onclick-do-dbgrid.html' title='Adicionar o evento OnClick do DBGrid'/><author><name>Blogado</name><uri>http://www.blogger.com/profile/00508039577491745861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_6UXYawCQWIo/SsvU0eTDjHI/AAAAAAAADbw/29YglyAutDw/s72-c/20091006+dbgrid.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4684750288742513326.post-1650491655031993202</id><published>2009-09-15T14:17:00.000-07:00</published><updated>2009-09-15T14:59:08.061-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='video'/><category scheme='http://www.blogger.com/atom/ns#' term='Delphi'/><category scheme='http://www.blogger.com/atom/ns#' term='media player'/><category scheme='http://www.blogger.com/atom/ns#' term='interativas'/><category scheme='http://www.blogger.com/atom/ns#' term='aplicações'/><category scheme='http://www.blogger.com/atom/ns#' term='atraentes'/><category scheme='http://www.blogger.com/atom/ns#' term='display'/><title type='text'>Trabalhando com vídeos no Delphi</title><content type='html'>A utilização de arquivos de vídeo no &lt;strong&gt;Delphi&lt;/strong&gt; pode incrementar suas aplicações &lt;strong&gt;tornando&lt;/strong&gt;-as mais atraentes e &lt;strong&gt;interativas&lt;/strong&gt;.&lt;br /&gt;&lt;br /&gt;&lt;img id="BLOGGER_PHOTO_ID_5381816006481777090" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 400px; CURSOR: hand; HEIGHT: 239px; TEXT-ALIGN: center" alt="" src="http://2.bp.blogspot.com/_6UXYawCQWIo/SrANJNDbkcI/AAAAAAAADaY/yMQxvzI8a1M/s400/20090915+inserindo+video+no+delphi.jpg" border="0" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.planetadelphi.com.br/artigo/208056/trabalhando-com-videos-no-delphi"&gt;Leia Mais&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4684750288742513326-1650491655031993202?l=programscomputer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://programscomputer.blogspot.com/feeds/1650491655031993202/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4684750288742513326&amp;postID=1650491655031993202' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/1650491655031993202'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/1650491655031993202'/><link rel='alternate' type='text/html' href='http://programscomputer.blogspot.com/2009/09/blog-post.html' title='Trabalhando com vídeos no Delphi'/><author><name>Blogado</name><uri>http://www.blogger.com/profile/00508039577491745861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_6UXYawCQWIo/SrANJNDbkcI/AAAAAAAADaY/yMQxvzI8a1M/s72-c/20090915+inserindo+video+no+delphi.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4684750288742513326.post-2348777566867950058</id><published>2009-09-04T17:39:00.000-07:00</published><updated>2009-09-04T18:00:48.164-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Web'/><category scheme='http://www.blogger.com/atom/ns#' term='desenvolvedor'/><category scheme='http://www.blogger.com/atom/ns#' term='ataque'/><category scheme='http://www.blogger.com/atom/ns#' term='Banco de Dados'/><category scheme='http://www.blogger.com/atom/ns#' term='dinamico'/><category scheme='http://www.blogger.com/atom/ns#' term='comandos sql mal intencionados'/><category scheme='http://www.blogger.com/atom/ns#' term='Microsoft'/><category scheme='http://www.blogger.com/atom/ns#' term='invasao'/><category scheme='http://www.blogger.com/atom/ns#' term='site'/><category scheme='http://www.blogger.com/atom/ns#' term='seguranca'/><category scheme='http://www.blogger.com/atom/ns#' term='cartao de credito'/><title type='text'>Construindo e configurando sites mais seguros</title><content type='html'>&lt;a href="http://1.bp.blogspot.com/_6UXYawCQWIo/SqG3egxHrxI/AAAAAAAADYQ/dsRv-FX08JI/s1600-h/20090903+seguranca.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5377781164877000466" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; WIDTH: 200px; CURSOR: hand; HEIGHT: 198px" alt="seguranca  , invasao , site  , microsoft  , desenvolvedor  , ataque  , web  , dinamico , banco de dados  , cartao de credito , comandos sql mal intencionados" title="seguranca  , invasao , site  , microsoft  , desenvolvedor  , ataque  , web  , dinamico , banco de dados  , cartao de credito , comandos sql mal intencionados" src="http://1.bp.blogspot.com/_6UXYawCQWIo/SqG3egxHrxI/AAAAAAAADYQ/dsRv-FX08JI/s200/20090903+seguranca.jpg" border="0" /&gt;&lt;/a&gt;Um site criado por engenheiros da Microsoft usando &lt;strong&gt;Microsoft .NET Framework, Microsoft Windows 2000 Advanced Server, Internet Information Services 5.0 e Microsoft SQL Server 2000&lt;/strong&gt; resistiu com sucesso a mais de 82.500 tentativas de ataque.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Este artigo explica como a solução foi construída e configurada, e mostra boas práticas para que  &lt;strong&gt;administradores &lt;/strong&gt;de sistemas possam proteger suas soluções.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Introdução&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;Indivíduos espalhados pelos Estados Unidos foram, convidados a tentar comprometer a segurança dos sites resultantes em troca de prêmios em dinheiro. As brechas aceitáveis consistiam em ataques cruzados com scripts, exposição de código fonte de página web dinâmica, desfiguração de página web, postagem de comandos SQL mal intencionados nas bases de dados e roubo de dados de cartões de crédito das bases de dados utilizadas.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/pt-br/library/aa302370.aspx"&gt;Leia na íntegra&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4684750288742513326-2348777566867950058?l=programscomputer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://programscomputer.blogspot.com/feeds/2348777566867950058/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4684750288742513326&amp;postID=2348777566867950058' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/2348777566867950058'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/2348777566867950058'/><link rel='alternate' type='text/html' href='http://programscomputer.blogspot.com/2009/09/construindo-e-configurando-sites-mais.html' title='Construindo e configurando sites mais seguros'/><author><name>Blogado</name><uri>http://www.blogger.com/profile/00508039577491745861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_6UXYawCQWIo/SqG3egxHrxI/AAAAAAAADYQ/dsRv-FX08JI/s72-c/20090903+seguranca.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4684750288742513326.post-8272861707378482665</id><published>2009-09-01T17:23:00.000-07:00</published><updated>2009-09-01T18:05:37.950-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Servidor'/><category scheme='http://www.blogger.com/atom/ns#' term='economizar'/><category scheme='http://www.blogger.com/atom/ns#' term='uploda'/><category scheme='http://www.blogger.com/atom/ns#' term='https'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL'/><category scheme='http://www.blogger.com/atom/ns#' term='processamento'/><title type='text'>Economizando processamento do servidor - PHP</title><content type='html'>&lt;a href="http://1.bp.blogspot.com/_6UXYawCQWIo/Sp2_Or-_L4I/AAAAAAAADWY/s1kYOAkc4YA/s1600-h/20090901+economia.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5376663789196226434" title="economizar, servidor, processamento, sql, uploda, https" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; WIDTH: 200px; CURSOR: hand; HEIGHT: 181px" alt="economizar, servidor, processamento, sql, uploda, https" src="http://1.bp.blogspot.com/_6UXYawCQWIo/Sp2_Or-_L4I/AAAAAAAADWY/s1kYOAkc4YA/s200/20090901+economia.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Um assunto que 90% dos &lt;strong&gt;programadores&lt;/strong&gt; não se preocupam é sobre a economia ou ganho de desempenho no processamento do servidor.&lt;br /&gt;&lt;br /&gt;Mas atualmente, é item &lt;strong&gt;OBRIGATÓRIO&lt;/strong&gt; o fato de que é preciso saber e conhecer, para melhorar a performance de um &lt;strong&gt;servidor&lt;/strong&gt; web.&lt;br /&gt;&lt;br /&gt;Este artigo vale para: administradores de servidor que programam ou não e &lt;strong&gt;programadores&lt;/strong&gt; que administram servidores ou não. E até mesmo pro seu chefe que acha que o servidor está lento.&lt;br /&gt;&lt;br /&gt;O &lt;strong&gt;artigo&lt;/strong&gt; abordará as coisas mais importantes para &lt;strong&gt;economizar&lt;/strong&gt; processamento do do &lt;strong&gt;servidor&lt;/strong&gt;.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.revistaphp.com.br/artigo.php?id=190"&gt;Leia na Integra&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4684750288742513326-8272861707378482665?l=programscomputer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://programscomputer.blogspot.com/feeds/8272861707378482665/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4684750288742513326&amp;postID=8272861707378482665' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/8272861707378482665'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/8272861707378482665'/><link rel='alternate' type='text/html' href='http://programscomputer.blogspot.com/2009/09/economizando-processamento-do-servidor.html' title='Economizando processamento do servidor - PHP'/><author><name>Blogado</name><uri>http://www.blogger.com/profile/00508039577491745861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_6UXYawCQWIo/Sp2_Or-_L4I/AAAAAAAADWY/s1kYOAkc4YA/s72-c/20090901+economia.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4684750288742513326.post-3756143611232196526</id><published>2009-08-28T17:59:00.000-07:00</published><updated>2009-08-28T18:08:02.527-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='player'/><category scheme='http://www.blogger.com/atom/ns#' term='actionscript'/><category scheme='http://www.blogger.com/atom/ns#' term='Flash'/><category scheme='http://www.blogger.com/atom/ns#' term='controle'/><category scheme='http://www.blogger.com/atom/ns#' term='filmes'/><title type='text'>Video-player em Action Script 3 no Flash</title><content type='html'>&lt;a href="http://1.bp.blogspot.com/_6UXYawCQWIo/Sph_AqZwtII/AAAAAAAADUo/2hswwLJP3XE/s1600-h/20090828+actionscript3.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5375185804625753218" style="FLOAT: right; MARGIN: 0px 0px 10px 10px; WIDTH: 200px; CURSOR: hand; HEIGHT: 133px" alt="" src="http://1.bp.blogspot.com/_6UXYawCQWIo/Sph_AqZwtII/AAAAAAAADUo/2hswwLJP3XE/s200/20090828+actionscript3.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Neste artigo explica como criar um &lt;strong&gt;player&lt;/strong&gt; de vídeo utilizando &lt;strong&gt;ActionScript&lt;/strong&gt; 3 no &lt;strong&gt;Flash&lt;/strong&gt;.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Tutorial&lt;/strong&gt;:&lt;br /&gt;Geralmente usam usa-se componentes prontos do &lt;strong&gt;Flash&lt;/strong&gt; para rodar seus vídeos, como o &lt;strong&gt;FLVPlayback&lt;/strong&gt;, mas não sabem que é relativamente fácil criar um próprio player, podendo assim customizar como quiser o seu layout.&lt;br /&gt;Neste tutorial, veremos como criar o player e como &lt;strong&gt;adicionas&lt;/strong&gt; alguns controles no filme como: play, stop, pause e reset.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.linhadecodigo.com.br/Artigo.aspx?id=1758"&gt;Leia Mais&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4684750288742513326-3756143611232196526?l=programscomputer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://programscomputer.blogspot.com/feeds/3756143611232196526/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4684750288742513326&amp;postID=3756143611232196526' title='1 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/3756143611232196526'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/3756143611232196526'/><link rel='alternate' type='text/html' href='http://programscomputer.blogspot.com/2009/08/video-player-em-action-script-3-no.html' title='Video-player em Action Script 3 no Flash'/><author><name>Blogado</name><uri>http://www.blogger.com/profile/00508039577491745861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_6UXYawCQWIo/Sph_AqZwtII/AAAAAAAADUo/2hswwLJP3XE/s72-c/20090828+actionscript3.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4684750288742513326.post-8261891895889172439</id><published>2009-08-25T16:41:00.000-07:00</published><updated>2009-08-25T16:52:55.235-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Web'/><category scheme='http://www.blogger.com/atom/ns#' term='MySQL'/><category scheme='http://www.blogger.com/atom/ns#' term='flex'/><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='amfphp'/><category scheme='http://www.blogger.com/atom/ns#' term='apache'/><category scheme='http://www.blogger.com/atom/ns#' term='iis'/><title type='text'>DataGrid no Flex com PHP e MySQL</title><content type='html'>&lt;a href="http://4.bp.blogspot.com/_6UXYawCQWIo/SpR4G1X6VsI/AAAAAAAADSo/07a5KTjyMQQ/s1600-h/20090825+fx.png"&gt;&lt;img id="BLOGGER_PHOTO_ID_5374052314161764034" style="FLOAT: right; MARGIN: 0px 0px 10px 10px; WIDTH: 200px; CURSOR: hand; HEIGHT: 200px" alt="flex  , iis  , apache  , php  ,  mysql  , amfphp  , web" title="flex  , iis  , apache  , php  ,  mysql  , amfphp  , web" src="http://4.bp.blogspot.com/_6UXYawCQWIo/SpR4G1X6VsI/AAAAAAAADSo/07a5KTjyMQQ/s200/20090825+fx.png" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Objetivo é aprendermos a popular um &lt;strong&gt;DataGrid&lt;/strong&gt;, utilizando o &lt;strong&gt;PHP&lt;/strong&gt; como camada intermediária entre o &lt;strong&gt;Flex&lt;/strong&gt; e o MYSQL. Para tanto, utilizaremos o &lt;strong&gt;AMFPHP&lt;/strong&gt;, que é uma alternativa open-source do Flash Remoting.&lt;br /&gt;&lt;br /&gt;Pré-requisitos:&lt;br /&gt;&lt;br /&gt;01. Noções básicas do &lt;strong&gt;Flex&lt;/strong&gt; 2.0;&lt;br /&gt;02. Possuir um servidor (IIS ou Apache) rodando em localhost;&lt;br /&gt;03. Servidor MYSQL (também em localhost);&lt;br /&gt;04. AMFPHP instalado e configurado.&lt;br /&gt;&lt;br /&gt;Começaremos com o AMFPHP, que você encontra em www.amfphp.org. Após ter baixado o pacote, descompacte-o em uma pasta qualquer e torne-a compartilhada para web &lt;strong&gt;(sugestão c:\amfphp).&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;A estrutura deverá ficar como a seguir:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://imasters.uol.com.br/artigo/4685/flex/populando_um_datagrid_no_flex_com_php_e_mysql/"&gt;Leia Mais&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4684750288742513326-8261891895889172439?l=programscomputer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://programscomputer.blogspot.com/feeds/8261891895889172439/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4684750288742513326&amp;postID=8261891895889172439' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/8261891895889172439'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/8261891895889172439'/><link rel='alternate' type='text/html' href='http://programscomputer.blogspot.com/2009/08/datagrid-no-flex-com-php-e-mysql.html' title='DataGrid no Flex com PHP e MySQL'/><author><name>Blogado</name><uri>http://www.blogger.com/profile/00508039577491745861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_6UXYawCQWIo/SpR4G1X6VsI/AAAAAAAADSo/07a5KTjyMQQ/s72-c/20090825+fx.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4684750288742513326.post-6433101464619685315</id><published>2009-08-17T15:57:00.000-07:00</published><updated>2009-08-17T16:06:12.279-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Firebird'/><category scheme='http://www.blogger.com/atom/ns#' term='backup'/><category scheme='http://www.blogger.com/atom/ns#' term='SYSDBA'/><category scheme='http://www.blogger.com/atom/ns#' term='gbak'/><category scheme='http://www.blogger.com/atom/ns#' term='Banco de Dados'/><category scheme='http://www.blogger.com/atom/ns#' term='Dicas'/><title type='text'>Dicas de Firebird - Backup e restore com gbak</title><content type='html'>&lt;a href="http://4.bp.blogspot.com/_6UXYawCQWIo/Sonh2C2IFTI/AAAAAAAADQw/_NHAC1EJ8Yk/s1600-h/20090626+Irda.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5371072349209105714" style="FLOAT: right; MARGIN: 0px 0px 10px 10px; WIDTH: 152px; CURSOR: hand; HEIGHT: 200px" alt="firebird, dicas, backup, banco de dados" src="http://4.bp.blogspot.com/_6UXYawCQWIo/Sonh2C2IFTI/AAAAAAAADQw/_NHAC1EJ8Yk/s200/20090626+Irda.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;O &lt;strong&gt;InterBase/FireBird&lt;/strong&gt; possui uma ferramenta de linha de comando específica para fazer e restaurar cópias de segurança (&lt;strong&gt;backup&lt;/strong&gt;). No Windows o nome do programa é &lt;strong&gt;gbak&lt;/strong&gt;.exe e no Linux seu nome é gbak (sem extensão). Em ambos os sistemas a localização deste arquivo é o sub-diretório bin do InterBase/FireBird.&lt;br /&gt;&lt;br /&gt;As sintaxes básicas deste comando são:&lt;br /&gt;&lt;br /&gt;Para fazer um backup:&lt;br /&gt;&lt;br /&gt;gbak -b -user usuario -password senha arquivo_banco arquivo_backup&lt;br /&gt;&lt;br /&gt;Para restaurar um backup:&lt;br /&gt;&lt;br /&gt;gbak -r -user usuario -password senha arquivo_backup arquivo_banco&lt;br /&gt;&lt;br /&gt;Onde:&lt;br /&gt;&lt;br /&gt;* &lt;strong&gt;usuario&lt;/strong&gt;: é o nome de login do usuário (geralmente SYSDBA).&lt;br /&gt;* &lt;strong&gt;senha&lt;/strong&gt;: é a senha do usuário.&lt;br /&gt;* &lt;strong&gt;arquivo_banco&lt;/strong&gt;: é o arquivo de banco de dados (geralmente com extensão .gdb).&lt;br /&gt;* &lt;strong&gt;arquivo_backup&lt;/strong&gt;: é o arquivo de backup (geralmente com extensão .gbk).&lt;br /&gt;&lt;br /&gt;Exemplo de backup:&lt;br /&gt;&lt;br /&gt;gbak -b -user SYSDBA -password &lt;strong&gt;masterkey&lt;/strong&gt; c:\sistema\dados.gdb c:\backup\dados.gbk&lt;br /&gt;&lt;br /&gt;Exemplo de restore:&lt;br /&gt;&lt;br /&gt;gbak -r -user &lt;strong&gt;SYSDBA&lt;/strong&gt; -password masterkey c:\backup\dados.gbk c:\sistema\dados.gdb&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4684750288742513326-6433101464619685315?l=programscomputer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://programscomputer.blogspot.com/feeds/6433101464619685315/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4684750288742513326&amp;postID=6433101464619685315' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/6433101464619685315'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/6433101464619685315'/><link rel='alternate' type='text/html' href='http://programscomputer.blogspot.com/2009/08/dicas-de-firebird-backup-e-restore-com.html' title='Dicas de Firebird - Backup e restore com gbak'/><author><name>Blogado</name><uri>http://www.blogger.com/profile/00508039577491745861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_6UXYawCQWIo/Sonh2C2IFTI/AAAAAAAADQw/_NHAC1EJ8Yk/s72-c/20090626+Irda.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4684750288742513326.post-2074251007620863922</id><published>2009-08-04T17:58:00.000-07:00</published><updated>2009-08-04T18:13:52.518-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Web'/><category scheme='http://www.blogger.com/atom/ns#' term='javascripts'/><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='Ajax'/><category scheme='http://www.blogger.com/atom/ns#' term='página web'/><category scheme='http://www.blogger.com/atom/ns#' term='site'/><category scheme='http://www.blogger.com/atom/ns#' term='jQuery'/><title type='text'>jQuery</title><content type='html'>&lt;a href="http://4.bp.blogspot.com/_6UXYawCQWIo/SnjcSvvj3bI/AAAAAAAADOE/vkkCs0NOCnk/s1600-h/20090804+jquery.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5366281170623651250" style="FLOAT: right; MARGIN: 0px 0px 10px 10px; WIDTH: 200px; CURSOR: hand; HEIGHT: 133px" alt="jQuery , ajax  , php  , web  , javascripts  , site  , página web" src="http://4.bp.blogspot.com/_6UXYawCQWIo/SnjcSvvj3bI/AAAAAAAADOE/vkkCs0NOCnk/s200/20090804+jquery.jpg" border="0" titel="jQuery , ajax  , php  , web  , javascripts  , site  , página web" /&gt;&lt;/a&gt;&lt;br /&gt;jQuery é uma excelente e leve biblioteca para desenvolvimento rápido de javascripts que interagem com sua página html, com ela podemos atribuir eventos, definir efeitos, alterar ou criar elementos na página, dentre diversas outras infinidades de ações.&lt;br /&gt;&lt;br /&gt;Existem ainda vários plugins já feitos em jQuery que nos auxiliam em validações ou máscaras de formulário.&lt;br /&gt;&lt;br /&gt;Maravilha, não acham?&lt;br /&gt;&lt;br /&gt;E como usar o jQuery?&lt;br /&gt;&lt;br /&gt;Antes de tudo devemos baixar a versão da biblioteca, que pode ser uma compilada (mais leve) ou o fonte puro (um pouco maior).&lt;br /&gt;&lt;br /&gt;Leve - http://code.google.com/p/jqueryjs/downloads/ detail?name=jquery-1.2.2.pack.js&lt;br /&gt;Não comprimida - http://code.google.com/p/jqueryjs/downloads/detail?name=jquery-1.2.2.js&lt;br /&gt;&lt;br /&gt;Após baixarmos o jQuery, teremos que incluir a sua referência no cabeçalho da página html:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.codigofonte.net/dicas/javascript/310_jquery-o-que-e-e-como-usar"&gt;Leia Mais&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4684750288742513326-2074251007620863922?l=programscomputer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://programscomputer.blogspot.com/feeds/2074251007620863922/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4684750288742513326&amp;postID=2074251007620863922' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/2074251007620863922'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/2074251007620863922'/><link rel='alternate' type='text/html' href='http://programscomputer.blogspot.com/2009/08/jquery.html' title='jQuery'/><author><name>Blogado</name><uri>http://www.blogger.com/profile/00508039577491745861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_6UXYawCQWIo/SnjcSvvj3bI/AAAAAAAADOE/vkkCs0NOCnk/s72-c/20090804+jquery.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4684750288742513326.post-8732102782470642333</id><published>2009-07-31T07:36:00.000-07:00</published><updated>2009-07-31T07:53:09.915-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Instruções dinâmicas'/><category scheme='http://www.blogger.com/atom/ns#' term='CASE para um filtro da instrução'/><category scheme='http://www.blogger.com/atom/ns#' term='Valor de campo e filtro condicional'/><category scheme='http://www.blogger.com/atom/ns#' term='Registros aleatórios'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL Server'/><category scheme='http://www.blogger.com/atom/ns#' term='Dicas'/><title type='text'>Dicas Gerais de Sql Server</title><content type='html'>&lt;a href="http://1.bp.blogspot.com/_6UXYawCQWIo/SnMEpr9JoPI/AAAAAAAADMM/vAX0P5OZ_bw/s1600-h/20090731+sqlserver.jpg"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 200px; height: 160px;" src="http://1.bp.blogspot.com/_6UXYawCQWIo/SnMEpr9JoPI/AAAAAAAADMM/vAX0P5OZ_bw/s200/20090731+sqlserver.jpg" border="0" alt="sql server, dicas, case, filtro, instrucao, registro aleatorio" title="sql server, dicas, case, filtro, instrucao, registro aleatorio" id="BLOGGER_PHOTO_ID_5364636695348748530" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;strong&gt;Registros aleatórios&lt;/strong&gt;&lt;br /&gt;Vamos supor que queremos retornar 10 registros aleatórios de uma tabela. Como podemos fazer isto?&lt;br /&gt;&lt;br /&gt;A partir do SQL Server 7.0, foi implementada uma uma função chamada &lt;strong&gt;NEWID(). &lt;/strong&gt;Esta função gera um identificador interno aleatório. Para retornar registros aleatórios, podemos fazer assim:&lt;br /&gt;&lt;br /&gt;SELECT TOP 10 CAMPO1 , CAMPO2 FROM TABELA1&lt;br /&gt;ORDER BY NEWID()&lt;br /&gt;&lt;br /&gt;Para cada registro, um valor aleatório diferente é gerado. A ordem do resultado é feita por este valor e a cada execução temos 10 registros diferentes, pois a cláusula &lt;strong&gt;TOP &lt;/strong&gt;limita a quantidade de registros retornados.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Instruções dinâmicas&lt;/strong&gt;&lt;br /&gt;O SQL Server permite a construção de instruções dinâmicas a partir do comando &lt;strong&gt;EXECUTE&lt;/strong&gt;(). Funciona assim: montamos uma string com o comando que queremos executar dinamicamente e chamamos a função EXECUTE(). Atenção: neste caso, devemos obrigatoriamente utilizar os parênteses:&lt;br /&gt;&lt;br /&gt;EXECUTE(“SELECT CAMPO 1 FROM TABELA1 WHERE CAMPO2 = 3”)&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Valor de campo e filtro condicional&lt;/strong&gt;&lt;br /&gt;Nem sempre queremos mostrar o conteúdo de um campo do jeito que ele está armazenado no banco. Por exemplo: Se o conteúdo de um campo for maior que 10, queremos que seja retornada a string ‘muito’. Se for menor ou igual a 10 retorna ‘pouco’.&lt;br /&gt;&lt;br /&gt;Fazemos isto utilizando um CASE (estrutura condicional, como um IF de uma linguagem de programação) para o conteúdo do campo:&lt;br /&gt;&lt;br /&gt;SELECT CAMPO1 , TIPO = CASE WHEN CAMPO_VALOR &gt; 10 THEN 'MUITO'&lt;br /&gt;WHEN CAMPO_VALOR &lt;= 10 THEN 'POUCO'&lt;br /&gt;END , CAMPO3&lt;br /&gt;FROM TABELA1&lt;br /&gt;&lt;br /&gt;Para cada registro o SQL Server fará uma comparação para identificar qual valor deve ser retornado. Tome cuidado ao utilizar o CASE desta maneira pois pode haver perda de performance na instrução por que a cada linha retornada, um pequeno processamento deve ser efetuado.&lt;br /&gt;&lt;br /&gt;Podemos também utilizar o CASE para um filtro da instrução (cláusula WHERE):&lt;br /&gt;&lt;br /&gt;SELECT CAMPO1 , CAMPO2 FROM TABELA1&lt;br /&gt;WHERE CAMPO2 &gt; CASE CAMPO1 WHEN 'A' THEN 10&lt;br /&gt;WHEN 'B' THEN 5 END&lt;br /&gt;&lt;br /&gt;No exemplo acima, quando o valor do CAMPO1 for igual a ‘A’, somente os registros do CAMPO2 que forem maiores que 10 serão retornados. Quando o valor do CAMPO1 for igual a ‘B’, somente os registros do CAMPO2 que forem maiores que 5 serão retornados.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.htmlstaff.org/ver.php?id=1981"&gt;Leia Mais &lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4684750288742513326-8732102782470642333?l=programscomputer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://programscomputer.blogspot.com/feeds/8732102782470642333/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4684750288742513326&amp;postID=8732102782470642333' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/8732102782470642333'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/8732102782470642333'/><link rel='alternate' type='text/html' href='http://programscomputer.blogspot.com/2009/07/dicas-gerais-de-sql-server.html' title='Dicas Gerais de Sql Server'/><author><name>Blogado</name><uri>http://www.blogger.com/profile/00508039577491745861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_6UXYawCQWIo/SnMEpr9JoPI/AAAAAAAADMM/vAX0P5OZ_bw/s72-c/20090731+sqlserver.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4684750288742513326.post-3782022148932528738</id><published>2009-07-23T10:09:00.000-07:00</published><updated>2009-07-23T10:19:00.598-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='construcao de pagina'/><category scheme='http://www.blogger.com/atom/ns#' term='folha de estilo'/><category scheme='http://www.blogger.com/atom/ns#' term='Dicas'/><category scheme='http://www.blogger.com/atom/ns#' term='HTML'/><category scheme='http://www.blogger.com/atom/ns#' term='site'/><category scheme='http://www.blogger.com/atom/ns#' term='css'/><title type='text'>CSS</title><content type='html'>&lt;a href="http://3.bp.blogspot.com/_6UXYawCQWIo/SmiZ6Pq4BaI/AAAAAAAADKU/-iBvjvt79A4/s1600-h/20090723+css.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5361704582302401954" style="FLOAT: right; MARGIN: 0px 0px 10px 10px; WIDTH: 200px; CURSOR: hand; HEIGHT: 150px" alt="css, programacao web, php, html, folha de estilo" src="http://3.bp.blogspot.com/_6UXYawCQWIo/SmiZ6Pq4BaI/AAAAAAAADKU/-iBvjvt79A4/s200/20090723+css.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;Neste artigo relaciono algumas &lt;strong&gt;dicas&lt;/strong&gt; para projetar &lt;strong&gt;Folhas de Estilos&lt;/strong&gt; e espero que elas se constituam em uma fonte de consulta útil para os que se iniciam nas &lt;strong&gt;CSS&lt;/strong&gt;.&lt;br /&gt;&lt;br /&gt;1o.-) Organize&lt;br /&gt;2o.-) Ordene&lt;br /&gt;3o.-) Escolha&lt;br /&gt;4o.-) Agrupe&lt;br /&gt;5o.-) Use&lt;br /&gt;6o.-) Tire proveito&lt;br /&gt;7o.-) Escreva&lt;br /&gt;8o.-) Família&lt;br /&gt;9o.-) Nomes&lt;br /&gt;10o.-) Background-image&lt;br /&gt;11o.-) Links&lt;br /&gt;12o.-) Sublinhados&lt;br /&gt;13o.-) Habitue-se&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.maujor.com/tutorial/dicascss.php"&gt;Leia Mais&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4684750288742513326-3782022148932528738?l=programscomputer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://programscomputer.blogspot.com/feeds/3782022148932528738/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4684750288742513326&amp;postID=3782022148932528738' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/3782022148932528738'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/3782022148932528738'/><link rel='alternate' type='text/html' href='http://programscomputer.blogspot.com/2009/07/css.html' title='CSS'/><author><name>Blogado</name><uri>http://www.blogger.com/profile/00508039577491745861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_6UXYawCQWIo/SmiZ6Pq4BaI/AAAAAAAADKU/-iBvjvt79A4/s72-c/20090723+css.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4684750288742513326.post-1642307355821915636</id><published>2009-07-19T18:42:00.000-07:00</published><updated>2009-07-19T18:54:35.560-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MySQL'/><category scheme='http://www.blogger.com/atom/ns#' term='programa'/><category scheme='http://www.blogger.com/atom/ns#' term='desktop'/><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><category scheme='http://www.blogger.com/atom/ns#' term='Banco de Dados'/><title type='text'>Mysql no Desktop</title><content type='html'>&lt;a href="http://4.bp.blogspot.com/_6UXYawCQWIo/SmPMVRUZrlI/AAAAAAAADH0/_KuaLeyv0c8/s1600-h/20090719+mysql.png"&gt;&lt;img id="BLOGGER_PHOTO_ID_5360352647299313234" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; WIDTH: 198px; CURSOR: hand; HEIGHT: 200px" alt="mysql, desktop, windows" src="http://4.bp.blogspot.com/_6UXYawCQWIo/SmPMVRUZrlI/AAAAAAAADH0/_KuaLeyv0c8/s200/20090719+mysql.png" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;O &lt;strong&gt;MySQL&lt;/strong&gt; é o banco de dados mais conhecido no mundo do software livre. Basicamente, a notoriedade desse produto se deve às aplicações web, nas quais o programa é utilizado, quase sempre em parceria com a linguagem &lt;strong&gt;PHP&lt;/strong&gt;, em ambiente &lt;strong&gt;Linux&lt;/strong&gt;. Talvez por isso se tenda a acreditar que o MySQL seja um banco de dados específico para a internet. Não é verdade. Você pode usá-lo em seu desktop, inclusive com o Windows. Neste tutorial, vamos mostrar como instalar o MySQL e com ele criar e gerenciar um banco de dados numa máquina Windows. Uma das vantagens técnicas do MySQL é ser um produto multiplataforma. Assim, você pode montar com ele um banco de dados no ambiente &lt;strong&gt;Windows&lt;/strong&gt; e depois, se for o caso, transferi-lo para o Linux, Mac OS X ou outros sistemas Unix.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Para acompanhar esta tarefa, você vai precisar ter um micro com Windows - &lt;strong&gt;98, Me, NT, 2000 ou XP, o MySQL&lt;/strong&gt; e um cliente gráfico para o gerenciador de bancos de dados. O MySQL incorpora os recursos para criar e manipular bases de dados, mas não tem uma &lt;strong&gt;interface&lt;/strong&gt; visual. O programa pode ser usado sozinho, mas desse modo cada instrução enviada ao motor de banco de dados deve ser digitada na forma de linhas de comando, em linguagem &lt;strong&gt;SQL&lt;/strong&gt;. Aí entram as comodidades oferecidas por um cliente gráfico.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.forumweb.com.br/foruns/index.php?/topic/124-dica-para-mysql/"&gt;Leia Mais &lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4684750288742513326-1642307355821915636?l=programscomputer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://programscomputer.blogspot.com/feeds/1642307355821915636/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4684750288742513326&amp;postID=1642307355821915636' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/1642307355821915636'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/1642307355821915636'/><link rel='alternate' type='text/html' href='http://programscomputer.blogspot.com/2009/07/mysql-no-desktop.html' title='Mysql no Desktop'/><author><name>Blogado</name><uri>http://www.blogger.com/profile/00508039577491745861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_6UXYawCQWIo/SmPMVRUZrlI/AAAAAAAADH0/_KuaLeyv0c8/s72-c/20090719+mysql.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4684750288742513326.post-2285363062659151933</id><published>2009-07-15T14:34:00.000-07:00</published><updated>2009-07-15T14:45:46.872-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Web'/><category scheme='http://www.blogger.com/atom/ns#' term='Programação'/><category scheme='http://www.blogger.com/atom/ns#' term='php 6'/><category scheme='http://www.blogger.com/atom/ns#' term='Dicas'/><category scheme='http://www.blogger.com/atom/ns#' term='artigos'/><title type='text'>PHP 6 A revolução</title><content type='html'>&lt;a href="http://2.bp.blogspot.com/_6UXYawCQWIo/Sl5Lr_ACxMI/AAAAAAAADFk/ug8DMP9NlEc/s1600-h/20090715+php6.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5358803825635542210" style="FLOAT: right; MARGIN: 0px 0px 10px 10px; WIDTH: 200px; CURSOR: hand; HEIGHT: 134px" alt="php 6, programação, dicas, artigos, php" src="http://2.bp.blogspot.com/_6UXYawCQWIo/Sl5Lr_ACxMI/AAAAAAAADFk/ug8DMP9NlEc/s200/20090715+php6.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Quando agente começou a se acostumar com o PHP 5 já esta mudando, não é? Como falam a "felicidade de pobre dura pouco.". Mais não vamos desanimar, e aliás o PHP 6 já a um tempinho atrás á ser desenvolvido, e uma das promessas é o suporte ao Unicode, que vai permitir a criação e gestão mais fácil de aplicações internacionalizáveis.&lt;br /&gt;&lt;br /&gt;O maior colaborador do PHP o Derick Rethans, falou sobre o PHP 6 á um tempinho atrás. Com o PHP 5.1 vindo aí, fica a pergunta, como vão chamar a próxima versão do PHP??? O Derick deu a sugestão de PHP 6 que já é oficial, isso porquê vai ter uma grande mudança no suporte ao Unicode.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.htmlstaff.org/ver.php?id=8655"&gt;Leia Mais&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4684750288742513326-2285363062659151933?l=programscomputer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://programscomputer.blogspot.com/feeds/2285363062659151933/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4684750288742513326&amp;postID=2285363062659151933' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/2285363062659151933'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/2285363062659151933'/><link rel='alternate' type='text/html' href='http://programscomputer.blogspot.com/2009/07/php-6-revolucao.html' title='PHP 6 A revolução'/><author><name>Blogado</name><uri>http://www.blogger.com/profile/00508039577491745861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_6UXYawCQWIo/Sl5Lr_ACxMI/AAAAAAAADFk/ug8DMP9NlEc/s72-c/20090715+php6.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4684750288742513326.post-8286076422054575428</id><published>2009-07-06T17:41:00.000-07:00</published><updated>2009-07-06T17:53:53.156-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='web 2.0'/><category scheme='http://www.blogger.com/atom/ns#' term='Ajax'/><category scheme='http://www.blogger.com/atom/ns#' term='programaca pra internet'/><category scheme='http://www.blogger.com/atom/ns#' term='Dicas'/><category scheme='http://www.blogger.com/atom/ns#' term='seguranca'/><title type='text'>Dicas de Segurança com Ajax</title><content type='html'>&lt;a href="http://3.bp.blogspot.com/_6UXYawCQWIo/SlKcZ2wvQdI/AAAAAAAADDk/Cf2P4xi31jU/s1600-h/20090706+ajax.JPG"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 200px; height: 200px;" src="http://3.bp.blogspot.com/_6UXYawCQWIo/SlKcZ2wvQdI/AAAAAAAADDk/Cf2P4xi31jU/s200/20090706+ajax.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5355514874907541970" /&gt;&lt;/a&gt;&lt;br /&gt;Com a introdução do Ajax e o conceito de aplicação web o cliente passou a ter uma importancia maior. O javascript passou usado em larga escala e muitos dos dados que ficavam "escondidos e seguros" no servidor agora estão expostos no cliente. Programadores desavisados utilizam Ajax sem o mínimo de segurança expondo assim partes críticas de sua aplicação.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://framebox.blogspot.com/2008/09/dicas-de-segurana-com-ajax.html"&gt;Leia Mais&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4684750288742513326-8286076422054575428?l=programscomputer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://programscomputer.blogspot.com/feeds/8286076422054575428/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4684750288742513326&amp;postID=8286076422054575428' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/8286076422054575428'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/8286076422054575428'/><link rel='alternate' type='text/html' href='http://programscomputer.blogspot.com/2009/07/dicas-de-seguranca-com-ajax.html' title='Dicas de Segurança com Ajax'/><author><name>Blogado</name><uri>http://www.blogger.com/profile/00508039577491745861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_6UXYawCQWIo/SlKcZ2wvQdI/AAAAAAAADDk/Cf2P4xi31jU/s72-c/20090706+ajax.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4684750288742513326.post-7565093770684826957</id><published>2009-06-29T19:38:00.000-07:00</published><updated>2009-06-29T19:45:58.154-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Insert'/><category scheme='http://www.blogger.com/atom/ns#' term='Firebird'/><category scheme='http://www.blogger.com/atom/ns#' term='Trigger'/><category scheme='http://www.blogger.com/atom/ns#' term='Delete'/><category scheme='http://www.blogger.com/atom/ns#' term='Banco de Dados'/><category scheme='http://www.blogger.com/atom/ns#' term='Update'/><category scheme='http://www.blogger.com/atom/ns#' term='Dicas'/><title type='text'>Trigger em Firebird</title><content type='html'>&lt;a href="http://1.bp.blogspot.com/_6UXYawCQWIo/Skl7pgs_oBI/AAAAAAAADA8/OvMe5BnLi3o/s1600-h/firebird.gif"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 200px; height: 200px;" src="http://1.bp.blogspot.com/_6UXYawCQWIo/Skl7pgs_oBI/AAAAAAAADA8/OvMe5BnLi3o/s200/firebird.gif" border="0" alt="banco de dados, firebird, trigger, insert, update, delete"id="BLOGGER_PHOTO_ID_5352945585190051858" /&gt;&lt;/a&gt;&lt;br /&gt;Neste Post, vou descrever um pouco sobre como trabalhar com trigger utilizando o o Banco de Dados Firebird. Meu exemplo vai de encontro ao problema do processo direto inverso, que pode resolver se realizado com Trigger, mas também espero que sirva para outras implementações.&lt;br /&gt;&lt;br /&gt;O que é um Trigger?&lt;br /&gt;R: Trigger são gatilhos ligados a enventos em tabelas no Banco de Dados. Este gatilhos são disparados automaticamente sempre que acontece o evento na tabela ao qual o trigger está relacionado. Triggers não tem parâmetros de entrada. Triggers não retornam valores.&lt;br /&gt;&lt;br /&gt;Os Eventosque disparam um Trigger, podem ser de:&lt;br /&gt;1) Insert – Ao inserir um registro na tabela.&lt;br /&gt;2) Update – Ao Modificar um registro da tabela.&lt;br /&gt;3) Delete – Ao deletar um registro da tabela.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.xmaker.com.br/forum/topic.asp?TOPIC_ID=3697&amp;FORUM_ID=12&amp;CAT_ID=1&amp;Forum_Title=Dicas+%26+truques&amp;Topic_Title=Criando+Trigger+no+Firebird&amp;whichpage=1&amp;tmp=1"&gt;Continue Lendo&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4684750288742513326-7565093770684826957?l=programscomputer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://programscomputer.blogspot.com/feeds/7565093770684826957/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4684750288742513326&amp;postID=7565093770684826957' title='1 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/7565093770684826957'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/7565093770684826957'/><link rel='alternate' type='text/html' href='http://programscomputer.blogspot.com/2009/06/trigger-em-firebird.html' title='Trigger em Firebird'/><author><name>Blogado</name><uri>http://www.blogger.com/profile/00508039577491745861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_6UXYawCQWIo/Skl7pgs_oBI/AAAAAAAADA8/OvMe5BnLi3o/s72-c/firebird.gif' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4684750288742513326.post-7419692017791631881</id><published>2009-06-26T17:54:00.000-07:00</published><updated>2009-06-26T18:17:26.982-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Infravermelho'/><category scheme='http://www.blogger.com/atom/ns#' term='irda'/><category scheme='http://www.blogger.com/atom/ns#' term='PDA'/><category scheme='http://www.blogger.com/atom/ns#' term='chat'/><category scheme='http://www.blogger.com/atom/ns#' term='Compact Framework'/><title type='text'>Usando a porta infravermelha com o Compact Framework</title><content type='html'>&lt;a href="http://1.bp.blogspot.com/_6UXYawCQWIo/SkVy1yZOH1I/AAAAAAAAC-s/kW1X6ZC2Ftc/s1600-h/20090626+Irda.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5351810000585891666" style="FLOAT: right; MARGIN: 0px 0px 10px 10px; WIDTH: 152px; CURSOR: hand; HEIGHT: 200px" alt="irda, infra vermelho, AJAX, PHP, MYSQL, SQLSERVER, VB.NET, DELPHI, COMPACT FRAMEWORK, FIREBIRD" src="http://1.bp.blogspot.com/_6UXYawCQWIo/SkVy1yZOH1I/AAAAAAAAC-s/kW1X6ZC2Ftc/s200/20090626+Irda.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;Com todo o oba-oba ao redor do Wi-Fi, do &lt;strong&gt;Bluetooth&lt;/strong&gt; e de outras tecnologias sem-fio, é fácil esquecer a um das formas mais simples e comuns de comunicação sem fio: a infravermelha. Qualquer um que já usou um controle remoto usou o infravermelho! Como usa-se a luz como meio de transporte, é necessário que um ponto “enxergue” o outro, mas mesmo com essa limitação, o infravermelho está cada vez mais popular em aparelhos como câmeras digitais, Celulares, PDA’s e NoteBooks.&lt;br /&gt;&lt;br /&gt;Neste artigo será mostrado como usar a porta &lt;strong&gt;infravermelha&lt;/strong&gt; de seu &lt;strong&gt;Smartphone&lt;/strong&gt; (funciona também para &lt;strong&gt;PocketPC’s&lt;/strong&gt;) para transferir informações entre esses dispositivos. Iremos criar uma simples aplicação de Chat usando a classe IrDAClient do Compact Framework. Essa aplicação pode ser bastante útil em reuniões tediosas.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.linhadecodigo.com.br/Artigo.aspx?id=942"&gt;Leia Mais &lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4684750288742513326-7419692017791631881?l=programscomputer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://programscomputer.blogspot.com/feeds/7419692017791631881/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4684750288742513326&amp;postID=7419692017791631881' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/7419692017791631881'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/7419692017791631881'/><link rel='alternate' type='text/html' href='http://programscomputer.blogspot.com/2009/06/usando-porta-infravermelha-com-o.html' title='Usando a porta infravermelha com o Compact Framework'/><author><name>Blogado</name><uri>http://www.blogger.com/profile/00508039577491745861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_6UXYawCQWIo/SkVy1yZOH1I/AAAAAAAAC-s/kW1X6ZC2Ftc/s72-c/20090626+Irda.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4684750288742513326.post-5181475904029878769</id><published>2009-06-17T18:17:00.000-07:00</published><updated>2009-06-17T18:26:57.160-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Web'/><category scheme='http://www.blogger.com/atom/ns#' term='flex'/><category scheme='http://www.blogger.com/atom/ns#' term='framework'/><category scheme='http://www.blogger.com/atom/ns#' term='adobe'/><title type='text'>Flex  Open-Source</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_6UXYawCQWIo/SjmXausdAWI/AAAAAAAAC8s/RrY02tBO5J8/s1600-h/20090617+adobe+flex.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 256px; height: 256px;" src="http://3.bp.blogspot.com/_6UXYawCQWIo/SjmXausdAWI/AAAAAAAAC8s/RrY02tBO5J8/s320/20090617+adobe+flex.png" alt="dicas, flex, adobe, Artigos: AJAX, PHP, MYSQL, SQLSERVER, VB.NET, DELPHI, COMPACT FRAMEWORK, FIREBIRD" id="BLOGGER_PHOTO_ID_5348472517946048866" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Há cerca de 3 anos atrás o &lt;span style="font-weight: bold;"&gt;Flex &lt;/span&gt;era caríssimo. Agora ele é gratuito! Sim, desde que a &lt;span style="font-weight: bold;"&gt;Adobe &lt;/span&gt;comprou a &lt;span style="font-weight: bold;"&gt;Macromedia&lt;/span&gt;, em junho do ano passado, o Flex 2 SDK pode ser baixado, juntamente com 2 compiladores, 1 debugger e as classes de componentes do Flex. E ainda você pode ler todo o help no LiveDocs.&lt;br /&gt;&lt;br /&gt;Não que a Adobe decidiu liberar o código fonte do Flex 2 SDK* da noite para o dia, pois isso já havia sido cotado desde a época que o projeto Tamarin foi anunciado, porém não se espera que isso aconteceria até o final do ano.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Quais os benefícios reais para quem está desenvolvendo com Flex?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Se você já consegue desenvolver vários projetos e quer demonstrar novos componentes, estender novas classes, criar novas&lt;span style="font-weight: bold;"&gt; IDE's &lt;/span&gt;que usem e abusem do uso do &lt;span style="font-weight: bold;"&gt;SDK&lt;/span&gt;, você terá privilégios e também terá uma base para fazer suas reportagens de bugs (bugbase), criar novos builds e conseqüentemente novas distribuições como acontece com o Linux.&lt;br /&gt;&lt;br /&gt;Mas lembre-se "open-source" não quer dizer que é totalmente gratuito. Programas que fazem parte da cartela de produtos da Adobe, como: &lt;span style="font-weight: bold;"&gt;Flex Builder, Flex Charts, LiveCycle Data Services, Flash CS3&lt;/span&gt; e alguns produtos que se integram ao Flex, ainda vão continuar sendo pagos.&lt;br /&gt;&lt;br /&gt;Não existe por enquanto previsão para que o Flex Charts seja gratuito. Você ainda vai precisar pagar para usá-los.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://imasters.uol.com.br/artigo/6066/flex/o_flex_3_agora_e_open-source/"&gt;Leia Mais &lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4684750288742513326-5181475904029878769?l=programscomputer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://programscomputer.blogspot.com/feeds/5181475904029878769/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4684750288742513326&amp;postID=5181475904029878769' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/5181475904029878769'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/5181475904029878769'/><link rel='alternate' type='text/html' href='http://programscomputer.blogspot.com/2009/06/flex-open-source.html' title='Flex  Open-Source'/><author><name>Blogado</name><uri>http://www.blogger.com/profile/00508039577491745861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_6UXYawCQWIo/SjmXausdAWI/AAAAAAAAC8s/RrY02tBO5J8/s72-c/20090617+adobe+flex.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4684750288742513326.post-7817958245838200304</id><published>2009-06-10T16:19:00.000-07:00</published><updated>2009-06-10T16:53:27.134-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linguagem de Programação'/><category scheme='http://www.blogger.com/atom/ns#' term='Tomada Decisão'/><category scheme='http://www.blogger.com/atom/ns#' term='BI'/><category scheme='http://www.blogger.com/atom/ns#' term='Artigos Flex'/><category scheme='http://www.blogger.com/atom/ns#' term='Gráficos'/><title type='text'>Gráfico Cascata no Flex</title><content type='html'>&lt;a href="http://3.bp.blogspot.com/_6UXYawCQWIo/SjBHABgETjI/AAAAAAAAC6M/-Qe3rSZBY1A/s1600-h/20090610+GrÃ¡fico+em+Cascata.png"&gt;&lt;img id="BLOGGER_PHOTO_ID_5345850823417286194" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; WIDTH: 200px; CURSOR: hand; HEIGHT: 94px" alt="Gráficos, Cascata, Flex, Apoio a Decisão, BI, Artigos: AJAX, PHP, MYSQL, SQLSERVER, VB.NET, DELPHI, COMPACT FRAMEWORK, FIREBIRD" src="http://3.bp.blogspot.com/_6UXYawCQWIo/SjBHABgETjI/AAAAAAAAC6M/-Qe3rSZBY1A/s200/20090610+Gr%C3%A1fico+em+Cascata.png" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Após um longo período sem artigos, volto à ativa com um bem interessante e bastante usual para quem &lt;strong&gt;desenvolve&lt;/strong&gt; &lt;strong&gt;sistemas&lt;/strong&gt; de apoio à decisão e sistemas de business intelligence.&lt;br /&gt;&lt;br /&gt;O gráfico de &lt;strong&gt;cascata&lt;/strong&gt; (&lt;strong&gt;waterfall&lt;/strong&gt;, ou flying bricks chart, em inglês) é uma &lt;strong&gt;ferramenta&lt;/strong&gt; que facilita a demonstração de parcelas de um valor. Ele é muito utilizado na apresentação da divisão da receita e exibição do que resta de lucro em DRE, da entrada de caixa ao saldo final em demonstrativos de &lt;strong&gt;Fluxo de Caixa&lt;/strong&gt;, mas pode-se utilizá-lo em qualquer situação em que seja necessário mostrar a "quebra" de um número.&lt;br /&gt;&lt;br /&gt;Neste artigo vou demonstrar como desenvolver um gráfico de cascata em Adobe Flex, estendendo um &lt;strong&gt;ColumnChart&lt;/strong&gt; de forma simples.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://imasters.uol.com.br/artigo/12710/flex/grafico_cascata_no_flex/"&gt;Leia Mais&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4684750288742513326-7817958245838200304?l=programscomputer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://programscomputer.blogspot.com/feeds/7817958245838200304/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4684750288742513326&amp;postID=7817958245838200304' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/7817958245838200304'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/7817958245838200304'/><link rel='alternate' type='text/html' href='http://programscomputer.blogspot.com/2009/06/grafico-cascata-no-flex.html' title='Gráfico Cascata no Flex'/><author><name>Blogado</name><uri>http://www.blogger.com/profile/00508039577491745861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_6UXYawCQWIo/SjBHABgETjI/AAAAAAAAC6M/-Qe3rSZBY1A/s72-c/20090610+Gr%C3%A1fico+em+Cascata.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4684750288742513326.post-914121173904909768</id><published>2009-06-07T13:36:00.000-07:00</published><updated>2009-06-07T13:46:58.051-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Delphi 2009'/><category scheme='http://www.blogger.com/atom/ns#' term='Arquivos'/><category scheme='http://www.blogger.com/atom/ns#' term='Delphi 7'/><category scheme='http://www.blogger.com/atom/ns#' term='Migração'/><title type='text'>Migrar do Delphi 7 para o Delphi 2009</title><content type='html'>&lt;a href="http://2.bp.blogspot.com/_6UXYawCQWIo/Siwm-25MixI/AAAAAAAAC4M/Jyyt95L0LnI/s1600-h/20090607+Delphi+2009.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5344689719111093010" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; WIDTH: 180px; CURSOR: hand; HEIGHT: 200px" alt="Artigos:Migração,  AJAX, PHP, MYSQL, SQLSERVER, VB.NET, DELPHI, COMPACT FRAMEWORK, FIREBIRD" src="http://2.bp.blogspot.com/_6UXYawCQWIo/Siwm-25MixI/AAAAAAAAC4M/Jyyt95L0LnI/s200/20090607+Delphi+2009.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;A Rede de Desenvolvedores da &lt;strong&gt;Embarcadero&lt;/strong&gt; tem um documento de 60 páginas listando todas as diferenças desde o &lt;strong&gt;Delphi 7&lt;/strong&gt; até o &lt;strong&gt;Delphi 2009&lt;/strong&gt;. Então se você está com dúvidas para baixar o Delphi 2009 por ser um lançamento da Embarcadero vale a pena conferir este &lt;strong&gt;documento&lt;/strong&gt; e consultar todas as diferenças entre o Delphi 7 e o Delphi 2009. É bom isso também pois quando você realizar um &lt;strong&gt;upgrade&lt;/strong&gt; e abrir os seus projetos antigos no Delphi 2009 você não tenha surpresas não muito legais, e se caso você tiver vai ser mais fácil encontrar &lt;strong&gt;solução&lt;/strong&gt; para o problema de troca da versão 7 para a versão 2009.&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;Documento: &lt;a href="http://cc.embarcadero.com/Item/26707"&gt;Migrar o Delphi 2009&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;a href="http://www.dicasdelphi.com.br/dica-migrar-do-delphi-7-para-o-delphi-2009/"&gt;Leia Mais&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4684750288742513326-914121173904909768?l=programscomputer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://programscomputer.blogspot.com/feeds/914121173904909768/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4684750288742513326&amp;postID=914121173904909768' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/914121173904909768'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/914121173904909768'/><link rel='alternate' type='text/html' href='http://programscomputer.blogspot.com/2009/06/migrar-do-delphi-7-para-o-delphi-2009.html' title='Migrar do Delphi 7 para o Delphi 2009'/><author><name>Blogado</name><uri>http://www.blogger.com/profile/00508039577491745861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_6UXYawCQWIo/Siwm-25MixI/AAAAAAAAC4M/Jyyt95L0LnI/s72-c/20090607+Delphi+2009.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4684750288742513326.post-3941322857449012613</id><published>2009-06-02T13:58:00.000-07:00</published><updated>2009-06-02T14:25:21.703-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Caracteristivas VB.Net'/><category scheme='http://www.blogger.com/atom/ns#' term='Mudanças'/><category scheme='http://www.blogger.com/atom/ns#' term='VB6'/><category scheme='http://www.blogger.com/atom/ns#' term='Artigo de VB.Net'/><title type='text'>Diferenças entre o VB6 e o VB.NET</title><content type='html'>&lt;a href="http://2.bp.blogspot.com/_6UXYawCQWIo/SiWYne2FuZI/AAAAAAAAC2U/DwjTnYQjUJw/s1600-h/20090601+DotNet.png"&gt;&lt;img id="BLOGGER_PHOTO_ID_5342844337007212946" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; WIDTH: 200px; CURSOR: hand; HEIGHT: 109px" alt="Artigos: AJAX, PHP, MYSQL, SQLSERVER, VB.NET, DELPHI, COMPACT FRAMEWORK, FIREBIRD" src="http://2.bp.blogspot.com/_6UXYawCQWIo/SiWYne2FuZI/AAAAAAAAC2U/DwjTnYQjUJw/s200/20090601+DotNet.png" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;Linguagem e Sintaxe&lt;br /&gt;&lt;br /&gt;1 . Mudanças&lt;br /&gt;&lt;br /&gt;Esses topicos representam características que existiam, mas são tratadas de forma diferente:&lt;br /&gt;&lt;br /&gt;* Variaveis&lt;br /&gt;&lt;br /&gt;VB6 VB.NET&lt;br /&gt;Integer Short&lt;br /&gt;Long Integer&lt;br /&gt;Currency Decimal&lt;br /&gt;Variant Object&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;a href="http://vbweb.com.br/artigos/view_article.asp?aid=303"&gt;Leia Mais&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4684750288742513326-3941322857449012613?l=programscomputer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://programscomputer.blogspot.com/feeds/3941322857449012613/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4684750288742513326&amp;postID=3941322857449012613' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/3941322857449012613'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/3941322857449012613'/><link rel='alternate' type='text/html' href='http://programscomputer.blogspot.com/2009/06/diferencas-entre-o-vb6-e-o-vbnet.html' title='Diferenças entre o VB6 e o VB.NET'/><author><name>Blogado</name><uri>http://www.blogger.com/profile/00508039577491745861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_6UXYawCQWIo/SiWYne2FuZI/AAAAAAAAC2U/DwjTnYQjUJw/s72-c/20090601+DotNet.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4684750288742513326.post-3848947413271821504</id><published>2009-05-26T18:33:00.000-07:00</published><updated>2009-05-26T18:48:57.987-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Desenvolvimento'/><category scheme='http://www.blogger.com/atom/ns#' term='Dicionário de Dados'/><category scheme='http://www.blogger.com/atom/ns#' term='Banco de Dados'/><category scheme='http://www.blogger.com/atom/ns#' term='Artigo SQL Server'/><category scheme='http://www.blogger.com/atom/ns#' term='Dicas Sql Server'/><title type='text'>Gerar dicionário de dados SQL Server 2000</title><content type='html'>&lt;a href="http://2.bp.blogspot.com/_6UXYawCQWIo/Shyby8UQ7FI/AAAAAAAAC0U/nbW07Hd5kKQ/s1600-h/20090526+DicionÃ¡rio+de+Dados.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5340314557641452626" style="FLOAT: right; MARGIN: 0px 0px 10px 10px; WIDTH: 200px; CURSOR: hand; HEIGHT: 120px" alt="Artigos: AJAX, PHP, MYSQL, SQLSERVER, VB.NET, DELPHI, COMPACT FRAMEWORK, FIREBIRD" src="http://2.bp.blogspot.com/_6UXYawCQWIo/Shyby8UQ7FI/AAAAAAAAC0U/nbW07Hd5kKQ/s200/20090526+Dicion%C3%A1rio+de+Dados.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Script SQL Server 2000 para gerar dicionário de dados do seu banco de dados&lt;br /&gt;SQL Server&lt;br /&gt;&lt;br /&gt;Este script te permite gerar um dicionário de dados para qualquer banco de dados SQL Server 2000. Você pode colocá-lo no query analizer, escolher o banco de dados e gerar ou se for de sua necessidade criar uma stored procedure. O fato de ser apenas para SQL Server 2000, é porque existe um local onde você pode colocar descrições para os campos das tabelas do banco que não existia no SQL Server 7.0&lt;br /&gt;&lt;br /&gt;Segue o código:&lt;br /&gt;&lt;br /&gt;SET NOCOUNT ON&lt;br /&gt;&lt;br /&gt;DECLARE @Id_Tabela int, @Nome_Tabela varchar(50)&lt;br /&gt;PRINT 'BANCO DE DADOS: ' + UPPER(db_name())&lt;br /&gt;PRINT ''&lt;br /&gt;DECLARE tabelas CURSOR FOR SELECT Name, ID FROM sysobjects WHERE xtype = 'U' AND Name &lt;&gt; 'dtProperties'&lt;br /&gt;ORDER BY Name&lt;br /&gt;OPEN tabelas&lt;br /&gt;FETCH NEXT FROM tabelas INTO @Nome_Tabela, @Id_Tabela&lt;br /&gt;WHILE @@FETCH_STATUS = 0&lt;br /&gt;BEGIN&lt;br /&gt;PRINT 'TABELA: ' + UPPER(@nome_tabela)&lt;br /&gt;select nome_campo = LEFT(RTRIM(LTRIM(sc.name)),40),&lt;br /&gt;tipo_campo = LEFT(RTRIM(LTRIM(st.name)),20), tamanho_campo = sc.length, descricao_campo = ISNULL(sp.value,'')&lt;br /&gt;FROM syscolumns sc, systypes st, sysproperties sp WHERE sc.id = @Id_Tabela AND sc.xtype = st.xtype&lt;br /&gt;and sc.colid *= sp.smallid and sp.id = @Id_Tabela&lt;br /&gt;&lt;br /&gt;ORDER BY sc.colid&lt;br /&gt;PRINT ''&lt;br /&gt;FETCH NEXT FROM tabelas INTO @Nome_Tabela, @Id_Tabela&lt;br /&gt;END&lt;br /&gt;CLOSE tabelas&lt;br /&gt;DEALLOCATE tabelas&lt;br /&gt;&lt;br /&gt;SET NOCOUNT OFF&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.linhadecodigo.com.br/Dica.aspx?id=809"&gt;Leia Mais &lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4684750288742513326-3848947413271821504?l=programscomputer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://programscomputer.blogspot.com/feeds/3848947413271821504/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4684750288742513326&amp;postID=3848947413271821504' title='1 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/3848947413271821504'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/3848947413271821504'/><link rel='alternate' type='text/html' href='http://programscomputer.blogspot.com/2009/05/gerar-dicionario-de-dados-sql-server.html' title='Gerar dicionário de dados SQL Server 2000'/><author><name>Blogado</name><uri>http://www.blogger.com/profile/00508039577491745861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_6UXYawCQWIo/Shyby8UQ7FI/AAAAAAAAC0U/nbW07Hd5kKQ/s72-c/20090526+Dicion%C3%A1rio+de+Dados.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4684750288742513326.post-3876058803992466308</id><published>2009-05-20T16:58:00.000-07:00</published><updated>2009-05-20T17:03:31.622-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MySQL'/><category scheme='http://www.blogger.com/atom/ns#' term='Servidor'/><category scheme='http://www.blogger.com/atom/ns#' term='Ligação'/><category scheme='http://www.blogger.com/atom/ns#' term='Conexão'/><category scheme='http://www.blogger.com/atom/ns#' term='Banco de Dados'/><category scheme='http://www.blogger.com/atom/ns#' term='Dicas'/><category scheme='http://www.blogger.com/atom/ns#' term='Seleção'/><title type='text'>Usar MySQL com PHP</title><content type='html'>&lt;a href="http://1.bp.blogspot.com/_6UXYawCQWIo/ShSaNAu-efI/AAAAAAAACyU/g07RQ9YtVZQ/s1600-h/20090119+Mysql.gif"&gt;&lt;img id="BLOGGER_PHOTO_ID_5338061006666889714" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; WIDTH: 200px; CURSOR: hand; HEIGHT: 133px" alt="Artigos: AJAX, PHP, MYSQL, SQLSERVER, VB.NET, DELPHI, COMPACT FRAMEWORK, FIREBIRD" src="http://1.bp.blogspot.com/_6UXYawCQWIo/ShSaNAu-efI/AAAAAAAACyU/g07RQ9YtVZQ/s200/20090119+Mysql.gif" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;A Base de Dados mais comum para a linguagem &lt;strong&gt;php&lt;/strong&gt; é o &lt;strong&gt;mysql&lt;/strong&gt;, podes fazer o download no site mysql.com. No entanto podes utilizar outras bases de dados como, &lt;strong&gt;oracle&lt;/strong&gt;, Sybase, mSQL, PostgreSQL ou qualquer um com ligação ODBC. Neste tutorial vamos utilizar como padrão o mysql.&lt;br /&gt;&lt;br /&gt;Para o php interagir com uma base de dados SQL, independente da base de dados, existem três comandos básicos que devem ser utilizados: um que faz a ligação com o servidor da base de dados, um que seleciona a base de dados a ser utilizada e um que executa uma "query" SQL.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Ligação com o servidor&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;A ligação com o servidor da base de dados mySQL em &lt;strong&gt;PHP&lt;/strong&gt; é feita através do comando mysql_connect, que tem a seguinte sintaxe:&lt;br /&gt;&lt;br /&gt;int mysql_connect(string /* endereço do servidor */ , string /* nome do utlizador */ , string /*password*/ );&lt;br /&gt;&lt;br /&gt;Os parâmetros são bastante simples: &lt;strong&gt;o endereço do servidor, o nome do utlizador e a password para a ligação&lt;/strong&gt;. A função retorna um valor inteiro, que é o identificador da ligação estabelecida e deverá ser armazenado numa variável para ser utilizado depois. No nosso exemplo, temos como servidor da base de dados a mesma máquina que corre o servidor http, como login do utlizador "root" e password "teste":&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;$ligacao = mysql_connect("localhost", "root", "teste");&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;Assim, se a ligação for bem sucedida (existir um servidor no endereço especificado que possua o utlizador com a password fornecida), o identificador da ligação fica armazenado na variável $ligacao.&lt;br /&gt;&lt;br /&gt;Os comandos para outras base de dados são diferentes, mas usam padrões parecidos.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Seleção do base de dados &lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Uma vez ligadoo, é preciso selecionar abase de dados existente no servidor com o qual desejamos trabalhar. Isso é feito através da função int mysql_select_db, que tem a seguinte sintaxe:&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;int mysql_select_db(string /*nome da dase de dados*/, int /*ligacao*/ );&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;O valor de retorno é 0 se o comando falhar, e 1 no caso de sucesso. O nome da base de dados a selecionar é o primeiro parâmetro fornecido, seguido pelo identificador da ligação. Se este for omitido, o interpretador PHP tentará utilizar a última ligação estabelecida. Recomenda-se sempre escrever esse valor, para facilitar a legibilidade do código. No nosso exemplo, a base de dados a ser selecionada possui o nome "ged":&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;$ok = mysql_select_db("ged", $ligacao);&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;Após a execução deste comando qualquer consulta executada para aquela ligação utilizará a base de dados selecionada.&lt;br /&gt;&lt;br /&gt;A variável $ok se for 0 deve lançar a informação não foi possível estabelecer uma ligação.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Execução de queries SQL&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Após estabelecida a ligação e selecionada a base de dados a ser utilizada, quase toda a interação com o servidor mySQL pode ser feita através de consultas escritas em ANSI SQL ( Padrão Structured Query Language), com o comando mysql_query, que utiliza a seguinte sintaxe:&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;int mysql_query(string consulta, int [ligacao] ); &lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;O valor de retorno é 0 se falhar ou 1 no caso de sucesso. Sucesso aqui significa que a consulta está sintaticamente correcta e foi executada no servidor. Nenhuma informação sobre o resultado é retornado deste comando. No caso da consulta ser um comando SELECT, o valor de retorno é um valor interno que identifica o resultado, que poderá ser tratado com a função mysql_result() ou outras. A string query não deve conter ponto-e-vírgula no final do comando, e o identificador da ligação é opcional. Vamos criar uma tabela como exemplo:&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;$cria = "CREATE TABLE exemplo (codigo INT AUTO_INCREMENT PRIMARY KEY, nome VARCHAR(40), email VARCHAR(50))";&lt;br /&gt;&lt;br /&gt;mysql_query($cria, $ligacao);&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Ou&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;$insere = "INSERT INTO exemplo (nome,email) VALUES ("Fulano","teste@email.com.br");&lt;br /&gt;&lt;br /&gt;mysql_query($insere, $insere);&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Se o comando retornar uma consulta, seria necessário guardar essa consulta numa variavel como vector. Ou mesmo que não retorne uma consulta, mas se for necessário saber se realmente o comando foi executado, podes usar uma variável para testar.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;$consulta = "SELECT nome, email FROM exemplo WHERE nome = 'Teste'";&lt;br /&gt;&lt;br /&gt;$resultado = mysql_query($consulta, $ligacao);&lt;br /&gt;&lt;br /&gt;printf("Nome: ", mysql_result($resultado,0,"nome"), "&lt;br /&gt;\n");&lt;br /&gt;printf("e-mail: ", mysql_result($resultado,0,"email"),"&lt;br /&gt;");&lt;/strong&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4684750288742513326-3876058803992466308?l=programscomputer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://programscomputer.blogspot.com/feeds/3876058803992466308/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4684750288742513326&amp;postID=3876058803992466308' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/3876058803992466308'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/3876058803992466308'/><link rel='alternate' type='text/html' href='http://programscomputer.blogspot.com/2009/05/usar-mysql-com-php.html' title='Usar MySQL com PHP'/><author><name>Blogado</name><uri>http://www.blogger.com/profile/00508039577491745861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_6UXYawCQWIo/ShSaNAu-efI/AAAAAAAACyU/g07RQ9YtVZQ/s72-c/20090119+Mysql.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4684750288742513326.post-6813045926927085050</id><published>2009-05-13T16:53:00.000-07:00</published><updated>2009-05-13T17:00:12.659-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Join'/><category scheme='http://www.blogger.com/atom/ns#' term='Artigo SQL Server'/><category scheme='http://www.blogger.com/atom/ns#' term='Select'/><category scheme='http://www.blogger.com/atom/ns#' term='Dicas de Uso'/><title type='text'>Tutorial De Join</title><content type='html'>&lt;a href="http://3.bp.blogspot.com/_6UXYawCQWIo/SgtezBRVURI/AAAAAAAACwA/iLcoHzBGUGQ/s1600-h/20090513+Dados.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5335462414157959442" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 200px; CURSOR: hand; HEIGHT: 172px; TEXT-ALIGN: center" alt="Artigos: AJAX, PHP, MYSQL, SQLSERVER, VB.NET, DELPHI, COMPACT FRAMEWORK, FIREBIRD" src="http://3.bp.blogspot.com/_6UXYawCQWIo/SgtezBRVURI/AAAAAAAACwA/iLcoHzBGUGQ/s200/20090513+Dados.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Existem dois tipo de JOIN, o INNER JOIN e o OUTER JOIN. o OUTER JOIN pode ser de tres tipos: LEFT OUTER JOIN, RIGHT OUTER JOIN ou FULL OUTER JOIN. Ou, pra simplificar: LEFT JOIN, RIGHT JOIN ou FULL JOIN.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://scriptbrasil.com.br/forum/index.php?s=3b11b1ab348020933104780a19fe3685&amp;amp;showtopic=108732"&gt;Leia Mais &lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4684750288742513326-6813045926927085050?l=programscomputer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://programscomputer.blogspot.com/feeds/6813045926927085050/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4684750288742513326&amp;postID=6813045926927085050' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/6813045926927085050'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/6813045926927085050'/><link rel='alternate' type='text/html' href='http://programscomputer.blogspot.com/2009/05/tutorial-de-join.html' title='Tutorial De Join'/><author><name>Blogado</name><uri>http://www.blogger.com/profile/00508039577491745861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_6UXYawCQWIo/SgtezBRVURI/AAAAAAAACwA/iLcoHzBGUGQ/s72-c/20090513+Dados.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4684750288742513326.post-8184004746171555318</id><published>2009-05-06T16:13:00.000-07:00</published><updated>2009-05-06T16:21:37.866-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Web'/><category scheme='http://www.blogger.com/atom/ns#' term='Otimização MySql'/><category scheme='http://www.blogger.com/atom/ns#' term='Gargalo'/><category scheme='http://www.blogger.com/atom/ns#' term='Banco de Dados'/><category scheme='http://www.blogger.com/atom/ns#' term='Queris'/><title type='text'>Otimização MySql</title><content type='html'>&lt;a href="http://2.bp.blogspot.com/_6UXYawCQWIo/SgIa4Xy4g8I/AAAAAAAACtI/A_AXi719urE/s1600-h/20090506+OtimizaÃ§Ã£o+MySql.png"&gt;&lt;img id="BLOGGER_PHOTO_ID_5332854464522519490" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; WIDTH: 197px; CURSOR: hand; HEIGHT: 200px" alt="Artigos: AJAX, PHP, MYSQL, SQLSERVER, VB.NET, DELPHI, COMPACT FRAMEWORK, FIREBIRD" src="http://2.bp.blogspot.com/_6UXYawCQWIo/SgIa4Xy4g8I/AAAAAAAACtI/A_AXi719urE/s200/20090506+Otimiza%C3%A7%C3%A3o+MySql.png" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Desempenho. Essa é a palavra chave que orienta e estimula o desenvolvimento do popular sistema de gerenciamento de banco de dados &lt;strong&gt;MySQL&lt;/strong&gt;. Sendo considerado também o fator determinante para o seu sucesso, é o desempenho que se sobressaí sobre as demais qualidades (e &lt;strong&gt;defeitos&lt;/strong&gt;) desse banco de dados.&lt;br /&gt;&lt;br /&gt;Entretanto, por si só o MySQL não irá garantir a melhor &lt;strong&gt;performance&lt;/strong&gt; para uma aplicação, pois assim como todo banco de dados, o desempenho em relação a &lt;strong&gt;aplicação&lt;/strong&gt; depende de vários conceitos inter-relacionados. Durante uma &lt;strong&gt;análise&lt;/strong&gt;, conhecer esses conceitos e aplicá-los poderá, em diversos casos, &lt;strong&gt;fabricar&lt;/strong&gt; resultados mais positivos na performance do sistema do que simplesmente adicionar memória RAM.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://under-linux.org/8496-dicas-de-otimizacao-do-mysql-parte-1.html"&gt;Leia Mais&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4684750288742513326-8184004746171555318?l=programscomputer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://programscomputer.blogspot.com/feeds/8184004746171555318/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4684750288742513326&amp;postID=8184004746171555318' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/8184004746171555318'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/8184004746171555318'/><link rel='alternate' type='text/html' href='http://programscomputer.blogspot.com/2009/05/otimizacao-mysql.html' title='Otimização MySql'/><author><name>Blogado</name><uri>http://www.blogger.com/profile/00508039577491745861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_6UXYawCQWIo/SgIa4Xy4g8I/AAAAAAAACtI/A_AXi719urE/s72-c/20090506+Otimiza%C3%A7%C3%A3o+MySql.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4684750288742513326.post-8189062251319138005</id><published>2009-04-30T14:14:00.000-07:00</published><updated>2009-04-30T14:22:40.348-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Depurador PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='Codigo PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='Scripts PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='Dicas PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='FirePHP'/><title type='text'>FirePHP: Depurador de códigos PHP</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_6UXYawCQWIo/SfoWdogoMcI/AAAAAAAACq4/Ds-rWYOsPbg/s1600-h/20090430+PHP.gif"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 200px; height: 149px;" src="http://3.bp.blogspot.com/_6UXYawCQWIo/SfoWdogoMcI/AAAAAAAACq4/Ds-rWYOsPbg/s200/20090430+PHP.gif" alt="Artigos: AJAX, Dicas PHP, Depurador" id="BLOGGER_PHOTO_ID_5330597807292690882" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Muitos já estão acostumados com a utilização do &lt;span style="font-weight: bold;"&gt;FireBug &lt;/span&gt;para depurar os seus códigos &lt;span style="font-weight: bold;"&gt;Javascript&lt;/span&gt;, &lt;span style="font-weight: bold;"&gt;HTML &lt;/span&gt;e &lt;span style="font-weight: bold;"&gt;CSS&lt;/span&gt;. Mas e o que fazer com o &lt;span style="font-weight: bold;"&gt;PHP&lt;/span&gt;? Nada de quebrar a cabeça. Agora temos mais uma grande ajuda no desenvolvimento Web. O FirePHP!&lt;br /&gt;&lt;br /&gt;Utilizado a partir do próprio &lt;span style="font-weight: bold;"&gt;FireBug&lt;/span&gt;, o FirePHP é uma ferramenta interessante para &lt;span style="font-weight: bold;"&gt;depurar&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;códigos de scripts PHP&lt;/span&gt;. Para instalar a extensão é só acessar&lt;br /&gt;&lt;br /&gt;https://addons.mozilla.org/pt-BR/firefox/search?q=FirePHP&amp;amp;cat=all&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.vivaolinux.com.br/dica/FirePHP-Depurador-de-codigos-PHP/"&gt;Leia Mais &lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4684750288742513326-8189062251319138005?l=programscomputer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://programscomputer.blogspot.com/feeds/8189062251319138005/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4684750288742513326&amp;postID=8189062251319138005' title='4 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/8189062251319138005'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/8189062251319138005'/><link rel='alternate' type='text/html' href='http://programscomputer.blogspot.com/2009/04/firephp-depurador-de-codigos-php.html' title='FirePHP: Depurador de códigos PHP'/><author><name>Blogado</name><uri>http://www.blogger.com/profile/00508039577491745861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_6UXYawCQWIo/SfoWdogoMcI/AAAAAAAACq4/Ds-rWYOsPbg/s72-c/20090430+PHP.gif' height='72' width='72'/><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4684750288742513326.post-5492355754100388699</id><published>2009-04-24T14:37:00.000-07:00</published><updated>2009-04-24T14:46:32.597-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='IBM'/><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='Softwares Empresarias'/><category scheme='http://www.blogger.com/atom/ns#' term='Dell'/><category scheme='http://www.blogger.com/atom/ns#' term='Sun'/><category scheme='http://www.blogger.com/atom/ns#' term='HP'/><category scheme='http://www.blogger.com/atom/ns#' term='Banco de Dados'/><category scheme='http://www.blogger.com/atom/ns#' term='Oracle'/><title type='text'>Oracle compra a Sun Microsystems por US$ 7,4 bilhões</title><content type='html'>&lt;a href="http://2.bp.blogspot.com/_6UXYawCQWIo/SfIy5XPkx6I/AAAAAAAACoM/ewbaMKDtais/s1600-h/20090424+Sun+Microsystems.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5328377270205990818" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; WIDTH: 200px; CURSOR: hand; HEIGHT: 180px" alt="Java, Sun, Oracle, Mercado de TI" src="http://2.bp.blogspot.com/_6UXYawCQWIo/SfIy5XPkx6I/AAAAAAAACoM/ewbaMKDtais/s200/20090424+Sun+Microsystems.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;A desenvolvedora de &lt;strong&gt;softwares empresariais&lt;/strong&gt; &lt;strong&gt;Oracle&lt;/strong&gt; fechou um acordo para comprar a &lt;strong&gt;Sun Microsystems&lt;/strong&gt; por US$ 7,4 bilhões, anunciaram as empresas nesta segunda-feira (20). O negócio foi aceito por unanimidade pelo conselho de diretores da Sun, mas ainda precisa de aprovação dos acionistas da empresa e de entidades reguladoras de comércio.&lt;br /&gt;&lt;br /&gt;"A compra da Sun transforma a indústria de &lt;strong&gt;TI&lt;/strong&gt;, combinando softwares empresariais e sistemas de computador para situações críticas", afirma Larry Ellison, executivo-chefe da Oracle, em nota. O negócio vem à tona cerca de duas semanas depois que a &lt;strong&gt;IBM&lt;/strong&gt; encerrou as negociações com a Sun.&lt;br /&gt;&lt;br /&gt;Scott McNealy, presidente do conselho da Sun, classificou o acordo como "um marco nessa indústria".&lt;br /&gt;&lt;br /&gt;A compra une duas aliadas históricas. Segundo o jornal "The New York Times", historicamente grande parte das vendas da área de banco de dados da Oracle era feita em cooperação com servidores da Sun. Entretanto nos últimos anos a Oracle tornou &lt;strong&gt;HP&lt;/strong&gt; e &lt;strong&gt;Dell&lt;/strong&gt; parceiras mais fortes, fazendo com que o volume de negócios da &lt;strong&gt;Sun&lt;/strong&gt; diminuísse.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Será que o Java vai ser pago?&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Fonte: &lt;a href="http://www1.folha.uol.com.br/folha/informatica/ult124u553423.shtml"&gt;Folha OnLine&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4684750288742513326-5492355754100388699?l=programscomputer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://programscomputer.blogspot.com/feeds/5492355754100388699/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4684750288742513326&amp;postID=5492355754100388699' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/5492355754100388699'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/5492355754100388699'/><link rel='alternate' type='text/html' href='http://programscomputer.blogspot.com/2009/04/oracle-compra-sun-microsystems-por-us.html' title='Oracle compra a Sun Microsystems por US$ 7,4 bilhões'/><author><name>Blogado</name><uri>http://www.blogger.com/profile/00508039577491745861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_6UXYawCQWIo/SfIy5XPkx6I/AAAAAAAACoM/ewbaMKDtais/s72-c/20090424+Sun+Microsystems.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4684750288742513326.post-3892545156502111230</id><published>2009-04-20T14:55:00.000-07:00</published><updated>2009-04-20T15:02:36.825-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Arquivos'/><category scheme='http://www.blogger.com/atom/ns#' term='Padrão'/><category scheme='http://www.blogger.com/atom/ns#' term='Sistema'/><category scheme='http://www.blogger.com/atom/ns#' term='POST'/><category scheme='http://www.blogger.com/atom/ns#' term='Upload'/><title type='text'>Upload com Ajax</title><content type='html'>&lt;a href="http://4.bp.blogspot.com/_6UXYawCQWIo/SezwrFAZnjI/AAAAAAAACnM/S6BPDjuBVb8/s1600-h/20090302+Ajax.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 300px; height: 300px;" src="http://4.bp.blogspot.com/_6UXYawCQWIo/SezwrFAZnjI/AAAAAAAACnM/S6BPDjuBVb8/s320/20090302+Ajax.png" border="0" alt="Dicas Ajax, PHP, Web, Internet"id="BLOGGER_PHOTO_ID_5326897082141351474" /&gt;&lt;/a&gt;&lt;br /&gt;Upload usando apenas AJAX não é viável no ambiente da Internet pois, por motivos de segurança, os navegadores por padrão não dão acesso ao sistema de arquivos para o JavaScript (se quiser descobrir como ativar esta característica não padrão, leia aqui, mas acredito não ser muito útil ajax upload dessa forma).&lt;br /&gt;&lt;br /&gt;Esta minha função utiliza técnicas que envolvem iframes. Este post aqui é só para o código.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://forum.webly.com.br/index.php?s=9897c685d09b9eb9642003c51e98cf5a&amp;showtopic=9350"&gt;Leia Mais&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4684750288742513326-3892545156502111230?l=programscomputer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://programscomputer.blogspot.com/feeds/3892545156502111230/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4684750288742513326&amp;postID=3892545156502111230' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/3892545156502111230'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/3892545156502111230'/><link rel='alternate' type='text/html' href='http://programscomputer.blogspot.com/2009/04/upload-com.html' title='Upload com Ajax'/><author><name>Blogado</name><uri>http://www.blogger.com/profile/00508039577491745861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_6UXYawCQWIo/SezwrFAZnjI/AAAAAAAACnM/S6BPDjuBVb8/s72-c/20090302+Ajax.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4684750288742513326.post-34342413060025766</id><published>2009-04-13T14:20:00.000-07:00</published><updated>2009-04-13T15:03:00.523-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Dicas Firebird'/><category scheme='http://www.blogger.com/atom/ns#' term='Benefício'/><category scheme='http://www.blogger.com/atom/ns#' term='Criar Dados'/><category scheme='http://www.blogger.com/atom/ns#' term='Codigo'/><category scheme='http://www.blogger.com/atom/ns#' term='Domínios'/><title type='text'>Dicas Firebird</title><content type='html'>&lt;a href="http://1.bp.blogspot.com/_6UXYawCQWIo/SeO1d4SswyI/AAAAAAAAClk/Eri91jsgp34/s1600-h/20090413+Firebird.gif"&gt;&lt;img id="BLOGGER_PHOTO_ID_5324298709413708578" style="FLOAT: right; MARGIN: 0px 0px 10px 10px; WIDTH: 200px; CURSOR: hand; HEIGHT: 200px" alt="Firebird" src="http://1.bp.blogspot.com/_6UXYawCQWIo/SeO1d4SswyI/AAAAAAAAClk/Eri91jsgp34/s200/20090413+Firebird.gif" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Criar e usar domínios (domain's)&lt;br /&gt;&lt;br /&gt;No InterBase e FireBird domínios são como tipos de dados. Tais domínios têm grande semelhança com o conceito de domínio aplicado à matemática, ou seja, um domínio define um conjunto de valores válidos para uma dada situação.&lt;br /&gt;&lt;br /&gt;Podemos criar qualquer banco de dados sem fazer uso explícito de domínios. No entanto usar domínios explicitamente pode deixar o banco de dados mais organizado, com regras claras e bem definidas, e ainda conseguir uma economia substancial de mão de obra na construção e manutenção do banco.&lt;br /&gt;&lt;br /&gt;Para demonstrar a utilidade dos domínios, vamos criar dois exemplos.&lt;br /&gt;&lt;br /&gt;Exemplo 1 - Sem uso explícito de domínios:&lt;br /&gt;&lt;br /&gt;CREATE TABLE Cliente(&lt;br /&gt;Codigo INTEGER NOT NULL,&lt;br /&gt;Nome VARCHAR(40) NOT NULL,&lt;br /&gt;Fone VARCHAR(20),&lt;br /&gt;Fax VARCHAR(20),&lt;br /&gt;Celular VARCHAR(20),&lt;br /&gt;Renda NUMERIC(9,2) DEFAULT 0 NOT NULL,&lt;br /&gt;CONSTRAINT PK_Cliente PRIMARY KEY(Codigo),&lt;br /&gt;CONSTRAINT CHK_Cliente_Codigo CHECK(Codigo &gt; 0),&lt;br /&gt;CONSTRAINT CHK_Cliente_Renda CHECK(Renda &gt;= 0));&lt;br /&gt;&lt;br /&gt;Exemplo 2 - Com uso explícito de domínios:&lt;br /&gt;&lt;br /&gt;CREATE DOMAIN DM_ChavePrimaria INTEGER NOT NULL CHECK(VALUE &gt; 0);&lt;br /&gt;CREATE DOMAIN DM_NomePessoa VARCHAR(40) NOT NULL;&lt;br /&gt;CREATE DOMAIN DM_Fone VARCHAR(20);&lt;br /&gt;CREATE DOMAIN DM_Renda NUMERIC(9,2) DEFAULT 0 NOT NULL CHECK(VALUE &gt;= 0);&lt;br /&gt;&lt;br /&gt;CREATE TABLE Cliente(&lt;br /&gt;Codigo DM_ChavePrimaria,&lt;br /&gt;Nome DM_NomePessoa,&lt;br /&gt;Fone DM_Fone,&lt;br /&gt;Fax DM_Fone,&lt;br /&gt;Celular DM_Fone,&lt;br /&gt;Renda DM_Renda,&lt;br /&gt;CONSTRAINT PK_Cliente PRIMARY KEY(Codigo));&lt;br /&gt;&lt;br /&gt;Comentários:&lt;br /&gt;&lt;br /&gt;* O benefício imediato do uso explícito de domínios é a organização do código que define as tabelas.&lt;br /&gt;* Como um mesmo domínio será usado em várias tabelas (exemplo: DM_NomePessoa), ganharemos muito tempo ao definir outras tabelas que comporão o banco de dados.&lt;br /&gt;* O domínio DM_Fone é um exemplo que demonstra como um mesmo domínio pode ser usado para colunas diferentes que possuem conteúdos semelhantes.&lt;br /&gt;* Os domínios DM_ChavePrimaria e DM_Renda mostram aspectos mais interessantes na declaração de domínios, tais como a especificação de um valor padrão (DEFAULT) e regras para validação (CHECK).&lt;br /&gt;* Se mais tarde resolvermos alterar os nomes de pessoas para 50 caracteres, ou seja, VARCHAR(50), bastará alterar a definição do domínio DM_NomePessoa e todos os campos definidos com este domínio serão automaticamente ajustados. Neste caso bastaria o comando ALTER DOMAIN DM_NomePessoa TYPE VARCHAR(50).&lt;br /&gt;* Nos bancos de dados que crio, uso domínios explicitamente para todos os campos de todas as tabelas, mesmo onde aparentemente são desnecessários. Mas é bom lembrar que domínios mal definidos podem trazer mais prejuízos do que benefícios. Portanto, antes de sair criando domínios deliberadamente, faça um estudo minucioso do banco de dados a ser construído.&lt;br /&gt;&lt;br /&gt;Autor: Daniel P. Guimarães&lt;br /&gt;Home-page: www.tecnobyte.com.br&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4684750288742513326-34342413060025766?l=programscomputer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://programscomputer.blogspot.com/feeds/34342413060025766/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4684750288742513326&amp;postID=34342413060025766' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/34342413060025766'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/34342413060025766'/><link rel='alternate' type='text/html' href='http://programscomputer.blogspot.com/2009/04/dicas-firebird.html' title='Dicas Firebird'/><author><name>Blogado</name><uri>http://www.blogger.com/profile/00508039577491745861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_6UXYawCQWIo/SeO1d4SswyI/AAAAAAAAClk/Eri91jsgp34/s72-c/20090413+Firebird.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4684750288742513326.post-3288871489459017871</id><published>2009-04-02T15:36:00.000-07:00</published><updated>2009-04-02T15:43:46.655-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Web Service'/><category scheme='http://www.blogger.com/atom/ns#' term='Artigo - Microsoft .NET Compact Framework'/><category scheme='http://www.blogger.com/atom/ns#' term='Amazon'/><category scheme='http://www.blogger.com/atom/ns#' term='Pocket PC'/><category scheme='http://www.blogger.com/atom/ns#' term='Dicas'/><title type='text'>Criando um cliente para Amazon Web Services (AWS) no Pocket PC</title><content type='html'>&lt;a href="http://1.bp.blogspot.com/_6UXYawCQWIo/SdU_jboM6kI/AAAAAAAACjs/UsPp3gpvUbU/s1600-h/20090402+Amazon.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5320228412752456258" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; WIDTH: 200px; CURSOR: hand; HEIGHT: 150px" alt="Artigos: AJAX - PHP - MYSQL - SQLSERVER - VB.NET - DELPHI - COMPACT FRAMEWORK - FIREBIRD" src="http://1.bp.blogspot.com/_6UXYawCQWIo/SdU_jboM6kI/AAAAAAAACjs/UsPp3gpvUbU/s200/20090402+Amazon.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;Recentemente eu adquiri um dispositivo IPAQ PocketPC, e depois de checar todos os aplicativos nativos, veio a idéia de criar meu primeiro programa usando o .Net Compact Framework (.Net CF).&lt;br /&gt;&lt;br /&gt;Entre várias possibilidades, eu decidi pôr em prática uma idéia que sempre vinha à minha cabeça quando eu visitava livrarias em busca de livros técnicos importados, que é a possibilidade de checar a cotação (ou seja, o número de "estrelas") que o livro tem no site Amazon.com, que é um bom indicativo se o livro é bom ou se é uma "bomba".&lt;br /&gt;&lt;br /&gt;A boa notícia é que a Amazon possui um conjunto de web services muito completo, "Amazon Web Services"(AWS), que permite checar todas as informacões relativos a livros, CDs e DVDs, bem como jogos e tudo mais que é vendido no site.&lt;br /&gt;&lt;br /&gt;Tal aplicativo exige conexão à Internet, naturalmente, mas acredito ser uma questäo de tempo até as grandes lojas e shopping-centers no Brasil oferecerem serviço de internet wireless (Wi-Fi) para seus clientes, como já é comum nos EUA e Europa.&lt;br /&gt;&lt;br /&gt;Apesar de ter sido escrito com .Net CF, o código que você verá abaixo é virtualmente idêntico ao que seria necessário em aplicacões ASP.Net e Windows.Forms (com excecão da interface com o usuário), e para quem não possui dispositivos móveis vale a pena lembrar que é possível usar emuladores para testar seus programas.&lt;br /&gt;&lt;br /&gt;Vamos lá então!&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.linhadecodigo.com.br/Artigo.aspx?id=711"&gt;&lt;strong&gt;&lt;em&gt;Leia Mais&lt;/em&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4684750288742513326-3288871489459017871?l=programscomputer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://programscomputer.blogspot.com/feeds/3288871489459017871/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4684750288742513326&amp;postID=3288871489459017871' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/3288871489459017871'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/3288871489459017871'/><link rel='alternate' type='text/html' href='http://programscomputer.blogspot.com/2009/04/criando-um-cliente-para-amazon-web.html' title='Criando um cliente para Amazon Web Services (AWS) no Pocket PC'/><author><name>Blogado</name><uri>http://www.blogger.com/profile/00508039577491745861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_6UXYawCQWIo/SdU_jboM6kI/AAAAAAAACjs/UsPp3gpvUbU/s72-c/20090402+Amazon.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4684750288742513326.post-7365255129361703412</id><published>2009-03-26T18:23:00.000-07:00</published><updated>2009-03-26T18:33:59.704-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Delphi'/><category scheme='http://www.blogger.com/atom/ns#' term='Senha'/><category scheme='http://www.blogger.com/atom/ns#' term='Parâmetros'/><category scheme='http://www.blogger.com/atom/ns#' term='Senhas'/><category scheme='http://www.blogger.com/atom/ns#' term='Números'/><category scheme='http://www.blogger.com/atom/ns#' term='Integer'/><category scheme='http://www.blogger.com/atom/ns#' term='Dicas'/><category scheme='http://www.blogger.com/atom/ns#' term='Minúsculas'/><title type='text'>Função para gerar senhas aleatórias</title><content type='html'>&lt;a href="http://2.bp.blogspot.com/_6UXYawCQWIo/Scws1SfWWRI/AAAAAAAACgU/ZPnZ8nP8uMI/s1600-h/20090326+Senhas+em+Delphi.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 200px; height: 200px;" src="http://2.bp.blogspot.com/_6UXYawCQWIo/Scws1SfWWRI/AAAAAAAACgU/ZPnZ8nP8uMI/s200/20090326+Senhas+em+Delphi.jpg" border="0" alt="Artigos: AJAX - PHP - MYSQL - SQLSERVER - VB.NET - DELPHI - COMPACT FRAMEWORK - FIREBIRD"id="BLOGGER_PHOTO_ID_5317674554025728274" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Essa é uma dica simples e que para os que trabalham com redes sem fio pode ser muito útil. O que a função faz é gerar um string com caracteres hexadecimais, mas que podem ser adaptados para qualquer outro tipo. Esta função recebe como parâmetros o comprimento da senha como um integer, e outros três parametros do tipo boolean que indicam se estarão presentes letras minúsculas, maiúsculas e números.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.codigofonte.net/dicas/delphi/465_funcao-para-gerar-senhas-aleatorias"&gt;Leia Mais&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4684750288742513326-7365255129361703412?l=programscomputer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://programscomputer.blogspot.com/feeds/7365255129361703412/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4684750288742513326&amp;postID=7365255129361703412' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/7365255129361703412'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/7365255129361703412'/><link rel='alternate' type='text/html' href='http://programscomputer.blogspot.com/2009/03/funcao-para-gerar-senhas-aleatorias.html' title='Função para gerar senhas aleatórias'/><author><name>Blogado</name><uri>http://www.blogger.com/profile/00508039577491745861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_6UXYawCQWIo/Scws1SfWWRI/AAAAAAAACgU/ZPnZ8nP8uMI/s72-c/20090326+Senhas+em+Delphi.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4684750288742513326.post-6094568096955990397</id><published>2009-03-23T17:12:00.000-07:00</published><updated>2009-03-23T17:25:52.319-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Combo'/><category scheme='http://www.blogger.com/atom/ns#' term='KeyPress'/><category scheme='http://www.blogger.com/atom/ns#' term='Preenchimento'/><category scheme='http://www.blogger.com/atom/ns#' term='Banco de Dados'/><category scheme='http://www.blogger.com/atom/ns#' term='Select'/><category scheme='http://www.blogger.com/atom/ns#' term='Artigo VB.net'/><title type='text'>Preenchimento automatico da combo a medida que se digite</title><content type='html'>&lt;a href="http://2.bp.blogspot.com/_6UXYawCQWIo/Scgofz50cUI/AAAAAAAACeM/b3FFSD9K6So/s1600-h/20081122VB+Net.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5316543887084646722" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; WIDTH: 200px; CURSOR: hand; HEIGHT: 136px" alt="Artigos: AJAX - PHP - MYSQL - SQLSERVER - VB.NET - DELPHI - COMPACT FRAMEWORK - FIREBIRD " src="http://2.bp.blogspot.com/_6UXYawCQWIo/Scgofz50cUI/AAAAAAAACeM/b3FFSD9K6So/s200/20081122VB+Net.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Quando voce digita uma letra em uma combo, ele mostra o primeiro item que o conteudo contenha o que voce digitou. Exemplo de em digitar 'C' ele vai mostrar o primeiro item com C (Carlos) e o cursor ficara parado entre o C e o A, a pendida que eu vou digitando ele vai preenchento com um item que satisfaca o que eu digitei.&lt;br /&gt;Igual a digitacao dos enderecos das paginas no explorer.&lt;br /&gt;&lt;br /&gt;No seu formulario coloque:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.vbweb.com.br/dicas_visual.asp?Codigo=2479&amp;amp;Classificacao=19"&gt;Leia Mais&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4684750288742513326-6094568096955990397?l=programscomputer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://programscomputer.blogspot.com/feeds/6094568096955990397/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4684750288742513326&amp;postID=6094568096955990397' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/6094568096955990397'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/6094568096955990397'/><link rel='alternate' type='text/html' href='http://programscomputer.blogspot.com/2009/03/preenchimento-automatico-da-combo.html' title='Preenchimento automatico da combo a medida que se digite'/><author><name>Blogado</name><uri>http://www.blogger.com/profile/00508039577491745861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_6UXYawCQWIo/Scgofz50cUI/AAAAAAAACeM/b3FFSD9K6So/s72-c/20081122VB+Net.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4684750288742513326.post-5747236279973495163</id><published>2009-03-13T14:30:00.000-07:00</published><updated>2009-03-13T14:37:25.190-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Scripts'/><category scheme='http://www.blogger.com/atom/ns#' term='Dicionário de Dados'/><category scheme='http://www.blogger.com/atom/ns#' term='Banco de Dados'/><category scheme='http://www.blogger.com/atom/ns#' term='Analize'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL Server'/><category scheme='http://www.blogger.com/atom/ns#' term='Dicas'/><title type='text'>Script SQL Server 2000 para gerar dicionário de dados do seu banco de dados</title><content type='html'>&lt;a href="http://4.bp.blogspot.com/_6UXYawCQWIo/SbrSCIjfvYI/AAAAAAAACa0/y-ocm1DYDy4/s1600-h/20090313+SqlServer.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 200px; height: 160px;" src="http://4.bp.blogspot.com/_6UXYawCQWIo/SbrSCIjfvYI/AAAAAAAACa0/y-ocm1DYDy4/s200/20090313+SqlServer.jpg" border="0" alt="Artigos: AJAX - PHP - MYSQL - SQLSERVER - VB.NET - DELPHI - COMPACT FRAMEWORK - FIREBIRD" id="BLOGGER_PHOTO_ID_5312789644534857090" /&gt;&lt;/a&gt;&lt;br /&gt; &lt;br /&gt;  SQL Server   &lt;br /&gt;    &lt;br /&gt;  Este script te permite gerar um dicionário de dados para qualquer banco de dados SQL Server 2000. Você pode colocá-lo no query analizer, escolher o banco de dados e gerar ou se for de sua necessidade criar uma stored procedure. O fato de ser apenas para SQL Server 2000, é porque existe um local onde você pode colocar descrições para os campos das tabelas do banco que não existia no SQL Server 7.0 &lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.linhadecodigo.com.br/Dica.aspx?id=809"&gt;Leia Mais&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4684750288742513326-5747236279973495163?l=programscomputer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://programscomputer.blogspot.com/feeds/5747236279973495163/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4684750288742513326&amp;postID=5747236279973495163' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/5747236279973495163'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/5747236279973495163'/><link rel='alternate' type='text/html' href='http://programscomputer.blogspot.com/2009/03/script-sql-server-2000-para-gerar.html' title='Script SQL Server 2000 para gerar dicionário de dados do seu banco de dados'/><author><name>Blogado</name><uri>http://www.blogger.com/profile/00508039577491745861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_6UXYawCQWIo/SbrSCIjfvYI/AAAAAAAACa0/y-ocm1DYDy4/s72-c/20090313+SqlServer.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4684750288742513326.post-127606933152893503</id><published>2009-03-10T16:47:00.000-07:00</published><updated>2009-03-10T16:57:32.039-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Insert'/><category scheme='http://www.blogger.com/atom/ns#' term='Artigo MySql'/><category scheme='http://www.blogger.com/atom/ns#' term='Dicas de Banco de Dados'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL'/><category scheme='http://www.blogger.com/atom/ns#' term='Select'/><title type='text'>Dicas MySql: Combinando INSERT + SELECT para duplicação de registros</title><content type='html'>&lt;a href="http://4.bp.blogspot.com/_6UXYawCQWIo/Sbb-GLx_qeI/AAAAAAAACZM/42IIyA4rbzY/s1600-h/20090310+Mysql.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5311712192725232098" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 200px; CURSOR: hand; HEIGHT: 146px; TEXT-ALIGN: center" alt="Artigos: AJAX - PHP - MYSQL - SQLSERVER - VB.NET - DELPHI - COMPACT FRAMEWORK - FIREBIRD" src="http://4.bp.blogspot.com/_6UXYawCQWIo/Sbb-GLx_qeI/AAAAAAAACZM/42IIyA4rbzY/s200/20090310+Mysql.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Essa semana surgiu a necessidade de duplicar um registro numa de minhas tabelas do banco de dados MySQL. A solução mais prática encontrada foi, ao invés de criar um INSERT por extenso copiando os valores do registro a ser duplicado, combinar o uso do INSERT com SELECT.&lt;br /&gt;&lt;br /&gt;Vale lembrar que essa dica é para aqueles que já possuem uma certa experiência em comandos SQL.&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;a href="http://www.vivaolinux.com.br/dica/SQL-Combinando-INSERT-+-SELECT-para-duplicacao-de-registros/"&gt;Leia Mais&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4684750288742513326-127606933152893503?l=programscomputer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://programscomputer.blogspot.com/feeds/127606933152893503/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4684750288742513326&amp;postID=127606933152893503' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/127606933152893503'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/127606933152893503'/><link rel='alternate' type='text/html' href='http://programscomputer.blogspot.com/2009/03/dicas-mysql-combinando-insert-select.html' title='Dicas MySql: Combinando INSERT + SELECT para duplicação de registros'/><author><name>Blogado</name><uri>http://www.blogger.com/profile/00508039577491745861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_6UXYawCQWIo/Sbb-GLx_qeI/AAAAAAAACZM/42IIyA4rbzY/s72-c/20090310+Mysql.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4684750288742513326.post-9132439078410016268</id><published>2009-03-06T12:45:00.000-08:00</published><updated>2009-03-06T12:54:13.686-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MySQL'/><category scheme='http://www.blogger.com/atom/ns#' term='Tela'/><category scheme='http://www.blogger.com/atom/ns#' term='Controle de Visitas'/><category scheme='http://www.blogger.com/atom/ns#' term='IP Visitante'/><category scheme='http://www.blogger.com/atom/ns#' term='Registros'/><title type='text'>Contador de visitas php/Mysql</title><content type='html'>&lt;a href="http://1.bp.blogspot.com/_6UXYawCQWIo/SbGNBitjEyI/AAAAAAAACXI/c7uwIpnANBU/s1600-h/20090306+PHP.gif"&gt;&lt;img id="BLOGGER_PHOTO_ID_5310180493283758882" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 200px; CURSOR: hand; HEIGHT: 149px; TEXT-ALIGN: center" alt="Artigos: AJAX - PHP - MYSQL - SQLSERVER - VB.NET - DELPHI - COMPACT FRAMEWORK - FIREBIRD" src="http://1.bp.blogspot.com/_6UXYawCQWIo/SbGNBitjEyI/AAAAAAAACXI/c7uwIpnANBU/s200/20090306+PHP.gif" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;O que vamos fazer?&lt;br /&gt;Um simples contador de visitas que utiliza MySQL.&lt;br /&gt;&lt;br /&gt;Como funciona?&lt;br /&gt;O sistema pega a data atual e o ip do visitante, após pegar esses dados ele verifica se os mesmo ja forma inseridos na tabela. (Verifica a data e o ip / Compara data atual + ip visitante com todos os registros da tabela)&lt;br /&gt;&lt;br /&gt;- Criei uma classe chamada "visita", nela possui as funções:&lt;br /&gt;visita();&lt;br /&gt;Funciona como construtor, pega o ip do visitante e a data atual e armazena nas variaveis $ip e $data;&lt;br /&gt;conectar();&lt;br /&gt;Conexão com o banco&lt;br /&gt;verificaVisitante();&lt;br /&gt;Essa função faz as comparações, verifica se ja visitou. Caso não tenha visitado, insere novo registro.&lt;br /&gt;imprime(); &lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;Seleciona todos os registros da tabela e imprime na tela &lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;a href="http://www.codigofonte.net/dicas/php/274_contador-de-visitas-phpmysql"&gt;Leia Mais&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4684750288742513326-9132439078410016268?l=programscomputer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://programscomputer.blogspot.com/feeds/9132439078410016268/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4684750288742513326&amp;postID=9132439078410016268' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/9132439078410016268'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/9132439078410016268'/><link rel='alternate' type='text/html' href='http://programscomputer.blogspot.com/2009/03/contador-de-visitas-phpmysql.html' title='Contador de visitas php/Mysql'/><author><name>Blogado</name><uri>http://www.blogger.com/profile/00508039577491745861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_6UXYawCQWIo/SbGNBitjEyI/AAAAAAAACXI/c7uwIpnANBU/s72-c/20090306+PHP.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4684750288742513326.post-6141997866948691219</id><published>2009-03-02T16:21:00.000-08:00</published><updated>2009-03-02T16:36:15.324-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Slide Show'/><category scheme='http://www.blogger.com/atom/ns#' term='Galeria de Fotos'/><category scheme='http://www.blogger.com/atom/ns#' term='Dicas de Ajax'/><title type='text'>SCRIPT PARA MOSTRAR FOTOS COM TRANSIÇÃO</title><content type='html'>&lt;a href="http://2.bp.blogspot.com/_6UXYawCQWIo/Sax64SEO8kI/AAAAAAAACVI/jvebW2_3u7A/s1600-h/20090302+Ajax.png"&gt;&lt;img id="BLOGGER_PHOTO_ID_5308753168103830082" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 200px; CURSOR: hand; HEIGHT: 200px; TEXT-ALIGN: center" alt="Artigos: AJAX - PHP - MYSQL - SQLSERVER - VB.NET - DELPHI - COMPACT FRAMEWORK - FIREBIRD" src="http://2.bp.blogspot.com/_6UXYawCQWIo/Sax64SEO8kI/AAAAAAAACVI/jvebW2_3u7A/s200/20090302+Ajax.png" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Existem muitos tipos de sites onde as fotos são importantes para o sucesso do mesmo. O site de um hotel precisa ser repleto de bonitas fotos. Mas como apresentar estas fotos de forma elegante para os visitantes? Este script que você encontrará no site &lt;a href="http://lifedraft.de/projekte/dhonishow/"&gt;http://lifedraft.de/projekte/dhonishow/&lt;/a&gt; faz isto muito bem. Ele é perfeito para colocar uma apresentação de fotos na capa de um site de hotel, restaurante ou qualquer que se venda através de uma bela foto. Basta visitar o site para ver na mesma página uma demonstração, o botão para download e alguns códigos prontos para fazer o script funcionar.&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://neosite.ilogic.com.br/dicas/2008/07/script-para-mostrar-fotos-com-transicao.html"&gt;Leia Mais &lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4684750288742513326-6141997866948691219?l=programscomputer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://programscomputer.blogspot.com/feeds/6141997866948691219/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4684750288742513326&amp;postID=6141997866948691219' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/6141997866948691219'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/6141997866948691219'/><link rel='alternate' type='text/html' href='http://programscomputer.blogspot.com/2009/03/script-para-mostrar-fotos-com-transicao.html' title='SCRIPT PARA MOSTRAR FOTOS COM TRANSIÇÃO'/><author><name>Blogado</name><uri>http://www.blogger.com/profile/00508039577491745861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_6UXYawCQWIo/Sax64SEO8kI/AAAAAAAACVI/jvebW2_3u7A/s72-c/20090302+Ajax.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4684750288742513326.post-2412680741168402064</id><published>2009-02-28T13:27:00.000-08:00</published><updated>2009-02-28T13:49:11.239-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SGBD'/><category scheme='http://www.blogger.com/atom/ns#' term='Produtividade'/><category scheme='http://www.blogger.com/atom/ns#' term='ADO.Net'/><category scheme='http://www.blogger.com/atom/ns#' term='Segurança'/><category scheme='http://www.blogger.com/atom/ns#' term='Escalabilidade'/><title type='text'>Utilizando SGBD FireBird 2.0 com ADO.NET</title><content type='html'>&lt;a href="http://4.bp.blogspot.com/_6UXYawCQWIo/SamwMjtKPUI/AAAAAAAACTo/SPBWeW7K0VI/s1600-h/20090228+ADO+Net.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5307967365622414658" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 200px; CURSOR: hand; HEIGHT: 175px; TEXT-ALIGN: center" alt="Artigos: AJAX - PHP - MYSQL - SQLSERVER - VB.NET - DELPHI - COMPACT FRAMEWORK - FIREBIRD" src="http://4.bp.blogspot.com/_6UXYawCQWIo/SamwMjtKPUI/AAAAAAAACTo/SPBWeW7K0VI/s200/20090228+ADO+Net.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;ADO.NET é uma “reconstrução”, do antigo ADO, sendo completamente integrado com o .NET Framework, disponibilizando um grande número de classes e possibilitando em uma comunicação bem mais fácil com os SGBD’s.&lt;br /&gt;Ou seja, ele nada mais é que um conjunto de classes definidas pelo .NET Framework, que auxilia na comunicação com os SGBD’s.&lt;br /&gt;&lt;br /&gt;Vantagens de Usar o ADO.NET&lt;br /&gt;&lt;br /&gt;Algumas das vantagens em utilizar o ADO.NET é que você contará com uma alta escalabilidade, desempenho, segurança, performance em seu sistema e maior produtividade.&lt;br /&gt;Agora com o ADO.NET, ao utilizar um DataSet, o mesmo, por padrão, trabalha desconectado. Os dados ficam armazenados em um cachê local, assim a conexão pode ser fechada e o cliente pode trabalhar desconectado, e caso seja necessário uma atualização dos dados, basta efetuar uma nova conexão.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.linhadecodigo.com.br/Artigo.aspx?id=1267"&gt;Leia Mais &lt;/a&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4684750288742513326-2412680741168402064?l=programscomputer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://programscomputer.blogspot.com/feeds/2412680741168402064/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4684750288742513326&amp;postID=2412680741168402064' title='1 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/2412680741168402064'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/2412680741168402064'/><link rel='alternate' type='text/html' href='http://programscomputer.blogspot.com/2009/02/utilizando-sgbd-firebird-20-com-adonet.html' title='Utilizando SGBD FireBird 2.0 com ADO.NET'/><author><name>Blogado</name><uri>http://www.blogger.com/profile/00508039577491745861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_6UXYawCQWIo/SamwMjtKPUI/AAAAAAAACTo/SPBWeW7K0VI/s72-c/20090228+ADO+Net.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4684750288742513326.post-7927735536793975042</id><published>2009-02-24T18:15:00.000-08:00</published><updated>2009-02-24T18:28:16.049-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Active Sync'/><category scheme='http://www.blogger.com/atom/ns#' term='Windows CE 5.0'/><category scheme='http://www.blogger.com/atom/ns#' term='SP2'/><category scheme='http://www.blogger.com/atom/ns#' term='Service Pack 2.0'/><category scheme='http://www.blogger.com/atom/ns#' term='Dispositivo Móvel'/><title type='text'>Instalando o .NET Compact Framework 2.0 SP2 em seu Dispositivo Móvel</title><content type='html'>&lt;a href="http://4.bp.blogspot.com/_6UXYawCQWIo/SaSsb3SazhI/AAAAAAAACRI/CDLKDGdqkkI/s1600-h/20090223+Compact+Framework+Symbian.jpeg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5306555855646936594" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 131px; CURSOR: hand; HEIGHT: 200px; TEXT-ALIGN: center" alt="Artigos: AJAX - PHP - MYSQL - SQLSERVER - VB.NET - DELPHI - COMPACT FRAMEWORK - FIREBIRD" src="http://4.bp.blogspot.com/_6UXYawCQWIo/SaSsb3SazhI/AAAAAAAACRI/CDLKDGdqkkI/s200/20090223+Compact+Framework+Symbian.jpeg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Pocket PC, Celulares ou qualquer dispositivo móvel com Windows CE 5.0 ou maior.&lt;br /&gt;&lt;br /&gt;Este artigo é um passo a passo para você instalar o framework 2.0 Service Pack 2.0 em seu dispositivo. É de simples entendimento.&lt;br /&gt;&lt;br /&gt;Requisitos:&lt;br /&gt;&lt;br /&gt;- Sistema operacional Windows CE 5.0;&lt;br /&gt;&lt;br /&gt;- Dispositivo Móvel (pocket PC, celular);&lt;br /&gt;&lt;br /&gt;- Active Sync instalado&lt;br /&gt;&lt;br /&gt;Se seu sistema operacional do computador for Windows Vista, instale como active sync o programa ?Windows Móbile Device Center?, caso for Windows XP, instale o Active Sync 4.0 pra mais.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;A instalação&lt;br /&gt;&lt;br /&gt;1. Baixe o programa de 37.6 MB do site da Microsoft (link: &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=aea55f2f-07b5-4a8c-8a44-b4e1b196d5c0&amp;amp;DisplayLang=en"&gt;http://www.microsoft.com/downloads/details.aspx?FamilyID=aea55f2f-07b5-4a8c-8a44-b4e1b196d5c0&amp;amp;DisplayLang=en&lt;/a&gt;)&lt;br /&gt;2. Realize o procedimento de instalação normalmente em seu computador, porém conecte o seu dispositivo na porta USB e ative o sincronizador antes de começar a instalação do framework.&lt;br /&gt;3. Depois da instalação e todo o procedimento corretamente instalado em seu computador verifique se está tudo correto e sem qualquer erro no adicionar e remover programas.&lt;br /&gt;4. Caso não tenha instalado automaticamente em seu dispositivo móvel através do active sync a instalação terá que ser manual;&lt;br /&gt;5. O framework instala muitas coisas em sua máquina (PC) e uma delas são arquivos .cab. Procure o arquivo .cab e transfira para o seu dispositivo móvel (NETCFv2.ppc.armv4.cab).&lt;br /&gt;6. Localização do arquivo: C:\PROGRAMS FILES\MICROSOFT.NET\SDK\COMPACTFRAMEWORK\V2.0\WINDOWS CE\wce400\armv4\.....&lt;br /&gt;7. Copie e cole esse arquivo em seu dispositivo móvel, não precisa de caminho específico.&lt;br /&gt;8. Coloque o arquivo tanto na parte de arquivos ou na memória SD, tanto faz.&lt;br /&gt;9. O mesmo possui relativamente 7 MB de tamanho.&lt;br /&gt;10. Depois que o instalador estiver dentro do dispositivo móvel, clique uma vez e faça a instalação normalmente.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;Fonte: &lt;a href="http://www.aspneti.com.br/Instalando+o+.NET+Compact+Framework+2.0+SP2+em+seu+dispositivo+movel+436,0.aspx"&gt;Informações&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4684750288742513326-7927735536793975042?l=programscomputer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://programscomputer.blogspot.com/feeds/7927735536793975042/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4684750288742513326&amp;postID=7927735536793975042' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/7927735536793975042'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/7927735536793975042'/><link rel='alternate' type='text/html' href='http://programscomputer.blogspot.com/2009/02/instalando-o-net-compact-framework-20.html' title='Instalando o .NET Compact Framework 2.0 SP2 em seu Dispositivo Móvel'/><author><name>Blogado</name><uri>http://www.blogger.com/profile/00508039577491745861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_6UXYawCQWIo/SaSsb3SazhI/AAAAAAAACRI/CDLKDGdqkkI/s72-c/20090223+Compact+Framework+Symbian.jpeg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4684750288742513326.post-7301598409870021012</id><published>2009-02-20T17:45:00.000-08:00</published><updated>2009-02-20T17:53:50.691-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Delphi'/><category scheme='http://www.blogger.com/atom/ns#' term='Dica'/><category scheme='http://www.blogger.com/atom/ns#' term='Procedure'/><category scheme='http://www.blogger.com/atom/ns#' term='Dicas Delphi'/><category scheme='http://www.blogger.com/atom/ns#' term='Flash'/><category scheme='http://www.blogger.com/atom/ns#' term='Animação'/><title type='text'></title><content type='html'>&lt;a href="http://4.bp.blogspot.com/_6UXYawCQWIo/SZ9eSa-xQaI/AAAAAAAACPQ/5cNWyj3hX1E/s1600-h/20090219+Delphi.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5305062556638986658" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 141px; CURSOR: hand; HEIGHT: 200px; TEXT-ALIGN: center" alt="Artigos: AJAX - PHP - MYSQL - SQLSERVER - VB.NET - DELPHI - COMPACT FRAMEWORK - FIREBIRD" src="http://4.bp.blogspot.com/_6UXYawCQWIo/SZ9eSa-xQaI/AAAAAAAACPQ/5cNWyj3hX1E/s200/20090219+Delphi.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Você pode animar seu form de uma forma divertida e sem componentes, apenas uma procedure.&lt;br /&gt;&lt;br /&gt;/////PROCEDURE PARA EXECUTAR TAREFA&lt;br /&gt;&lt;br /&gt;procedure TForm1.Animar_Form(Qtd_quadros,V_sleep,V_width,V_height: integer;status_fechar:Boolean);&lt;br /&gt;var V_sub_width, V_sub_heigth, pt_medio : integer;&lt;br /&gt;begin&lt;br /&gt;&lt;br /&gt;with Form1 do begin&lt;br /&gt;&lt;br /&gt;if status_fechar then begin ////////////FECHANDO O FORM&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;V_sub_width := (V_Width div qtd_quadros);&lt;br /&gt;V_sub_heigth := (V_Height div qtd_quadros);&lt;br /&gt;pt_medio := 1;&lt;br /&gt;&lt;br /&gt;while pt_medio &lt;= (qtd_quadros div 2) do begin pt_medio := pt_medio + 1; Top := Top + V_sub_heigth; Left := Left + V_sub_width; Width := Width - (V_sub_width+10); Height := Height - (V_sub_heigth+10); Application.ProcessMessages; sleep(V_sleep); end; end else begin /////////////ABRINDO O FORM NOVAMENTE V_sub_width := (V_Width div qtd_quadros); V_sub_heigth := (V_Height div qtd_quadros); pt_medio := 1; while pt_medio &lt;= (qtd_quadros div 2) do begin pt_medio := pt_medio + 1; Top := Top - V_sub_heigth; Left := Left - V_sub_width; Width := Width + (V_sub_width + 10); Height := Height + (V_sub_heigth + 10); Application.ProcessMessages; sleep(V_sleep); end; end; end; end; ///////CHAMANDO A PROCEDURE //////PARA FECHAR O FORM Animar_Form(30,10,Form1.Width,Form1.Height, true); /////PARA ABRIR O FORM Animar_Form(30,10,500,200, false); O 30 -&gt; Quatidade de quadros, eu uso em média 30 quadros&lt;br /&gt;O 10 -&gt; Sleep do projeto ou seja o tempo necessário de intervalo de quadros&lt;br /&gt;O 500 -&gt; Tamanho do form em width&lt;br /&gt;O 200 -&gt; Tamanho do form em Height&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;Fonte: &lt;a href="http://www.delphi.eti.br/ver_dica.php?id=7087"&gt;Planeta Delphi&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4684750288742513326-7301598409870021012?l=programscomputer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://programscomputer.blogspot.com/feeds/7301598409870021012/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4684750288742513326&amp;postID=7301598409870021012' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/7301598409870021012'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/7301598409870021012'/><link rel='alternate' type='text/html' href='http://programscomputer.blogspot.com/2009/02/voce-pode-animar-seu-form-de-uma-forma.html' title=''/><author><name>Blogado</name><uri>http://www.blogger.com/profile/00508039577491745861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_6UXYawCQWIo/SZ9eSa-xQaI/AAAAAAAACPQ/5cNWyj3hX1E/s72-c/20090219+Delphi.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4684750288742513326.post-8595654557010480759</id><published>2009-02-17T15:45:00.000-08:00</published><updated>2009-02-17T15:50:25.156-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tratando Erros em VB.Net'/><category scheme='http://www.blogger.com/atom/ns#' term='Dicas de VB.Net'/><category scheme='http://www.blogger.com/atom/ns#' term='DivideByZeroException'/><category scheme='http://www.blogger.com/atom/ns#' term='Artigo de VB.Net'/><title type='text'>Entendendo a exceção DivideByZeroException</title><content type='html'>&lt;a href="http://1.bp.blogspot.com/_6UXYawCQWIo/SZtNAB1jyII/AAAAAAAACMA/68ReYvSbo2k/s1600-h/pic4sm.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5303917649047308418" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 200px; CURSOR: hand; HEIGHT: 136px; TEXT-ALIGN: center" alt="Artigos: AJAX aPHP - MYSQL - SQLSERVER - VB.NET - DELPHI - COMPACT FRAMEWORK - FIREBIRD" src="http://1.bp.blogspot.com/_6UXYawCQWIo/SZtNAB1jyII/AAAAAAAACMA/68ReYvSbo2k/s200/pic4sm.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;A exceção DivideByZeroException ocorre em tempo de execução quando tentamos dividir um valor integral ou decimal por zero. Veja um exemplo em VB.NET:&lt;br /&gt;Module Module1&lt;br /&gt;Sub Main()&lt;br /&gt;Dim valor As Integer = 10&lt;br /&gt;&lt;br /&gt;'tenta efetuar uma divisão por 0&lt;br /&gt;Dim result As Integer = valor \ 0&lt;br /&gt;&lt;br /&gt;Console.ReadKey()&lt;br /&gt;End Sub&lt;br /&gt;End Module&lt;br /&gt;Ao tentarmos executar este trecho de código teremos a seguinte mensagem de erro:&lt;br /&gt;System.DivideByZeroException was unhandled&lt;br /&gt;Message="Attempted to divide by zero."&lt;br /&gt;Source="Estudos_VB_Console"&lt;br /&gt;StackTrace: ***&lt;br /&gt;&lt;br /&gt;Veja que, por questões de espaço, resolvi omitir o rastreio da pilha de exceção. Contudo, o mais importante é a mensagem:&lt;br /&gt;Attempted to divide by zero.&lt;br /&gt;&lt;br /&gt;É por meio dessa mensagem que conseguimos identificar o erro. Veja agora como tratar esta exceção usando um bloco Try...Catch:&lt;br /&gt;Module Module1&lt;br /&gt;Sub Main()&lt;br /&gt;Dim valor As Integer = 10&lt;br /&gt;'tenta efetuar uma divisão por 0&lt;br /&gt;Try&lt;br /&gt;Dim result As Integer = valor \ 0&lt;br /&gt;Catch e As DivideByZeroException&lt;br /&gt;Console.WriteLine("Tentativa de divisão por zero - " _&lt;br /&gt;&amp;amp; "Erro: " &amp;amp; e.ToString())&lt;br /&gt;End Try&lt;br /&gt;&lt;br /&gt;Console.ReadKey()&lt;br /&gt;End Sub&lt;br /&gt;End Module &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4684750288742513326-8595654557010480759?l=programscomputer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://programscomputer.blogspot.com/feeds/8595654557010480759/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4684750288742513326&amp;postID=8595654557010480759' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/8595654557010480759'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/8595654557010480759'/><link rel='alternate' type='text/html' href='http://programscomputer.blogspot.com/2009/02/entendendo-excecao-dividebyzeroexceptio.html' title='Entendendo a exceção DivideByZeroException'/><author><name>Blogado</name><uri>http://www.blogger.com/profile/00508039577491745861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_6UXYawCQWIo/SZtNAB1jyII/AAAAAAAACMA/68ReYvSbo2k/s72-c/pic4sm.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4684750288742513326.post-7180401055569759289</id><published>2009-02-05T14:40:00.000-08:00</published><updated>2009-02-05T14:51:28.406-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Dicas de Sql Server'/><category scheme='http://www.blogger.com/atom/ns#' term='Webcast'/><category scheme='http://www.blogger.com/atom/ns#' term='Consultas Complexas'/><category scheme='http://www.blogger.com/atom/ns#' term='Artigos de Sql Server'/><title type='text'>Dicas e Truques sobre consultas complexas no SQL Server</title><content type='html'>&lt;a href="http://1.bp.blogspot.com/_6UXYawCQWIo/SYttWx2kDiI/AAAAAAAACI4/u8mtUtMu_U8/s1600-h/SqlServer2005.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5299449624638262818" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 157px; CURSOR: hand; HEIGHT: 200px; TEXT-ALIGN: center" alt="Artigos: AJAX - PHP - MYSQL - SQLSERVER - VB.NET - DELPHI - COMPACT FRAMEWORK - FIREBIRD" src="http://1.bp.blogspot.com/_6UXYawCQWIo/SYttWx2kDiI/AAAAAAAACI4/u8mtUtMu_U8/s200/SqlServer2005.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;p&gt;Totalização de resultados&lt;br /&gt;Como elaborar uma coluna de saldo acumulando valores&lt;/p&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;Concatenação e delimitação&lt;br /&gt;Como juntar vários resultados em uma única linha com algum caractér delimitador&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;O TOP “N”&lt;br /&gt;Como retornar a N ocorrências relacionadas a um conjunto de registros&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;PIVOT &amp;amp; PIVOT dinâmico&lt;br /&gt;Como transformar linhas em colunas usando o Operador PIVOT e superar suas limitações&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;Consultas Hierárquicas&lt;br /&gt;Como elaborar consultas em relacionamentos hierárquicos (autorelacionamento)&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;a href="http://gustavomaiaaguiar.spaces.live.com/blog/cns!F4F5C630410B9865!162.entry"&gt;Leia Mais&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4684750288742513326-7180401055569759289?l=programscomputer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://programscomputer.blogspot.com/feeds/7180401055569759289/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4684750288742513326&amp;postID=7180401055569759289' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/7180401055569759289'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/7180401055569759289'/><link rel='alternate' type='text/html' href='http://programscomputer.blogspot.com/2009/02/dicas-e-truques-sobre-consultas.html' title='Dicas e Truques sobre consultas complexas no SQL Server'/><author><name>Blogado</name><uri>http://www.blogger.com/profile/00508039577491745861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_6UXYawCQWIo/SYttWx2kDiI/AAAAAAAACI4/u8mtUtMu_U8/s72-c/SqlServer2005.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4684750288742513326.post-4252690239260614867</id><published>2009-01-18T15:20:00.000-08:00</published><updated>2009-01-18T15:41:01.730-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Dicas de Banco de Dados'/><category scheme='http://www.blogger.com/atom/ns#' term='Database'/><category scheme='http://www.blogger.com/atom/ns#' term='Artigos de MySql'/><title type='text'>Backup no MySQL</title><content type='html'>&lt;a href="http://4.bp.blogspot.com/_6UXYawCQWIo/SXO993jj15I/AAAAAAAACFY/St8WZcrvcyQ/s1600-h/20090119+Mysql.gif"&gt;&lt;img id="BLOGGER_PHOTO_ID_5292782857673234322" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 200px; CURSOR: hand; HEIGHT: 133px; TEXT-ALIGN: center" alt="Artigos: AJAX - PHP - MYSQL - SQLSERVER - VB.NET - DELPHI - COMPACT FRAMEWORK - FIREBIRD" src="http://4.bp.blogspot.com/_6UXYawCQWIo/SXO993jj15I/AAAAAAAACFY/St8WZcrvcyQ/s200/20090119+Mysql.gif" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Existem inúmeras maneiras de se fazer backup no MySQL. Creio que o modo mais utilizado seja o backup feito pelo comando 'mysqldump', que permite uma combinação enorme de parâmetros.&lt;br /&gt;&lt;br /&gt;Em todos os comandos abaixo, substitua as palavras 'usuario', 'senha' e 'arquivo_saida'.&lt;br /&gt;&lt;br /&gt;1. backup de todos os bancos existentes com conteúdo e estrutura (-A equivale a --all-databases):&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;a href="http://www.dicas-l.com.br/dicas-l/20040414.php"&gt;Leia Mais&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4684750288742513326-4252690239260614867?l=programscomputer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://programscomputer.blogspot.com/feeds/4252690239260614867/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4684750288742513326&amp;postID=4252690239260614867' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/4252690239260614867'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/4252690239260614867'/><link rel='alternate' type='text/html' href='http://programscomputer.blogspot.com/2009/01/backup-no-mysql.html' title='Backup no MySQL'/><author><name>Blogado</name><uri>http://www.blogger.com/profile/00508039577491745861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_6UXYawCQWIo/SXO993jj15I/AAAAAAAACFY/St8WZcrvcyQ/s72-c/20090119+Mysql.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4684750288742513326.post-1971655811937283870</id><published>2009-01-04T14:56:00.000-08:00</published><updated>2009-01-04T15:11:36.840-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ajax Web'/><category scheme='http://www.blogger.com/atom/ns#' term='Simples menu accordion com jQuery'/><category scheme='http://www.blogger.com/atom/ns#' term='Ajax PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='HTML'/><category scheme='http://www.blogger.com/atom/ns#' term='jQuery'/><title type='text'>Simples menu accordion com jQuery</title><content type='html'>&lt;a href="http://1.bp.blogspot.com/_6UXYawCQWIo/SWFCFEMFpKI/AAAAAAAACBw/ktnKceuIM4w/s1600-h/20090104+jQuery.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5287580092300895394" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 200px; CURSOR: hand; HEIGHT: 120px; TEXT-ALIGN: center" alt="Artigos: AJAX - PHP - MYSQL - SQLSERVER - VB.NET - DELPHI - COMPACT FRAMEWORK - FIREBIRD" src="http://1.bp.blogspot.com/_6UXYawCQWIo/SWFCFEMFpKI/AAAAAAAACBw/ktnKceuIM4w/s200/20090104+jQuery.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Exemplo prático de como criar um simples menu accordion com jQuery.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Javascript:&lt;/p&gt;&lt;br /&gt;&lt;div&gt;&lt;a href="http://www.htmlstaff.org/ver.php?id=22999"&gt;Leia Mais&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4684750288742513326-1971655811937283870?l=programscomputer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://programscomputer.blogspot.com/feeds/1971655811937283870/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4684750288742513326&amp;postID=1971655811937283870' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/1971655811937283870'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/1971655811937283870'/><link rel='alternate' type='text/html' href='http://programscomputer.blogspot.com/2009/01/simples-menu-accordion-com-jquery.html' title='Simples menu accordion com jQuery'/><author><name>Blogado</name><uri>http://www.blogger.com/profile/00508039577491745861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_6UXYawCQWIo/SWFCFEMFpKI/AAAAAAAACBw/ktnKceuIM4w/s72-c/20090104+jQuery.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4684750288742513326.post-5920107295035500406</id><published>2008-12-18T15:27:00.000-08:00</published><updated>2008-12-18T15:34:36.827-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Artigo Compact Framework'/><category scheme='http://www.blogger.com/atom/ns#' term='Desenvolvendo Aplicações para Pocket PC'/><category scheme='http://www.blogger.com/atom/ns#' term='Microsoft Visual Studio'/><category scheme='http://www.blogger.com/atom/ns#' term='Dicas'/><category scheme='http://www.blogger.com/atom/ns#' term='Artigo VB.net'/><title type='text'>Desenvolvendo Aplicações para Pocket PC</title><content type='html'>&lt;a href="http://4.bp.blogspot.com/_6UXYawCQWIo/SUrd00TgnqI/AAAAAAAAB-o/AqPY2IjeHrY/s1600-h/20091218+Pocket+PC.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5281277412508737186" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 200px; CURSOR: hand; HEIGHT: 148px; TEXT-ALIGN: center" alt="Artigos: AJAX - PHP - MYSQL - SQLSERVER - VB.NET - DELPHI - COMPACT FRAMEWORK - FIREBIRD" src="http://4.bp.blogspot.com/_6UXYawCQWIo/SUrd00TgnqI/AAAAAAAAB-o/AqPY2IjeHrY/s200/20091218+Pocket+PC.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Para iniciarmos o desenvolvimento de uma aplicação para Pocket PC, a primeira etapa acontece quando escolhemos o tipo de projeto a ser criado.&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;Para iniciar o desenvolvimento, no nosso exemplo vamos implementar dois menus um para apresentar uma mensagem “Hello World!” e outro para fechar o sistema.&lt;br /&gt;&lt;br /&gt;Quando incluímos um form no nosso projeto, este já vem com um MainMenu. Sendo assim foram incluídos dois itens neste e implementado o evento OnCLik como pode ser visto na Listagem 1, que possui os código para apresentar a mensagem na tela e o outro que fecha o form corrente.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;a href="http://www.devmedia.com.br/articles/viewcomp.asp?comp=5071"&gt;Leia Mais&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4684750288742513326-5920107295035500406?l=programscomputer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://programscomputer.blogspot.com/feeds/5920107295035500406/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4684750288742513326&amp;postID=5920107295035500406' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/5920107295035500406'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/5920107295035500406'/><link rel='alternate' type='text/html' href='http://programscomputer.blogspot.com/2008/12/desenvolvendo-aplicaes-para-pocket-pc.html' title='Desenvolvendo Aplicações para Pocket PC'/><author><name>Blogado</name><uri>http://www.blogger.com/profile/00508039577491745861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_6UXYawCQWIo/SUrd00TgnqI/AAAAAAAAB-o/AqPY2IjeHrY/s72-c/20091218+Pocket+PC.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4684750288742513326.post-7119650748534387358</id><published>2008-12-04T15:21:00.000-08:00</published><updated>2008-12-04T15:27:58.087-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tratamento de erros no Delphi / Cliente-Servidor'/><category scheme='http://www.blogger.com/atom/ns#' term='Dicas Delphi'/><title type='text'>Tratamento de erros no Delphi / Cliente-Servidor</title><content type='html'>&lt;a href="http://2.bp.blogspot.com/_6UXYawCQWIo/SThnUprhBEI/AAAAAAAAB7k/pWbweHSXXCM/s1600-h/20091204+Delphi.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5276080567947953218" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 200px; CURSOR: hand; HEIGHT: 193px; TEXT-ALIGN: center" alt="Artigos: AJAX - PHP - MYSQL - SQLSERVER - VB.NET - DELPHI - COMPACT FRAMEWORK - FIREBIRD" src="http://2.bp.blogspot.com/_6UXYawCQWIo/SThnUprhBEI/AAAAAAAAB7k/pWbweHSXXCM/s200/20091204+Delphi.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Todas as vezes que são abertas as tabelas é colocado o comando StartTransaction antes da abertura das mesmas.&lt;br /&gt;&lt;br /&gt;Quando acontece algum erro na abertura das tabelas, o Delphi dispara uma mensagem de erro. Este erro pode ter sido provocado por diversos motivos mas é certo que o erro foi de alteração de uma ou mais tabelas no Banco de Dados. é aconselhável que se coloque uma rotina de tratamento de erro listada abaixo:&lt;br /&gt;&lt;br /&gt;- Onde estão as tabelas, coloque as suas tabelas que serão abertas;&lt;br /&gt;&lt;br /&gt;- Onde será mostrada a mensagem coloque uma mensagem qualquer avisando sobre o erro&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://www.activedelphi.com.br/dicas/dic07.htm"&gt;Leia Mais&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4684750288742513326-7119650748534387358?l=programscomputer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://programscomputer.blogspot.com/feeds/7119650748534387358/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4684750288742513326&amp;postID=7119650748534387358' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/7119650748534387358'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/7119650748534387358'/><link rel='alternate' type='text/html' href='http://programscomputer.blogspot.com/2008/12/tratamento-de-erros-no-delphi-cliente.html' title='Tratamento de erros no Delphi / Cliente-Servidor'/><author><name>Blogado</name><uri>http://www.blogger.com/profile/00508039577491745861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_6UXYawCQWIo/SThnUprhBEI/AAAAAAAAB7k/pWbweHSXXCM/s72-c/20091204+Delphi.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4684750288742513326.post-6445753672389258168</id><published>2008-11-22T14:26:00.000-08:00</published><updated>2008-11-22T14:32:57.779-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Truques'/><category scheme='http://www.blogger.com/atom/ns#' term='Dicas'/><category scheme='http://www.blogger.com/atom/ns#' term='Dicas VB.Net - Iniciando e Matando Processos com a System.Diagnostics'/><category scheme='http://www.blogger.com/atom/ns#' term='Artigo VB.net'/><title type='text'>Dicas VB.Net - Iniciando e Matando Processos com a System.Diagnostics</title><content type='html'>&lt;a href="http://2.bp.blogspot.com/_6UXYawCQWIo/SSiIi42squI/AAAAAAAAB3I/sjcunmUmaHM/s1600-h/20081122VB+Net.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5271613496795900642" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 200px; CURSOR: hand; HEIGHT: 136px; TEXT-ALIGN: center" alt="Artigos: AJAX - PHP - MYSQL - SQLSERVER - VB.NET - DELPHI - COMPACT FRAMEWORK - FIREBIRD" src="http://2.bp.blogspot.com/_6UXYawCQWIo/SSiIi42squI/AAAAAAAAB3I/sjcunmUmaHM/s200/20081122VB+Net.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;p&gt;Nesta dica vou abordar sobre a classe Process da System.Diagnostic que pode ser usada para iniciar e parar processos. Hoje precisei utilizar essa classe para manipular processos no sistema que estou desenvolvendo.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;Com a classe Process podemos obter informações sobre processos e aplicações, iniciar ou parar um processo que esta sendo executado.&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Inicialmente vou apresentar como exibir uma lista dos processos que estão rodando no sistema. Para isso desenvolvi uma aplicação Windows Forms com um botão de comando e uma list box para exibir os processos que estão rodando. Veja o código abaixo:&lt;/p&gt;&lt;br /&gt;&lt;div&gt;&lt;a href="http://www.devmedia.com.br/articles/viewcomp.asp?comp=2847"&gt;Leia Mais&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4684750288742513326-6445753672389258168?l=programscomputer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://programscomputer.blogspot.com/feeds/6445753672389258168/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4684750288742513326&amp;postID=6445753672389258168' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/6445753672389258168'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/6445753672389258168'/><link rel='alternate' type='text/html' href='http://programscomputer.blogspot.com/2008/11/dicas-vbnet-iniciando-e-matando.html' title='Dicas VB.Net - Iniciando e Matando Processos com a System.Diagnostics'/><author><name>Blogado</name><uri>http://www.blogger.com/profile/00508039577491745861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_6UXYawCQWIo/SSiIi42squI/AAAAAAAAB3I/sjcunmUmaHM/s72-c/20081122VB+Net.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4684750288742513326.post-3522149148689809606</id><published>2008-11-09T15:35:00.000-08:00</published><updated>2008-11-09T15:41:15.954-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Trabalhando com Linked Server no SQL Server 2005'/><category scheme='http://www.blogger.com/atom/ns#' term='Artigo SQL Server'/><title type='text'>Trabalhando com Linked Server no SQL Server 2005</title><content type='html'>&lt;a href="http://1.bp.blogspot.com/_6UXYawCQWIo/SRd0_zPEUUI/AAAAAAAABVs/DX7VcpS-YFY/s1600-h/20081109SqlServer.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5266806928667070786" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 200px; CURSOR: hand; HEIGHT: 117px; TEXT-ALIGN: center" alt="Artigos: AJAX - PHP - MYSQL - SQLSERVER - VB.NET - DELPHI - COMPACT FRAMEWORK - FIREBIRD" src="http://1.bp.blogspot.com/_6UXYawCQWIo/SRd0_zPEUUI/AAAAAAAABVs/DX7VcpS-YFY/s200/20081109SqlServer.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;O conceito de linked Server é extremamente simples, eu diria que é mais simples que o próprio nome. Quando se fala em link, a primeira coisa que vem a cabeça é toda aquela configuração de certificados, caminhos, portas etc. Mas na verdade linked Server é um conceito simples e muito funcional quando queremos consultar dados que estão em outras instâncias ou até mesmo em outros tipos de base de dados como o ORACLE, ACCESS etc.&lt;br /&gt;&lt;br /&gt;Para realizar a configuração com o outro banco de dados você precisa saber qual o OLE DB provider que realiza a conexão com o banco de dados esperado.&lt;br /&gt;&lt;br /&gt;Neste tutorial você aprenderá a conectar-se com uma base de dados em Access, pois é a mais simples e que não é tão diferente de todas as outras possíveis conexões;&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4684750288742513326-3522149148689809606?l=programscomputer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://programscomputer.blogspot.com/feeds/3522149148689809606/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4684750288742513326&amp;postID=3522149148689809606' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/3522149148689809606'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/3522149148689809606'/><link rel='alternate' type='text/html' href='http://programscomputer.blogspot.com/2008/11/trabalhando-com-linked-server-no-sql.html' title='Trabalhando com Linked Server no SQL Server 2005'/><author><name>Blogado</name><uri>http://www.blogger.com/profile/00508039577491745861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_6UXYawCQWIo/SRd0_zPEUUI/AAAAAAAABVs/DX7VcpS-YFY/s72-c/20081109SqlServer.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4684750288742513326.post-1913033166326969096</id><published>2008-10-27T14:06:00.000-07:00</published><updated>2008-10-27T14:17:27.581-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ponha o MySQL em seu desktop'/><category scheme='http://www.blogger.com/atom/ns#' term='Instalação'/><category scheme='http://www.blogger.com/atom/ns#' term='Artigo MySql'/><category scheme='http://www.blogger.com/atom/ns#' term='Conexão Banco de Dados'/><title type='text'>Ponha o MySQL em seu desktop</title><content type='html'>&lt;div align="justify"&gt;O MySQL é o banco de dados mais conhecido no mundo do software livre. Basicamente, a notoriedade desse produto se deve às aplicações web, nas quais o programa é utilizado, quase sempre em parceria com a linguagem PHP, em ambiente Linux. Talvez por isso se tenda a acreditar que o MySQL seja um banco de dados específico para a internet. Não é verdade. Você pode usá-lo em seu desktop, inclusive com o Windows. Neste tutorial, vamos mostrar como instalar o MySQL e com ele criar e gerenciar um banco de dados numa máquina Windows. Uma das vantagens técnicas do MySQL é ser um produto multiplataforma. Assim, você pode montar com ele um banco de dados no ambiente Windows e depois, se for o caso, transferi-lo para o Linux, Mac OS X ou outros sistemas Unix. &lt;/div&gt;&lt;br /&gt;&lt;a href="http://info.abril.com.br/dicas/arquivos/ponha-o-mysql-em-seu-desktop-749.shtml"&gt;Leia Mais&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4684750288742513326-1913033166326969096?l=programscomputer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://programscomputer.blogspot.com/feeds/1913033166326969096/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4684750288742513326&amp;postID=1913033166326969096' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/1913033166326969096'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/1913033166326969096'/><link rel='alternate' type='text/html' href='http://programscomputer.blogspot.com/2008/10/ponha-o-mysql-em-seu-desktop.html' title='Ponha o MySQL em seu desktop'/><author><name>Blogado</name><uri>http://www.blogger.com/profile/00508039577491745861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4684750288742513326.post-1903140199768888601</id><published>2008-10-14T18:12:00.000-07:00</published><updated>2008-10-14T18:20:46.646-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Artigo PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='Campo'/><category scheme='http://www.blogger.com/atom/ns#' term='POST'/><category scheme='http://www.blogger.com/atom/ns#' term='GET'/><category scheme='http://www.blogger.com/atom/ns#' term='Driblando o REGISTER GLOBALS OFF'/><title type='text'>Driblando o REGISTER GLOBALS OFF</title><content type='html'>Muitas vezes desejamos fazer um script PHP que possa rodar sob diversas configurações de servidores. Dentre os principais problemas encontrados é a configuração do REGISTERS GLOBALS, configuração que, quando setada para ON, nos permite utilizar o nome dos campos dos formulários como nome das variáveis GET e POST, evitando a necessidade de utilizarmos referências $_GET[campo] e $_POST[campo].&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.vivaolinux.com.br/dica/Driblando-o-REGISTER-GLOBALS-OFF/"&gt;Leia Mais&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4684750288742513326-1903140199768888601?l=programscomputer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://programscomputer.blogspot.com/feeds/1903140199768888601/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4684750288742513326&amp;postID=1903140199768888601' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/1903140199768888601'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/1903140199768888601'/><link rel='alternate' type='text/html' href='http://programscomputer.blogspot.com/2008/10/driblando-o-register-globals-off.html' title='Driblando o REGISTER GLOBALS OFF'/><author><name>Blogado</name><uri>http://www.blogger.com/profile/00508039577491745861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4684750288742513326.post-1094054627196007568</id><published>2008-10-06T18:07:00.000-07:00</published><updated>2008-10-06T18:08:25.778-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Artigo Ajax'/><category scheme='http://www.blogger.com/atom/ns#' term='Dicas Ajax'/><category scheme='http://www.blogger.com/atom/ns#' term='CALENDÁRIO AJAX PARA CAMPO DE FORMULÁRIO'/><title type='text'>CALENDÁRIO AJAX PARA CAMPO DE FORMULÁRIO</title><content type='html'>Uma forma fácil de padronizar o preenchimento de campos de formulário destinados a data é o uso de um mini calendário para que o visitante do site possa selecionar a data no lugar de digitar a data.&lt;br /&gt;&lt;br /&gt;Isto é muito útil quando o visitante precisa saber qual é o dia da semana da data que será escolhida. Em sites onde a data de um evento é fundamental este tipo de recurso é muito importante para facilitar a vida do visitante e evitar o preenchimento incorreto. Exemplo: sites de hotéis, empresas de transporte, locadoras, empresa de eventos, etc. &lt;br /&gt;&lt;br /&gt;&lt;a href="http://neosite.ilogic.com.br/dicas/2008/07/calendario-ajax-para-campo-de-formulario.html"&gt;Leia Mais&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4684750288742513326-1094054627196007568?l=programscomputer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://programscomputer.blogspot.com/feeds/1094054627196007568/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4684750288742513326&amp;postID=1094054627196007568' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/1094054627196007568'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/1094054627196007568'/><link rel='alternate' type='text/html' href='http://programscomputer.blogspot.com/2008/10/calendrio-ajax-para-campo-de-formulrio.html' title='CALENDÁRIO AJAX PARA CAMPO DE FORMULÁRIO'/><author><name>Blogado</name><uri>http://www.blogger.com/profile/00508039577491745861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4684750288742513326.post-7941014654994629808</id><published>2008-09-24T18:09:00.000-07:00</published><updated>2008-09-24T18:12:45.922-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Artigo Firebird'/><category scheme='http://www.blogger.com/atom/ns#' term='Configurar o Firewall do Windows XP com SP2 para Interbase/Firebird'/><title type='text'>Configurar o Firewall do Windows XP com SP2 para Interbase/Firebird</title><content type='html'>O pacote de atualização Service Pack 2 (SP2) do Windows XP inclui um Firewall para proteção da rede contra acesso não autorizado, seja pela internet ou através da rede local. Este programa bloqueia automaticamente quase todas as portas de acesso do protocolo TCP/IP, incluindo a porta 3050 que por padrão é usada pelos bancos de dados Interbase e Firebird.&lt;br /&gt;&lt;br /&gt;Então para que outros computadores possam acessar um banco de dados Interbase ou Firebird em um servidor com Windows XP com SP2 que esteja com Firewall ativado é necessário adicionar uma exceção, ou seja, informar ao Firewall que a porta 3050 não deve ser bloqueada. Para fazer isto siga os os passos abaixo:&lt;br /&gt;&lt;br /&gt;    * Clique em Iniciar/Configurações/Painel de controle;&lt;br /&gt;    * Abra o item denominado Firewall do Windows;&lt;br /&gt;    * Vá para Exceções;&lt;br /&gt;    * Clique em Adicionar porta;&lt;br /&gt;    * No campo Nome digite Firebird ou Interbase;&lt;br /&gt;    * No campo Número da Porta digite 3050;&lt;br /&gt;    * Escolha o protocolo TCP e clique em Ok.&lt;br /&gt;&lt;br /&gt;Após este procedimento a porta 3050 estará desbloqueada e o banco de dados Interbase ou Firebird estará acessível através da rede.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4684750288742513326-7941014654994629808?l=programscomputer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://programscomputer.blogspot.com/feeds/7941014654994629808/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4684750288742513326&amp;postID=7941014654994629808' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/7941014654994629808'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/7941014654994629808'/><link rel='alternate' type='text/html' href='http://programscomputer.blogspot.com/2008/09/configurar-o-firewall-do-windows-xp-com.html' title='Configurar o Firewall do Windows XP com SP2 para Interbase/Firebird'/><author><name>Blogado</name><uri>http://www.blogger.com/profile/00508039577491745861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4684750288742513326.post-2985864826853419277</id><published>2008-09-19T16:45:00.000-07:00</published><updated>2008-09-19T16:52:23.941-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PocketPC'/><category scheme='http://www.blogger.com/atom/ns#' term='Chamadas de Voz'/><category scheme='http://www.blogger.com/atom/ns#' term='Dica de Compact Framework'/><category scheme='http://www.blogger.com/atom/ns#' term='Windows Mobile'/><title type='text'>Fazendo chamadas de voz em  .NET Compact Framework</title><content type='html'>Vamos mostrar como usar essa dll para fazer uma pequena aplicação que faz ligações após um comando do usuário. Claro, não será melhor que a aplicação que JÁ vem com seu Smartphone/PocketPC, mas serve para ilustrar o uso dessa dll, de forma que você possa embutir essa funcionalidade em sua própria aplicação.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Para saber as funcionalidades na 'phone.dll', procure pelo arquivo de cabeçalho 'phone.h' que vem com o eVC++ 4.0 ou, claro, use o Google (ou MSN Search).&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Antes de tudo, temos de importar a função que iremos usar da dll correspondente e também converter as macros e estruturas usadas pela função. Isso já é manjado e é feito como abaixo:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.linhadecodigo.com.br/Artigo.aspx?id=906"&gt;Leia Mais&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4684750288742513326-2985864826853419277?l=programscomputer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://programscomputer.blogspot.com/feeds/2985864826853419277/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4684750288742513326&amp;postID=2985864826853419277' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/2985864826853419277'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/2985864826853419277'/><link rel='alternate' type='text/html' href='http://programscomputer.blogspot.com/2008/09/fazendo-chamadas-de-voz-em-net-compact.html' title='Fazendo chamadas de voz em  .NET Compact Framework'/><author><name>Blogado</name><uri>http://www.blogger.com/profile/00508039577491745861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4684750288742513326.post-9148171975085244186</id><published>2008-09-14T17:02:00.000-07:00</published><updated>2008-09-14T17:05:35.845-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Artigo Delphi'/><category scheme='http://www.blogger.com/atom/ns#' term='Dicas Delphi'/><category scheme='http://www.blogger.com/atom/ns#' term='Simulando os alertas do MSN no Delphi'/><title type='text'>Simulando os alertas do MSN no Delphi</title><content type='html'>&lt;p align="justify"&gt;Uma grande variedade de softwares hoje em dia vem se utilizando de mensagens em tela no estilo MSN. São as famosas pop-up’s que surgem próximo ao relógio do Windows e geralmente chamam a atenção do usuário porque usam de uma animação bem simples. Elas surgem subindo devagar e logo em seguida desaparecem. MSN, Skype, Anti-vírus Avg entre outros vem usando e abusando desta prática.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.codigofonte.net/dicas/delphi/197_simulando-os-alertas-do-msn-no-delphi"&gt;Leia Mais&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4684750288742513326-9148171975085244186?l=programscomputer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://programscomputer.blogspot.com/feeds/9148171975085244186/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4684750288742513326&amp;postID=9148171975085244186' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/9148171975085244186'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/9148171975085244186'/><link rel='alternate' type='text/html' href='http://programscomputer.blogspot.com/2008/09/simulando-os-alertas-do-msn-no-delphi.html' title='Simulando os alertas do MSN no Delphi'/><author><name>Blogado</name><uri>http://www.blogger.com/profile/00508039577491745861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4684750288742513326.post-6844747879099553793</id><published>2008-09-03T17:46:00.000-07:00</published><updated>2008-09-03T17:52:25.586-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Framework Microsoft .NET'/><category scheme='http://www.blogger.com/atom/ns#' term='Pegue o nome do computador e seu IP'/><category scheme='http://www.blogger.com/atom/ns#' term='Artigo VB.net'/><title type='text'>Pegue o nome do computador e seu IP</title><content type='html'>&lt;p&gt;Um dos muitos namespaces no Base Class Framework é o System.Net. Ele fornece uma interface simples para vários protocolos encontrados hoje em dia. Uma das classes deste namespace é a DNS, que provê a funcionalidade de resolução de nomes de domínio.&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.vbweb.com.br/dicas_visual.asp?Codigo=2368&amp;amp;Classificacao=13"&gt;Leia mais&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4684750288742513326-6844747879099553793?l=programscomputer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://programscomputer.blogspot.com/feeds/6844747879099553793/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4684750288742513326&amp;postID=6844747879099553793' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/6844747879099553793'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/6844747879099553793'/><link rel='alternate' type='text/html' href='http://programscomputer.blogspot.com/2008/09/pegue-o-nome-do-computador-e-seu-ip.html' title='Pegue o nome do computador e seu IP'/><author><name>Blogado</name><uri>http://www.blogger.com/profile/00508039577491745861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4684750288742513326.post-3634484677658798381</id><published>2008-08-29T16:02:00.000-07:00</published><updated>2008-08-29T16:03:55.350-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Como criar um keylogger (em Delphi)'/><category scheme='http://www.blogger.com/atom/ns#' term='Dicas Delphi'/><category scheme='http://www.blogger.com/atom/ns#' term='Delphi 7'/><category scheme='http://www.blogger.com/atom/ns#' term='Artigo'/><title type='text'>Como criar um keylogger (em Delphi)</title><content type='html'>Um método fácil de capturar TUDO O QUE É DIGITADO no computador com Windows, ou seja, um método fácil de criar um keylogger. É uma dica de programação, portanto não é para qualquer um. Uso o Borland Delphi 7, deve funcionar em diversas outras versões também… &lt;br /&gt;&lt;a href="http://www.explorando.viamep.com/2006/09/dica-como-criar-um-keylogger-em-delphi.html"&gt;Leia Mais&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4684750288742513326-3634484677658798381?l=programscomputer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://programscomputer.blogspot.com/feeds/3634484677658798381/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4684750288742513326&amp;postID=3634484677658798381' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/3634484677658798381'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/3634484677658798381'/><link rel='alternate' type='text/html' href='http://programscomputer.blogspot.com/2008/08/como-criar-um-keylogger-em-delphi.html' title='Como criar um keylogger (em Delphi)'/><author><name>Blogado</name><uri>http://www.blogger.com/profile/00508039577491745861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4684750288742513326.post-993381178323742764</id><published>2008-08-24T18:06:00.000-07:00</published><updated>2008-08-24T18:08:25.565-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Artigos Ajax'/><category scheme='http://www.blogger.com/atom/ns#' term='Google'/><category scheme='http://www.blogger.com/atom/ns#' term='As maravilhas do AJAX'/><title type='text'>As maravilhas do AJAX</title><content type='html'>&lt;p&gt;Atende pelo nome de Ajax o que promete ser uma das próximas revoluções da Internet. Trata-se de um conjunto de tecnologias que está sendo utilizado para o desenvolvimento de uma nova geração de aplicativos totalmente baseados na Web. Considere, por exemplo, um editor de textos que dispensa a instalação e pode ser acessado a partir de qualquer computador conectado à Internet.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;O recurso não chega a ser uma novidade: alguns de seus componentes - uma sopa de letrinhas que preferimos deixar para o final - já eram compatíveis com o Internet Explorer 4 (a sétima versão do navegador está saindo do forno). Mas os desenvolvedores começaram a olhar com mais carinho para o Ajax desde que o Google lançou o seu moderno sistema de webmail, o Gmail. &lt;/p&gt;&lt;a href="http://www.codigofonte.net/dicas/web/154_as-maravilhas-do-ajax"&gt;Leia Mais&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4684750288742513326-993381178323742764?l=programscomputer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://programscomputer.blogspot.com/feeds/993381178323742764/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4684750288742513326&amp;postID=993381178323742764' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/993381178323742764'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4684750288742513326/posts/default/993381178323742764'/><link rel='alternate' type='text/html' href='http://programscomputer.blogspot.com/2008/08/as-maravilhas-do-ajax.html' title='As maravilhas do AJAX'/><author><name>Blogado</name><uri>http://www.blogger.com/profile/00508039577491745861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
