Programação
Avatar
Trabalhando com XML no ASP 3.0
Ter, 27 de Janeiro de 2009 12:30
Por: Renato Tarantelli
Nesse exemplo vou mostrar de maneira bem fácil como trabalhar com variáveis no formato XML no ASP.
Quando digo variáveis no formato XML, por exemplo ao aguardar um retorno de um web service e atribuído a uma variável e tendo a necessidade de trabalhar com seus nós de maneira bem fácil, o que por sinal da uma certa dor de cabeça no ASP 3.0

Segue exemplo:

<%
 ' Cria um XML dentro de umavarável do ASP
 Dim ws : ws = "<?xml version='1.0' encoding='ISO-8859-1'?>" &amp;_
 "<PrimeiroNo>" &amp;_
 "<valor>World of Bit!</valor>" &amp;_
 "</PrimeiroNo>"
 
 Response.Write(Server.HTMLEncode(ws))
 Response.Write("<br>")
 
 ' Cria e Instancia o objeto XML utilizando o XMLDOM 
 Dim objXML : Set objXML = Server.CreateObject("Microsoft.XMLDOM")
 
 ' Atribuindo a variável ao XML
 objXML.LoadXml(ws)
 
 ' Adicionado para que o carregamento do documento XML 
 ' ocorra antes do carregamento do HTML
 objXML.async = False
 
 ' Atribui os nós a uma varável
 Dim xml        :    Set xml = objXML.childNodes
 
 ' Pega a primeiro elemento do XML e retorna a uma variável
 Dim valor : valor = xml(1).childNodes(0).childNodes(0).text
 
 Response.Write(valor)
 Response.End()
%>


Espero ter ajudado.

Até mais.
 
Avatar
Integridade referencial MySQL
Ter, 13 de Janeiro de 2009 21:28
Por: Erick Belluci Tedeschi
Olá, estou colocando um pequeno exemplo de integridade referencial no MySQL 5.


Lembrando que para isso ser possível deve ser usado o tipo de tabela InnoDB. As tabelas do tipo MyISAM não suportam esse recurso.

CREATE TABLE carro (
    id int not null auto_increment,
    marca varchar(25) not null,
    modelo varchar(25) not null,
    ano_fab date not null,
    ano_mod date not null,
    primary key(id)
) engine=InnoDB;

CREATE TABLE carro_acessorios (
    carro_id int not null,
    descricao varchar(150) not null,
    preco decimal(10,2) not null,
    key(carro_id),
    foreign key (carro_id) references carro (id) 
        on delete cascade
) engine=InnoDB;


Nesse exemplo temos a tabela de carros e uma tabela de acessórios que esse carro possui. Se o registro do carro for apagado, os registros de acessórios também serão.

Vamos analisar a linha responsável por isso:

* foreign key (carro_id)...: Aqui está sendo definido qual é o campo da tabela que será referenciado.

* ...references carro (id)...: Aqui está sendo definido que está se referenciando ao campo 'id' da tabela carro.

* ...on delete cascade: E por fim se o campo no qual ele está fazendo referência for apagado, ele é apagado também.

Bom por enquanto é isso, conforme for eu vou colocando mais uns negócios aí! rsrs

Para maiores informações sobre integridade referencial no MySQL acesse: http://dev.mysql.com/doc/refman/5.0/en/innodb-foreign-key-constraints.html

t+

Fonte: ITATUX
 
Avatar
Backup no MySql
Qua, 07 de Janeiro de 2009 17:14
Por: Renato Tarantelli

Existem várias maneira de fazer Backup no MySql, mas nada tão fácil como como o feito utilizando 'mysqldump', que com a combinação de vários parametros torna-se fácil e muito prático.

Introdução

Vou passar nesse tutorial uma maneira fácil e prática de gerar backups no mySql, sem muita dor de cabeça, algo que muitas vezes se tem na administração de outras bases, algo que não aconteceno mySql.

Comando Utilizado

mysqldump
O Mysqldump é um programa de backup escrito originalmente por Igor Romanenko. Pode ser utilizado para despejo de um banco de dados ou uma coleção de bases de dados para backup ou transferência para outro servidor SQL (não necessariamente um servidor MySQL). O despejo normalmente contém instruções SQL para criar a tabela, preenchê-lo, ou ambos. No entanto, mysqldump também pode ser usado para gerar arquivos em CSV, outro texto delimitado ou XML.
Fonte: MySql

Exemplos

1. Para backup de todos os bancos existentes com conteúdo e estrutura (-A equivale a --all-databases):

$ mysqldump -u usuario --password=senha --all-databases ¬
> arquivo-saida-dados

OU

$ mysqldump -u usuario --password=senha -A ¬
> arquivo-saida-dados

2. Para backup só das estruturas de todos os bancos (-d : sem os conteúdos)

$ mysqldump -u usuario --password=senha -A -d ¬
> arquivo-saida-dados


3. Para backup só dos dados de todos os bancos (-c: usa comandos 'insert'; -t: não escreve comandos 'create table'; -e: gera comandos mais compactos e mais rápidos de 'insert')

$ mysqldump -u usuario --password=senha ---e -A ¬
> arquivo-saida-dados

 

Fonte: Dicas L

 
Avatar
Linked List Validation
Seg, 08 de Dezembro de 2008 13:04
Por: Alexandre Santos
Um dos grandes problemas quando se cria uma aplicação web é validar formulários HTML, na maioria dos casos podemos notar que os programadores opitam por usar Javascript para agilizar a validação, validando primeiro no client para depois validar no server.

Neste artigo vamos entender como funciona a validação de lista ligada (Linked List Validation) ou validação de corrente, que é um metodo que valida o formulario como um todo, para utilizarmos este tipo de validação criaremos uma lista ligada, onde cada Nó da lista é um objeto e representa um campo do formulario, que possui um metodo de validação, este metodo de validação testa o valor inserido no campo e caso o valor seja válido, retorna o resultado do teste do proximo campo, até que se acabe a lista. Caso algum campo não seja válido, este campo "quebrará a corrente" retornando false como resultado da validação.

Para que a verificação se torne ativa, adicionamos no metodo onsubmit() do formulario, a validação do primeiro campo, o que gera uma reação em cadeia validando os campos subseguentes. Caso o valor retornado seja true todos os campos são válidos, caso seja false, algum campo não é válido segundo sua própria Regra.
Vamos ver como isto fica em código:

// Função que retorna um Elemento do HTML pelo id
function id(idName)
{
 return ( document.getElementById(idName) );
}
// Função que copia os metodos e os atributos de um objeto para outro
function copiaObjeto()
{
 var objOrigem = arguments[0], objDestino = arguments[1];
 for (var propriedade in objOrigem)
 {
 objDestino[propriedade] = objOrigem[propriedade];
 }
 if ( arguments[2] != undefined )
 {
 copiaObjeto(arguments[2], objDestino, null);
 }
 return ( objDestino );
 }
 
// Objeto que representará um "Nó"
var llvNo = {
 Regra: null,
 Valida: function()
 {
 if ( this.Regra == null )
 {
 return ( false );
 }
 else 
 {
 if(this.Regra()==true)
 {
 return ( (this.Proximo==null)?true:this.Proximo.Valida() );
 }
 else
 {
 return ( false );
 }
 }
},
 Proximo: null
};
 
// Objeto que representa o formulário
var llvForm = {
 PrimeiroCampo: null,
 Validar: function(formularioDestino, pCampo)
 {
 this.PrimeiroCampo = pCampo;
 copiaObjeto(this, formularioDestino);
 },
 onsubmit: function()
 {
 return ( this.PrimeiroCampo.Valida() );
 }
};

Explicando o script acima:

function id(idName);
function copiaObjeto(objOrigem, objDestino, metodosExtras);

Estas duas funções foram criadas para facilitar algumas tarefas, a função id(idName) apenas substitui o document.getElementById(idName), e a função copiaObjeto(objOrigem, objDestino, metodosExtras) copia todos os metodos e atributos do objOrigem para o objDestino, além de possibilitar a inclusão de novos metodos ou atributos através do objeto metodosExtras.

O objeto llvNo é o objeto que representará um campo do formulario, este objeto possui uma Regra que deverá ser um metodo especificado pelo programador (veremos adiante), um metodo Valida que executará a Regra e um atributo Proximo, que deverá ser o proximo campo do formulário.

O objeto llvForm é o objeto que representará o formulário, possui um metodo Valida que ativa a validação em um formulario parametrizando qual será o primeiro campo, um parametro PrimeiroCampo que será o primeiro campo, e um metodo onsubmit que não permitirá que o formulário seja enviado caso algum campo não seja válido.

Bom a estrutura básica é esta, vamos ver agora como configurar um formulário para ser validado, partindo do principio que o script acima se encontra em um arquivo chamado "llv_javascript.js" temos o html abaixo:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
 
<head>
 <title>
 Linked List Validation - Javascript - by.: Alexandre Aparecido dos Santos
 </title>
 
 <script type="text/javascript" src="llv_javascript.js"></script>
 <script type="text/javascript" src="simples_setup.js"></script>
</head>
<body onload="start_app()">
 <h3>Linked List Validation - by.: Alexandre Aparecido dos Santos</h3>
 <form id="Form1" method="post" action="#">
 <span id="lblCpf" style="display:inline-block;width:50px;">CPF:</span>
 <input type="text" name="cpf" value="" id="cpf" /><br />
 <span id="lblEmail" style="display:inline-block;width:50px;">Email:</span>
 <input type="text" name="email" value="" id="email" /><br />
 <input type="submit" value="TESTAR" style="margin-left: 50px;" />
 </form>
</body>
</html>

Este HTML gera o formulário a seguir. Para configurar a validação para este formulario usaremos o script a seguir (que eu salvei no arquivo "simples_setup.js")

// Função executada ao carregar a pagina
function start_app()
{
 var campo1 = id('cpf');
 copiaObjeto(llvNo, campo1,{
 Regra: function() // <- Regra de validação do campo CPF
 {
 // Verifica se o cpf possui 11 digitos
 if(this.value.length!=11)
 {
 alert('CPF Inválido!');
 this.focus();
 return ( false );
 }
 else
 {
 // Armazena os digitos do CPF
 var digitos = [];
 var digitoVerificador = this.value.substr(9,2);
 for(var i=0; i<9; i++)
 {
 digitos[i] = this.value.substr(i, 1);
 }
 // Calcula o 10º digito
 var soma = 0, posicao= 10;
 for(i=0; i<9; i++)
 {
 soma += digitos[i] * posicao--;
 }
 soma = soma % 11;
 digitos[9] = (soma<2)? 0 : 11-soma;
 
 // Calcula o 11º digito
 posicao = 11;
 soma = 0;
 for(i=0; i<10; i++)
 {
 soma += digitos[i] * posicao--;
 }
 soma = soma % 11;
 digitos[10] = (soma<2)? 0 : 11-soma;
 
 // Verifica se o Digito verificador é valido
 var dv=digitos[9] * 10 + digitos[10];
 if(dv==digitoVerificador)
 {
 return (true);
 }
 else
 {
 alert('CPF Inválido');
 return (false);
 }
 }
 },
 onkeypress: function(e)
 {
 var chKey = (window.event)? window.event.keyCode : e.charCode;
 if((chKey<48 || chKey>57) &amp;&amp; chKey!=0)
 {
 alert('Este campo só aceita numeros');
 return (false);
 }
 else 
 return (true);
 }
 }
 );
 
 var campo2 = id('email');
 copiaObjeto(llvNo, campo2, {
 Regra: function()
 {
 var r = /^.+@.+\..+$/;
 if(r.exec(this.value))
 {
 return (true);
 }
 else
 {
 alert('E-mail inválido!');
 return (false);
 }
 }
 });
 campo1.Proximo = campo2;
 llvForm.Validar(id('Form1'), campo1);
}

ou seja, para utilizar o script de validação, o modelo a ser seguido é:

llvForm.Validar(
 id('Id do formulario'),
 copiaObjeto(llvNo, id('campo 1'),{
 Regra: function(){
 // codigo para a validar o campo 1, 
 // lembrando que quando desejar 
 // se referir ao campo use this
 },
 Proximo: copiaObjeto(llvNo, id('campo 2'), {
 Regra: function(){
 // Codigo para validar o campo 2
 },
 Proximo: copiaObjeto(llvNo, id('campo n...'), {
 Regra: function(){
 // Codigo para validar o campo n...
 },
 Proximo: null
 })
 })
 }
);

Bom a respeito deste metodo, é isso, espero que possa ser util, lembrando que o metodo ainda esta em desenvolvimento.

Até a proxima.
 
Avatar
Ruby on Rails o que há de bom?
Qui, 04 de Dezembro de 2008 20:09
Por: Renato Tarantelli

Afinal de contas o que essa linguagem tem de mais, ou melhor tem que as outras não tem. Segundo David Heinemeier Hansson o desenvolvedor do Ruby on Rails em entrevista a Info diz que "ele é Lindo".

O que ele busca no desenvolvimento do Ruby é clareza e limpeza no código algo que em muitas outras linguagens é coisa que se espera mas não tem ou não existe.

Afinal, o que Ruby?

Ruby é uma linguagem de script criada em 1994 por Yukihiro Matsumoto (Matz). Ela foi grandemente inspirada em Python e Perl (daí o nome “Ruby”, outra pedra preciosa). Matz queria uma linguagem mais poderosa que Perl e mais orientada a objeto que Python.

Ruby foi desenvolvida com o “princípio da menor surpresa” em mente. O objetivo era fazer uma linguagem expressiva que ajudasse o programador a fazer o que pensa ao invés de “entrar no caminho”.

A linguagem é 100% orientado a objeto e dinamicamente tipada. Isto é, diferente de Java e C++, o tipo do objeto só é conhecido em runtime.
Segundo Colin Steele em An Introduction to Ruby, “Ruby é duas partes Perl, uma parte Python e uma parte Smalltalk.”


Segundo David em entrevista a Info, disse que programar com Ruby é tao fácil quanto montar casinhas com LEGO, tal comparação pode ser comprovada em seus dois princípios básicos:

Continue Lendo...
 


Página 2 de 6

Login

Crie uma conta ou use sua conta do Gmail para logar no site.

Google Friend Connect

Contato

Quer entrar em contato conosco? deixe seu recado ou então envie um email para contato[a]worldofbit.com





Alguns Direitos Reservados

Creative Commons License

Pesquisar

Participe

RSS Mantenha-se informado sobre as nossas novidades com nosso newsletter diário
 


Agregadores






Divulgue-nos!

worldofbit.com

Recomendo