TUTORIAIS DE JAVASCRIPT
 
Objecto Array (continuação)
 
 

Base de Dados

 

Aqui está um título bastante pesado! Si o Javascript pode guardar dados e apresentar estas segundos os gostos do cliente, mas estamos mesmo assim muito longe das ferramentas específicas para este tipo de trabalho.
As bases de dados em Javascript serão sempre do tipo estático e sobretudo com uma codificação trabalhosa.

Até agora, definiu-se alguns caracteres nos elementos dos array. Nas strings, pode-se inserir muitos e sobretudo com as ferramentas de manipulação das strings do Javascript, pode-se guardar coisas do tipo:
Sérgio*Brandão*rua da Passagem,444*4440*Valongo*Portugal*
Ou seja neste caso, 6 dados.

 
Codificação tipo fixo
 

Retomando o exmplo do carderno de endereço. De maneira clássica, deve-se prever os difrrentes campos e o número de posições consacradas a cada campo. Por exemplo:

Nome
Apelido
Endereço
Código postal
Cidade
País
20 posições
10 posições
20 posições
10 posições
10 posições
10 posições

Cada campo deve respeitar o número de posições predeterminados. As posições sobrenumerários devem ser completadas em branco. Com um risco de erro elevado a codificação e um tempo de carregamento da página sensivelmente aumentada para finalment transmetir que espaços vazios.

Nome
20 p.
Apelido
10 p.
Endereço
20 p.
Postal
10 p.
Cidade
10 p.
País
10 p.
Sérgio Brandão Rua da Passagem,444 4440 Valongo Portugal

Para retomar os diferentes dados, utiliza-se a instrução substring(x,y). Assim:

Nome
Apelido
Endereço
Código postal
Cidade
País
substring(0,19)
substring(20,29)
substring(30,49)
substring(50,59)
substring(60,69)
substring(70,79)
 
Codificação tipo variável
 

O princípio é de inserir um separador entre cada campo. E "pede-se" ao Javascript de retirar os caracteres compreendidos entre dois separadores.

Com o separador *, os dados tornam-se:
str="Sérgio*Brandão*Rua da passagem,444*4440*Valongo*Portugal*"
ou seja 60 posições em vês de 80 tem-se um ganho de 25 %.

Para ler este diferentes dados, proceda-se em varias etapas:

  • Para pos=str.indexOf("*"), nota-se a posição na string do primeiro separador encontrado.
  • Para str.substring(0,pos), tem-se o primeiro dado compreendido entre o início da string (posição 0) e a posição menos 1 do separador ou seja Sérgio.
  • Para str=str.substring(pos+1,str.length), recria-se uma string correspondendo à string do iníncio menos o dado parcial que acabou-se de extrair menos um separador. O que dá:
    str="Brandão*Rua da passagem,444*4440*Valongo*Portugal*"
  • E isto, por um ciclo, até haver separadores menos 1.

Para guardar os dados, a maneira mais prática para os guardar é o controlador do formulário Hidden (encondido)em vez da string.

Pourquê? Bem com as string funciona, mas há o risco de chegar a limitação do comprimento das strings em Javascript, 50 à 80 caracteres. Por isso usa-se o símbolo + e a concatenação dos dados para que ele seja aceito pelo compilador Javascript.

O controlador do formulário Hidden não está sujeito a esta limitação de caracteres. Pode-se guardar 30 K (e mais) de dados. Basta assim entrar no controlador do formulário Hidden e dar atributo value="os dados a guardar".

O script completo será algo do tipo:


<HTML>
<BODY>
<FORM name="form">
<INPUT type=hidden name="data" value="Sérgio*Brandão*Rua da passagem,444*4440*Valongo*Portugal*">
</FORM>
<SCRIPT LANGUAGE="javascript">
str=document.form.data.value; // extriar o string do controlador hidden
nsep=6 // número do separador
for (var i=0;i<nsep;i++){
pos=str.indexOf("*");
document.write(str.substring(0,pos)+ "<BR>");
str=str.substring(pos+1,str.length);
}
</SCRIPT>
</BODY>
</HTML>

 
 
 

ANÚNCIOS

 



 
 
 
  Tutoriais | Fóruns de Discussão | Notícias | Jogos | Dicas | Flash | Downloads | Livros
Gifs Animados | Loja Online | Publicitar no Truques e Dicas | Contactos