Nov 29

Com minhas recentes pesquisas utilizando PHP5 e SQL Server 2000 (Não é MSDE!!!) precisei de uma forma de tratar os campos de telefone sem precisar utilizar código PHP como explode() ou até substr(). Tendo isso em mente, criei algumas stored-procedures no banco de dados e mesmo assim o SQL Server 2000 (Não sei o 2005!!!) não possibilita a criação de máscaras de filtragem de dados, então escrevi uma User Defined Function que utiliza o código demonstrado mais adiante.

Suponha que sua tabela no banco de dados contenha um campo telefone do tipo varchar com tamanho de 10. Quando você adicionar os registros, o valor deverá serDDDPREFIXOSUFIXO, ou seja, dois dígitos para o DDD, mais quatro dígitos para o PREFIXO e finalmente quatro dígitos para o SUFIXO do registro em questão.

A função que criei se chama sys_FormatarTelefone e seu código está listado a seguir:

CREATE FUNCTION sys_FormatarTelefone( @TELEFONE VARCHAR(10) )
RETURNS VARCHAR(14)
AS
BEGIN
DECLARE @DDD VARCHAR(2)
DECLARE @PREFIXO VARCHAR(4)
DECLARE @SUFIXO VARCHAR(4)
DECLARE @FORMATADO VARCHAR(14)

SET @DDD = SUBSTRING( @TELEFONE, 0, 3 )
SET @PREFIXO = SUBSTRING( @TELEFONE, 3, 4 )
SET @SUFIXO = SUBSTRING( @TELEFONE, 7, 4 )
SET @FORMATADO = ‘(’ + @DDD + ‘) ‘ + @PREFIXO + ‘-’ + @SUFIXO

RETURN( @FORMATADO )
END

Para utilizar esta função, eu criei uma stored-procedure para cada um dos módulos do meu sistema, porém irei mostrar uma forma simples de recuperar dados de uma função no SQL Server 2000 através do SELECT comum:

SELECT
t.nome ‘Nome do Contato’,
usuario.sys_FormatarTelefone(t.telefone) ‘Telefone’,
t.email ‘E-Mail do Contato’
FROM
suatabeladecontatos t
WHERE
t.qualquercondicao = 1

Execute estes scripts no seu Query Analizer e veja como fica mais fácil tratar os dados de diversos tipos de campos sem precisar “costurar” códigos com o PHP.

Bem, por enquanto é isso, conforme meus progressos no SQL Server 2000, vou postando aqui no site…

Abraços à todos!!!

Nov 26

Encontrei essa função na internet, não sei o nome de quem
criou mas funciona e muito bem!!!

function checkMail( mail ) { var er = new RegExp(/^[A-Za-z0-9_-.]+@[A-Za-z0-9_-.]{2,}.[A-Za-z0-9]{2,}(.[A-Za-z0-9])?/); if( typeof( mail ) == “string” ) { if( er.test( mail ) ) { return true; } } else if ( typeof( mail ) == “object” ) { if( er.test( mail.value ) ) { return true; } } else { return false; } }
Nov 21

Para quem ainda não conhece, o Eclipse.org é uma plataforma originalmente criada para desenvolver na linguagem Java. Mas como tudo no mundo Open-Source muda de uma hora pra outra os caras do projeto resolveram criar “pacotes” e distribuições para várias outras linguagens. Atualmente o Eclipse.org suporta mais de 30 linguagens e pelo que vejo ainda vai ter mais um monte de features.

Vou comentar um pouco sobre a IDE PDT (PHP Development Tools) que oferece suporte não somente ao PHP como XML, XHTML (Sim, XHTML Válido… pode testar!!!) além de CVS, Conexões à bases de dados e edição de arquivos diretamente por FTP.

O PDT está disponível no endereço http://www.eclipse.org/pdt/ e
pode ser baixado gratuitamente e se você acha que é coisa de louco baixar um pacote de mais de 100mb só pra fazer o que qualquer editor de textos poderia fazer então veja só quem está utilizando isso no endereço http://www.eclipse.org/pdt/whois.php.

Enquanto você baixa o PDT em seu sistema, pode ir olhando
alguns screenshots que tirei da minha estação de trabalho na empresa…

Tela Principal do Eclipse PDT

Preferências do Eclipse PDT

snapshot4.png

Outline (A melhor parte do Eclipse na minha opinião!!!)

snapshot3.png

Navigator

snapshot2.png

Janela Principal de Desenvolvimento

snapshot1.png

Edição de Código em Tela Cheia

Instalação do Eclipse PDT

Vou cobrir aqui apenas a instalação em ambientes Linux devido aos problemas que muita gente tem ao tentar configurar o IDE pelo KDE. Minha distribuição é o Kubuntu 7.10 Gutsy Gibbon para o Ubuntu ou qualquer outra distribuição voc? pode tentar estes passos mas não testei para ter certeza se funciona realmente.

Bem, tendo o pacote tar baixado, copie ele para seu diretório home e digite
os seguintes comandos no shell:

tar zxvf pdt-all-in-one-1.0-R20070917-linux-gtk.tar.gz -C

Isso fará com que o pacote seja descomprimido e o diretório /home/você/eclipse seja criado porém se você tentar executar o Eclipse PDT vai receber uma mensagem de erro na “PHP Perspective” incompreensível. Tentei várias receitas da internet para fazer ele funcionar direito e finalmente dei meu jeito!!!

Baixe o JRE 1.5 através deste endereço http://www.java.com/pt_BR/download/manual.jsp?locale=
pt_BR&host=www.java.com:80
, execute o seguinte comando no shell:

chmod a+x jre-1_5_0-linux-i586.bin

Para instalar o JRE 1.5 execute o seguinte comando:

./jre-1_5_0-linux-i586.bin

Siga os passos da instalação e pronto!!! seu Eclipse estará funcionando porém percebi que em algumas instalações o Eclipse não consegue localizar o Java então fiz uma gambiarra e vou descrever a seguir:

Baixe este arquivo e descompacte diretamente dentro do diretório /home/você/eclipse.

Este é um pacote com todo o conteúdo do Java só que ao
invés de criar as variáves JAVA_PATH e tal, ele procura
dentro do Eclipse automaticamente.

Tenho certeza que isso vai funcionar com qualquer distribuição.

Bem, se alguém tiver mais experiência ou até mesmo outro método
de instalação para o PDT por favor, deixe o comentário aqui mesmo.

Nov 05

Pesquisando na Internet encontrei uma função muito útil desenvolvida pelo Micox para implementar a tecnologia AJAX em sistemas web-based. Ela basicamente funciona assim:

Após chamar o script (você pode renomear como quiser, eu chamo de ajaxGET) , selecione um controle e um evento que você quer que ocorra quando algo acontecer. Como exemplo vou utilizar a velha combinação de selects de estados e cidades.

<form>
<select id=”estado” onchange=”ajaxGet(”pega_cidade.php?estado=” + document.getElementById(”estado”).value, “cidade”, true)”>
<option value=”Nenhuma”>Selecione o Estado…</option>
<option value=”SP”>São Paulo</option>
<option value=”RJ”>Rio de Janeiro</option>
</select>
<select id=”cidade”></select>
</form>

Então você só precisará criar um script em PHP (ou qualquer outra merda que você utilize!!!) que retorne todos os dados baseados na variável estado que será enviada por get ($_GET[”estado”]).

O script do Micox está disponível para download direto no website http://elmicox.blogspot.com/2006/05/ajax-funo-rpida-e-simples.html

Espero que este script ajuda à todos como me ajudou…