Funções de Manipulação de Data e Hora em Java Script

Olá pessoal!

Finalizando a série de posts que reproduzi do site MSPC – Informações Técnicas, finalizo neste último post com este sobre manipulação de data e hora no Java Script. O site tem um material bem rico e recomendo a visita.

Observações

1-) Parâmetros indicados entre parênteses são opcionais.2-) UTC (Coordinated Universal Time) é o padrão atual de tempo de acordo com os fusos horários. É continuação moderna do GMT (Greenwich Mean Time). Algumas vezes são considerados sinônimos, mas rigorosamente não são.

3-) Algumas funções (obsoletas ou de pouco uso) de data e hora não são apresentadas.

O objeto Date()

Permite trabalhar com datas e horas. Pode ser criado por uma das formas abaixo:

            new Date()
            new Date(ms)
            new Date(string_de_data)
            new Date(nAno, nMês, nDia [, nHora, nMin, nSeg, nMs] )

A data é dada em milissegundos, a partir de 00:00:00 h GMT de 01 de janeiro de 1970.

Se nenhum parâmetro é fornecido (primeira forma), são assumidas a data e hora locais, isto é, do computador que executa o script.

Parâmetros:

ms: milissegundos desde a data inicial dada acima.

string_de_data: uma seqüência de caracteres em um formato suportado. Exemplo: “Mon, 27 Dec 2004 12:00:00 GMT”.

nAno, nMês, nDia, etc: valores inteiros representando partes da data. Exemplo: Janeiro 0, Fevereiro 1, etc.

Exemplo de aplicação 1: a variável intervalo armazena o tempo de execução em milissegundos das outras instruções.

            tempo_1 = new Date();
            // outras instruções
            tempo_2 = new Date();
            intervalo = tempo_2 - tempo_1

Exemplo de aplicação 2: este é um exemplo dinâmico, que atualiza o objeto Date() a cada segundo, permitindo um relógio na tela em vez da simples hora e data do carregamento da página.

O script abaixo deve estar entre <head> e </head> da página:

            <script language="JavaScript">
            
            function DataHora(){
            var data = new Date();
            tempo.innerHTML = data;
            setTimeout("DataHora()",1000)
            }
            </script>

O código seguinte deve estar dentro de <body>:

onLoad="DataHora()"

E este no corpo da página (entre <body> e </body>):

<span id=tempo></span>

E o resultado é:

Thu May 21 2015 14:26:29 GMT-0300 (Hora oficial do Brasil)

É evidente que os nomes aparecem em inglês. Para outra língua, mais códigos são necessários.

 

getDate()

Retorna um número inteiro entre 1 e 31, que representa o dia do mês do objeto Date.Exemplo: a variável dia contém dia do mês da data atual.

            data = new Date();
            dia = data.getDate();

getDay()

Retorna um número inteiro do dia da semana. Domingo 0, segunda 1, terça 2, etc.Exemplo: a variável dia_semana contém o dia da semana da data atual.

            data = new Date();
            dia_semana = data.getDay();

getFullYear()

Retorna o ano do objeto Date em números absolutos, por exemplo 1998.Exemplo: a variável ano contém o ano da data atual.

            data = new Date();
            ano = data.getFullYear();

getHours()

Retorna a hora do objeto Date, um número inteiro entre 0 e 23.Exemplo:

            data = new Date();
            hora = data.getHours();

getMilliseconds()

Retorna os milissegundos do objeto Date, um inteiro entre 0 e 999.Exemplo:

            data = new Date();
            ms = data.getMilliseconds();

getMinutes()

Retorna os minutos do objeto Date, um inteiro entre 0 e 59.Exemplo:

            data = new Date();
            min = data.getMinutes();

getMonth()

Retorna o mês do objeto Date, um inteiro entre 0 e 11 (0 janeiro, 1 fevereiro, etc).Exemplo:

            data = new Date();
            mes = data.getMonth();

getSeconds()

Retorna os segundos do objeto Date, um número inteiro entre 0 e 59.Exemplo:

            data = new Date();
            seg = data.getSeconds();

getTime()

Retorna o número de milissegundos da data conforme informado no primeiro tópico. Em geral usado para especificar a data e hora de um outro objeto Date.Exemplo:

            certo_dia = new Date("May 15, 1998");
            outro_dia = new Date();
            outro_dia.setTime(certo_dia.getTime());

getTimezoneOffset()

Retorna a diferença, em minutos, entre a hora local e a hora GMT.Exemplo:

            data = new Date();
            dif_gmt_horas = data.getTimezoneOffset() / 60;

Date.parse(string_de_data)

Retorna o número de milissegundos de uma seqüência de caracteres (string) de data, desde 01 de janeiro de 1970 00:00:00 h (hora local).A string de data deve estar dentro do padrão aceito. Exemplo: Tue, 28 Dec 2004 11:00:00 GMT-0330. Se não especificado o fuso horário, o horário local é considerado.Deve sempre ser usado na forma Date.parse() e não com um objeto Date criado. Em geral usado com setTime() para especificar uma nova data para o objeto.

Exemplo:

            data = new Date();
            data.setTime(Date.parse("Apr 15, 2004"));

setDate(nDia)

Especifica um dia do mês para um objeto Date. nDia deve ser um inteiro entre 1 e 31, de acordo com o mês corrente.Exemplo:

            certo_dia = new Date("May 15, 1998");
            certo_dia.setDate(25);

setFullYear(nAno [, nMes, nDia])

Especifica um ano (em 4 dígitos) para um objeto date existente. nAno é um inteiro de 4 dígitos representando o ano, nMes um inteiro de 0 a 11 para o mês (0 janeiro, 1 fevereiro, etc) e nDia um inteiro de 1 a 31 para o dia do mês. Se é dado um valor para nDia, é obrigatório um valor para nMes.Se um parâmetro é especificado fora da faixa, a função tenta atualizar os demais de forma coerente. Exemplo: se um valor de 15 é dado para nMes, o ano é aumentado de 1 e o valor 4 é usado para nMes.Exemplo:

            certo_dia = new Date();
            certo_dia.setFullYear(1995);

setHours(nHora [, nMin, nSeg, nMs])

Especifica a hora para um objeto Date. nHora é um inteiro entre 0 e 23. Os demais parâmetros são opcionais: nMin (inteiro entre 0 e 59), nSeg (inteiro entre 0 e 59) e nMs (inteiro entre 0 e 999 para os milissegundos). Se nSeg é fornecido, nMin também deve ser dado. Se nMs é especificado, nMin e nSeg também devem ser.Se um parâmetro é especificado fora da faixa, a função tenta atualizar os demais de forma coerente. Exemplo: se 70 é dado para nMin, a hora é aumentada de 1 e 10 é usado para nMin.Exemplo:

            certo_dia = new Date();
            certo_dia.setHours(10);

setMilliseconds(nMs)

Especifica os milissegundos para um objeto Date. nMs deve ser um inteiro entre 0 e 999.Se nMs é dado fora da faixa, o objeto Date é atualizado de forma coerente. Exemplo: se nMs é 1100, os segundos são aumentados de 1 e 100 é usado para os milissegundos.Exemplo:

            certo_dia = new Date();
            certo_dia.setMilliseconds(500);

setMinutes(nMin [, nSeg, nMs])

Especifica os minutos para um objeto Date. nMin deve ser um inteiro entre 0 e 59. Os demais parâmetros são opcionais: nSeg (inteiro entre 0 e 59) e nMs (inteiro entre 0 e 999 para os milissegundos). Se nSeg é especificado, nMin também deve ser. Se nMs é dado, nMin e nSeg também devem ser.Se um parâmetro é dado fora da faixa, a função tenta atualizar os demais de forma coerente. Exemplo: se nSeg é 80, os minutos são aumentados de 1 e 20 é usado para os segundos.Exemplo:

            certo_dia = new Date();
            certo_dia.setMinutes(25);

setMonth(nMes [, nDia])

Especifica o mês de um objeto Date. nMes deve ser um inteiro entre 0 e 11 (0 janeiro, 1 fevereiro, etc). nDia é um parâmetro opcional para o dia do mês (inteiro entre 0 e 31).Se um parâmetro é dado fora da faixa, a função tenta atualizar o objeto de forma coerente. Exemplo: se 12 é dado para o mês, o ano é aumentado de 1 e 1 é usado para o mês.Exemplo:

            certo_dia = new Date();
            certo_dia.setMonth(4);

setSeconds(nSeg [, nMs])

Especifica os segundos de um objeto Date. nSeg deve ser um inteiro entre 0 e 59. nMs é um parâmetro opcional para os milissegundos (inteiro entre 0 e 999).Se um parâmetro é dado fora da faixa, a função tenta atualizar o objeto de forma coerente. Exemplo: se 70 é dado para nSeg, os minutos são aumentados de 1 e 10 é usado para os segundos.Exemplo:

            certo_dia = new Date();
            certo_dia.setSeconds(15);

setTime(nMs)

Especifica um valor para o objeto Date. nMs é um inteiro correspondente ao número de milissegundos desde 01 de janeiro de 1970 00:00:00 h.Exemplo:

            certo_dia = new Date("May 15, 1998");
            outro_dia = new Date();
            outro_dia.setTime(certo_dia.getTime());

toLocaleString()

Retorna uma seqüência de caracteres (string) de data, com formato definido pelas configurações do sistema operacional.Exemplo:

            <script language="JavaScript">
            var d = new Date();
            document.write(d.toLocaleString());
            </script>

E o resultado desse script é:

21/05/2015 14:17:59

Se o seu sistema operacional não é inglês configurado para o padrão americano, notar a diferença com o exemplo dado no primeiro tópico, O objeto Date().

toUTCString()

Retorna uma string formatada de acordo com a convenção UTC. Pode variar de acordo com o sistema operacional.Exemplo:

            data = new Date();
            var str = data.toUTCString();


Date.UTC(nA, nM, nD [, nHora, nMin, nSeg, nMs])

Retorna o número de milissegundos desde 01 de janeiro de 1970 00:00:00 h, hora universal.nA: ano depois de 1900. nM: inteiro de 0 a 11 para o mês. nD: inteiro de 1 a 31 para o dia do mês. nHora: inteiro de 0 a 23 para as horas. nMin: inteiro de 0 a 59 para os minutos. nSeg: inteiro de 0 a 59 para os segundos. nMs: inteiro de 0 a 999 para os milissegundos.Se um parâmetro for dado fora da faixa, a função tenta ajustar os demais de forma coerente. Exemplo: se 12 é usado para mês, ano é incrementado de 1 e 1 é usado para mês.

Deve sempre ser usado na forma Date.UTC(…) e não com um objeto Date criado.

Exemplo:

data_utc = new Date(Date.UTC(2004, 11, 15, 12, 0, 0));

fonte: http://www.mspc.eng.br/info/jscriptDataHora.shtml

Funções de Arrays em Java Script

Mais uma vez dando prosseguimento a reprodução de posts do site MSPC – Informações Técnicas, agora tratando de Funções de Arrays em Java Script. Recomendo a visita ao site.

Resumo das funções de arrays

Obs: em linguagem de computação, o termo inglês “array” pode ser entendido como uma “coleção”. Entretanto, aqui não traduzimos por ser bastante difundido o uso da palavra original.

join (junta os elementos) | length (retorna o número de elementos) |  pop (remove o último elemento) | push (adiciona elementos no final) | reverse (inverte a ordem) |  shift (remove o primeiro elemento) | slice (extrai uma parte) | sort (ordena elementos) | splice (adiciona e remove elementos) | toString (junta elementos em uma string) | unshift (adiciona elementos no início)

O objeto Array

Pode ser definido como um conjunto ordenado de valores, numéricos ou não, que são referenciados por um mesmo nome.

Em geral, criado por uma das formas:

new Array(tamanho) ou

new Array(valor0, valor1, valor2, ...)

Exemplo:

nivel = new Array("baixo","medio","alto");

nivel = new Array[3];

Para este último, os valores devem ser dados individualmente:

nivel[0] = "baixo";
nivel[1] = "medio";
nivel[2] = "alto";

Exemplo com valores numéricos: nivel = new Array(10, 20, 30);

Também pode ser criado a partir da forma literal:

nivel = ["baixo", "médio", "alto"];

join(sep)

Junta seqüencialmente os elementos de uma array usando o caractere (ou caracteres) dados por sep. Se ele não é indicado, usa a vírgula como default.

Exemplos:

nivel = new Array("baixo","medio","alto");

str_1 = nivel.join(); //resulta “baixo,médio,alto” em str_1
str_2 = nivel.join(", "); //resulta “baixo, médio, alto” em str_2
str_3 = nivel.join("/"); //resulta “baixo/médio/alto” em str_3

length

Indica o número de elementos em uma array. Pode ser usado para diminuir o comprimento de um objeto já definido. Não pode aumentar.

Exemplo:

nivel = new Array("baixo","medio","alto","muito alto");
nivel.length = 3;
//reduz o tamanho de 4 para 3

pop()

Remove e retorna o último elemento de uma array, reduzindo o seu tamanho.

Exemplo:

nivel = new Array("baixo","medio","alto","muito alto");
eliminado = nivel.pop;
//a variável eliminado contém “muito alto”

push(valor1, valor2, …)

Adiciona um ou mais elementos (valor1, valor2, etc) ao final de uma array, retornando o seu novo tamanho.

Exemplo (a variável novo será 4 e os dois elementos serão adicionados):

nivel = new Array("baixo","medio");
novo = nivel.push("alto","muito alto");

reverse()

Inverte a ordem dos elementos. O primeiro se torna o último e o último se torna o primeiro.

Exemplo (nivel[0], nivel[1] e nivel[2] serão respectivamente “alto”, “médio” e “baixo”):

nivel = new Array("baixo","medio","alto");
nivel.reverse();

shift()

Remove o primeiro elemento e retorna esse elemento, reduzindo o tamanho da array.

Exemplo (a variável removido terá “muito baixo” e a nivel não terá esse elemento):

nivel = new Array("muito baixo","baixo","medio","alto");
removido = nivel.shift();

slice(ini [, fim])

Extrai uma parte de uma array e retorna uma nova com essa parte. O parâmetro ini é o índice base zero a partir do qual começa a extração. Os elementos são extraídos até, mas não incluindo, o índice base zero dado por fim. Se este não é indicado, a operação se dá até o final da seqüência.

A função não altera o objeto original. Os valores são copiados para a nova array.

Exemplo (escreve: “baixo,médio,alto”):

nivel = new Array("muito baixo","baixo","medio","alto","muito alto");
document.write(nivel.slice(1,4);

sort(func_comp)

Ordena os elementos de uma array segundo o critério da função de comparação func_comp. Se esta não é dada, a ordenação se dá como se fosse um dicionário. No caso de strings de texto, em geral essa operação é desejada. No caso de números, pode não ser, uma vez que, por exemplo, 12 fica antes de 4.

A função de comparação deve ser uma do tipo comparar(a,b) tal que:
– se retornar valor < 0, b fica em índice menor que a.
– se retornar valor = 0, a e b não mudam de índice.
– se retornar valor > 0, b fica em índice maior que a.

Para comparar números, a função pode ser simplesmente:

function comparar(a, b){
return a - b;
}

Exemplo:

function comparar(a, b){
return a - b;
}
num = new Array("11", "10", "7", "8", "9");
document.write(num.sort());
//escreve 10,11,7,8,9
document.write("<br>");
//avança uma linha
document.write(num.sort(comparar));
//escreve 7,8,9,10,11

splice(iniNdx, quant, [elm1][, …, elmN])

Muda o conteúdo de uma array, adicionando novos elementos e removendo outros.

iniNdx é o índice base zero a partir do qual a operação começa.

quant é um inteiro indicando o número de elementos a remover. Se é zero, nenhum elemento é removido, mas deve ser indicado pelo menos um novo elemento.

elm1 … elemN são os novos elementos a adicionar. Se não indicados, a função apenas remove elementos.

Se o número de elementos a adicionar é diferente do número de elementos a remover, o tamanho da arrray é alterado. A função retorna uma array com os elementos removidos.

Exemplos:

num = new Array("10", "20", "30", "40");
document.write(num);
//escreve 10,20,30,40
document.write("<br>");
//avança uma linha
de_fora = num.splice(2,0,"25");
document.write(num);
//escreve 10,20,25,30,40
document.write("<br>");
//avança uma linha
de_fora = num.splice(2,1,"28");
document.write(num);
//escreve 10,20,28,30,40
document.write("<br>"); //avança uma linha
document.write(de_fora);
//escreve 25

toString()

Retorna uma string com os elementos dispostos seqüencialmente e separados por vírgula.

Exemplo:

num = new Array("10", "20", "30", "40");
str = num.toString();
//str contém “10,20,30,40”

unshift(elm1,…, elmN)

Adiciona um ou mais elementos no início da array e retorna seu novo tamanho. Os parâmetros (elm1, …, elmN) são os novos elementos.

Exemplo:

nivel = new Array("baixo","medio","alto","muito alto");
nivel.unshift("muito baixo");
document.write(nivel);
//escreve “muito baixo,baixo,medio,alto,muito alto”

fonte: http://www.mspc.eng.br/info/jscriptArray.shtml

Controladores de Eventos em Java Script

Dando seguinte a reprodução de posts do site MSPC – Informações Técnicas, reproduzo o post que trata de Controladores de Eventos. Recomendo a visita ao site.

onAbort

Executa um código JavaScript quando o usuário interrompe o carregamento de uma imagem, por exemplo, com um clique no botão Parar. Deve ser usado com o objeto imagem (IMG) de HTML.

Exemplo:

<IMG NAME="foto" SRC="minha_foto.gif" onAbort="alert('Você não viu minha foto')">

onBlur

Executa um código JavaScript quando um elemento, janela ou quadro, perde o foco. Usado para Button, Checkbox, FileUpload, Layer, Password, Radio, Reset, Select, Submit, Text, Textarea, window, na forma onBlur="algumaCoisa", onde “algumaCoisa” é uma função ou código de JavaScript.

Exemplo:

<INPUT TYPE="text" VALUE="" NAME="nome" onBlur="verificarNome(this.value)">

Onde “verificarNome(n)” é uma função (a ser desenvolvida) para verificar se o usuário inseriu um nome válido.

onChange

Executa um código JavaScript quando um campo perde o foco e tem seu valor modificado. Usado para FileUpload, Select, Text, Textarea, na forma onChange="algumaCoisa", onde “algumaCoisa” é uma função ou código de JavaScript.

Exemplo:

<INPUT TYPE="text" VALUE="" NAME="nome" onChange="verificarNome(this.value)">

Onde “verificarNome(n)” é uma função (a ser desenvolvida) para verificar se o usuário inseriu um nome válido.

onClick

Executa um código JavaScript quando um objeto é clicado. Usado para Button, document, Checkbox, Link, Radio, Reset, Submit, na forma onClick="algumaCoisa", onde “algumaCoisa” é uma função ou código de JavaScript.

Exemplo 1:

<A HREF="http://www.abc.com.br/" onClick="return confirm('Abre ABC?')">Empresa ABC</A>

Se o usuário clica no link, abre a caixa de confirmação. Se, nessa caixa, o botão Cancelar é clicado, o link não é aberto.

Exemplo 2:

<INPUT TYPE="button" VALUE="Resultado" onClick="calcular(this.form)">

Ao clicar no botão, é chamada a função “calcular(a)” (a ser desenvolvida).

onDblClick

Executa um código JavaScript quando um duplo clique é dado no objeto. Usado para document, Link, na forma onDblClick="algumaCoisa", onde “algumaCoisa” é uma função ou código de JavaScript.

Exemplo:

<form>
<INPUT Type="button" Value="Teste" onDblClick="alert('Foi dado um duplo clique')">
</form>

onDragDrop

Executa um código JavaScript quando um objeto é arrastado para a janela do navegador. Usado para window, na forma onDragDrop="algumaCoisa", onde “algumaCoisa” é uma função ou código de JavaScript.

onError

Executa um código JavaScript quando um erro ocorre no carregamento de uma janela ou imagem. Usado para Image, window, na forma onError="algumaCoisa", onde “algumaCoisa” é uma função ou código de JavaScript.

O evento só ocorre em caso de erro de sintaxe no código ou erro em tempo de execução do mesmo. Não reporta erros do navegador.

Se é forçado para nulo, suprime mensagens de erro.

Exemplo 1:

<IMG NAME="foto" SRC="foto.gif" ALIGN="left" BORDER="2" onError="null">

Exemplo 2:

<SCRIPT language="javascript"_>
window.onerror=null
</SCRIPT>
<IMG NAME="foto" SRC="foto.gif" ALIGN="left" BORDER="2">

O primeiro exemplo suprime mensagens de erro apenas no carregamento da imagem foto.gif. O segundo exemplo suprime para toda a janela.

onFocus

Executa um código JavaScript quando o objeto recebe o foco. Usado para Button, Checkbox, FileUpload, Layer, Password, Radio, Reset, Select, Submit, Text, Textarea, window, na forma onFocus="algumaCoisa", onde “algumaCoisa” é uma função ou código de JavaScript.

Exemplo:

<INPUT TYPE="text" VALUE="" NAME="nome" onFocus="verificarNome(this.value)">

Onde “verificarNome(n)” é uma função (a ser desenvolvida) para verificar se um nome válido existe no campo toda vez que esse campo recebe o foco.

onKeyDown

Executa um código JavaScript quando uma tecla é pressionada. Usado para document, Image, Link, Text, Textarea, na forma onKeyDown="algumaCoisa", onde “algumaCoisa” é uma função ou código de JavaScript.

Exemplo:

<script language="javascript">
function semArroba(e){
var carac = String.fromCharCode(e.which);
if (carac == '@')
return false;
}
document.form1.nome.onkeydown = semArroba;
</script>

<form NAME="form1">
<INPUT TYPE="text" VALUE="" NAME="nome">
</form>

O código dado evita que o usuário insira o caractere “@” no campo “nome”.

onKeyPress

Executa um código JavaScript quando o usuário pressiona ou mantém pressionada uma tecla. Usado para document, Image, Link, Text, Textarea, na forma onKeyPress="algumaCoisa", onde “algumaCoisa” é uma função ou código de JavaScript.

Exemplo:

<script language="javascript">

function rolar(e){
var carac = String.fromCharCode(e.which);
if (carac == 'c')
self.scrollBy(0,10);
else if(carac == 'b')
self.scrollBy(0,-10);
else
return false;
}

document.captureEvents(Event.KEYPRESS);

document.onkeypress = rolar;

</script>

O código dado rola a tela 10 pixels acima se o caractere “c” for pressionado e abaixo se “b” for pressionado (o evento KeyPress é repetido continuamente enquanto o usuário mantém a tecla pressionada).

onKeyUp

Executa um código JavaScript quando o usuário libera uma tecla que foi pressionada. Usado para document, Image, Link, Text, Textarea, na forma onKeyUp="algumaCoisa", onde “algumaCoisa” é uma função ou código de JavaScript.

Exemplo:

<script language="javascript">

function teclaLiberada(e){
var carac = String.fromCharCode(e.which);
alert("Você liberou a tecla " + carac);
}
document.onkeyup=teclaLiberada;
document.captureEvents(Event.KEYUP);

</script>

O código dado exibe uma mensagem com o caractere da tecla liberada.

onLoad

Executa um código JavaScript quando o navegador termina o carregamento de uma janela, de todos os quadros dentro de um FRAMESET, de uma imagem. Usado para Image, Layer, window, na forma onLoad="algumaCoisa", onde “algumaCoisa” é uma função ou código de JavaScript.

Se é usado para uma imagem gif animada, é executado para cada parte da animação.

Exemplo 1:

<script language="javascript">

function nomeImagem(img){
alert('Carregada imagem ' + img.name);
}

</sript>

<IMG NAME="foto" SRC="foto.gif" ALIGN="left" BORDER="2" onLoad="nomeImagem(this)">

O código exibe o nome da imagem exibida.

Exemplo 2:

<BODY onLoad="window.alert("Este é o nosso site!")>

O código exibe uma mensagem sempre que um usuário abre a página.

onMouseDown

Executa um código JavaScript quando o usuário pressiona um botão do mouse. Usado para Button, document, Link, na forma onMouseDown="algumaCoisa", onde “algumaCoisa” é uma função ou código de JavaScript.

onMouseMove

Executa um código JavaScript quando o usuário move o cursor com o mouse. Usado na forma onMouseMove="algumaCoisa", onde “algumaCoisa” é uma função ou código de JavaScript.

Notar que não é associado a nenhum evento em particular por ser bastante freqüente.

onMouseOut

Executa um código JavaScript quando o usuário move o cursor de dentro para fora de uma determinada área (mapa de imagem ou link). Usado para Layer, Link, na forma onMouseOut="algumaCoisa", onde “algumaCoisa” é uma função ou código de JavaScript.

onMouseOver

Executa um código JavaScript quando o usuário move o cursor de fora para dentro de uma determinada área (mapa de imagem ou link). Usado para Layer, Link, na forma onMouseOver="algumaCoisa", onde “algumaCoisa” é uma função ou código de JavaScript.

Exemplo:

<A HREF="http://www.abc.com.br/" onMouseOver="window.status='Loja ABC - Tudo para seu micro'; return true">Empresa ABC</A>

O código dado exibe a mensagem na barra de status do navegador sempre que o usuário passa o cursor sobre o link.

onMouseUp

Executa um código JavaScript quando o usuário libera um botão do mouse. Usado para Button, document, Link, na forma onMouseUp="algumaCoisa", onde “algumaCoisa” é uma função ou código de JavaScript.

onMove

Executa um código JavaScript quando o usuário move uma janela. Usado para window, na forma onMove="algumaCoisa", onde “algumaCoisa” é uma função ou código de JavaScript.

onReset

Executa um código JavaScript quando o usuário clica o botão Reset de um formulário. Usado para Form, na forma onReset="algumaCoisa", onde “algumaCoisa” é uma função ou código de JavaScript.

Exemplo:

<FORM NAME="form1" onReset="alert('Considerado meio padrão de envio')">
Meio de envio:
<INPUT TYPE="text" NAME="forma" VALUE="Via aérea" SIZE="2"_>
<INPUT TYPE="reset" NAME="padrao" VALUE="Limpar">
</FORM>

O código dado avisa que o meio padrão será considerado se o usuário clicar no botão “Limpar” do formulário.

onResize

Executa um código JavaScript quando o usuário redimensiona uma janela ou um frame. Usado para window, na forma onResize="algumaCoisa", onde “algumaCoisa” é uma função ou código de JavaScript.

Exemplo:

<script language="javascript">

function abrirJanela(){
var janela;
janela=window.open("janela.htm",null,"width=200, height=200, resizable=yes,  menubar=no, location=no");
janela.captureEvents(Event.RESIZE);
janela.onresize=informar;
}

function informar(){
alert("Janela redimensionada para largura: " + this.outerWidth + "e altura: " +this.outerHeight);
this.focus();
}

</script>

O código dado informa a nova largura e a nova altura sempre que a janela é redimensionada.

onSelect

Executa um código JavaScript quando o usuário seleciona um texto em uma caixa. Usado para Text, Textarea, na forma onSelect="algumaCoisa", onde “algumaCoisa” é uma função ou código de JavaScript.

onSubmit

Executa um código JavaScript quando o usuário clica o botão Submeter de um formulário. Usado para Form, na forma onSubmit="algumaCoisa", onde “algumaCoisa” é uma função ou código de JavaScript.

Exemplo:

<FORM NAME="form1" onSubmit="return verificarDados(this)">
.
.
.
</FORM>

No código dado, a função a ser desenvolvida, “verificarDados(a)”, deve retornar True se os dados são válidos e False caso contrário.

onUnload

Executa um código JavaScript quando o usuário sai da janela. Usado para window, na forma onUnload="algumaCoisa", onde “algumaCoisa” é uma função ou código de JavaScript.

Exemplo:

<BODY onUnload="terminar()">

No código dado, a função a ser desenvolvida, “terminar()”, deve fazer alguma ação que for necessária quando o usuário sair da janela.

fonte: http://www.mspc.eng.br/info/jscriptContrEv.shtml

Funções de Manipulação de Strings em Java Script

Olá novamente!

Estou dando seguimento em uma reprodução de posts do site MSPC – Informações Técnicas. Este que reproduzo agora é referente a Manipulação de Strings em Java Script, um material muito bom para consulta. Recomendo a visita ao site pela qualidade técnica de suas informações.

O objeto Math

É um objeto predefinido, acessado diretamente sem uso de new ou outro método. Exemplo:

Math.abs(y)
.

No caso de várias funções matemáticas, a instrução with evita a repetição da palavra. Exemplo:

with (Math) {
x = cos(a);
y = sin(b);
}

Constantes matemáticas

Nome Descrição Exemplo de uso
E Base dos logaritmos naturais e ≈ 2,718 e = Math.E;
LN10 Logaritmo natural de 10 ≈ 2,302 l10 = Math.LN10;
LN2 Logaritmo natural de 2 ≈ 0,693 l2 = Math.LN2;
LOG10E Logaritmo base 10 de e ≈ 0,434 l10e = Math.LOG10E;
LOG2E Logaritmo base 2 de e ≈ 1,442 l2e = Math.LOG2E;
PI Número π ≈ 3,1416 pi = Math.PI;
SQRT1_2 Raiz quadrada de 0,5 ≈ 0,707 r12 = Math.SQRT1_2;
SQRT2 Raiz quadrada de 2 ≈ 1,414 r2 = Math.SQRT2;

abs

Retorna o valor absoluto de um número (x no exemplo).

Exemplo:

y = Math.abs(x);

acos

Retorna o arco co-seno, em radianos, de um número (x no exemplo). O valor de x deve estar entre -1 e 1. Fora disso, retorna NaN. O resultado é dado na faixa de -π/2 a π/2 radianos.

Exemplo:

y = Math.acos(x);

asin

Retorna o arco seno, em radianos, de um número (x no exemplo). O valor de x deve estar entre -1 e 1. Fora disso, retorna NaN. O resultado é dado na faixa de -π/2 a π/2 radianos.

Exemplo:

y = Math.asin(x);

atan

Retorna o arco tangente, em radianos, de um número (x no exemplo). O resultado é dado na faixa de -π/2 a π/2 radianos.

Exemplo:

y = Math.atan(x);

atan2

Retorna o arco tangente, em radianos, do quociente de dois números (no exemplo, x dividendo e y divisor).  O resultado é dado na faixa de -π/2 a π/2 radianos. Num sistema de coordenadas retangulares, é o ângulo no sentido anti-horário que o segmento de reta da origem até o ponto (x,y) faz com a horizontal. Neste caso, y deve ser o primeiro parâmetro.

Exemplo:

t = Math.atan2(x,y);

ceil

Retorna o menor inteiro maior ou igual ao número dado. Por exemplo: para x = 30.75 retorna 31 e para x = -30.75 retorna -30.

Exemplo:

i = Math.ceil(x);

cos

Retorna o co-seno de um número que representa um ângulo em radianos (x no exemplo). O resultado, conforme definição matemática da função, está na faixa de -1 a 1.

Exemplo:

y = Math.cos(x);

exp

Retorna o número e (base dos logaritmos naturais) elevado ao argumento (x no exemplo).

Exemplo:

y = Math.exp(x);

floor

Retorna o maior inteiro menor ou igual ao número dado. Por exemplo: para x = 30.75 retorna 30 e para x = -30.75 retorna -31.

Exemplo:

i = Math.floor(x);

log

Retorna o logaritmo natural (base e) de um número (x no exemplo). Se x = 0, retorna -Infinity. Se x < 0, retorna NaN porque está fora da faixa.

Exemplo:

y = Math.log(x);

max

Retorna o maior de dois números dados como argumentos (x e y no exemplo).

Exemplo:

m = Math.max(x,y);

min

Retorna o menor de dois números dados como argumentos (x e y no exemplo).

Exemplo:

m = Math.min(x,y);

pow

Retorna a base elevada ao expoente. No exemplo dado abaixo, x é a base e y é o expoente, isto é, p = xy.

Exemplo:

p = Math.pow(x,y);

random

Retorna um número pseudo-aleatório entre 0 e 1. É gerado a partir da hora atual.

Exemplo:

a = Math.random();

round

Retorna o valor de um número arredondado para o inteiro mais próximo. Se a parte fracionária é igual ou maior que 0.5, é arredondado para o inteiro acima. Se é menor que 0.5, é arredondado para o inteiro abaixo.

Exemplo:

r = Math.round(x);

sin

Retorna o seno de um número que representa um ângulo em radianos (x no exemplo). O resultado, conforme definição matemática da função, está na faixa de -1 a 1.

Exemplo:

y = Math.sin(x);

sqrt

Retorna a raiz quadrada do argumento dado (x no exemplo).

Exemplo:

y = Math.sqrt(x);

tan

Retorna a tangente de um número que representa um ângulo em radianos (x no exemplo).

Exemplo:

y = Math.tan(x);

fonte: http://www.mspc.eng.br/info/jscriptString.shtml

Funções Matemáticas em Java Script

Olá pessoal,

Hoje iriei reproduzir um material do site MSPC – Informações Técnicas sobre funções matemáticas do Java Script. O artigo me pareceu muito útil para ser utilizado em consultas futuras. Recomendo a visita neste site.

O objeto Math

É um objeto predefinido, acessado diretamente sem uso de new ou outro método. Exemplo:

Math.abs(y)
.No caso de várias funções matemáticas, a instrução with evita a repetição da palavra. Exemplo:

with (Math) {
x = cos(a);
y = sin(b);
}

Constantes matemáticas

Nome Descrição Exemplo de uso
E Base dos logaritmos naturais e ≈ 2,718 e = Math.E;
LN10 Logaritmo natural de 10 ≈ 2,302 l10 = Math.LN10;
LN2 Logaritmo natural de 2 ≈ 0,693 l2 = Math.LN2;
LOG10E Logaritmo base 10 de e ≈ 0,434 l10e = Math.LOG10E;
LOG2E Logaritmo base 2 de e ≈ 1,442 l2e = Math.LOG2E;
PI Número π ≈ 3,1416 pi = Math.PI;
SQRT1_2 Raiz quadrada de 0,5 ≈ 0,707 r12 = Math.SQRT1_2;
SQRT2 Raiz quadrada de 2 ≈ 1,414 r2 = Math.SQRT2;

abs

Retorna o valor absoluto de um número (x no exemplo).Exemplo:

y = Math.abs(x);

acos

Retorna o arco co-seno, em radianos, de um número (x no exemplo). O valor de x deve estar entre -1 e 1. Fora disso, retorna NaN. O resultado é dado na faixa de -π/2 a π/2 radianos.Exemplo:

y = Math.acos(x);

asin

Retorna o arco seno, em radianos, de um número (x no exemplo). O valor de x deve estar entre -1 e 1. Fora disso, retorna NaN. O resultado é dado na faixa de -π/2 a π/2 radianos.Exemplo:

y = Math.asin(x);

atan

Retorna o arco tangente, em radianos, de um número (x no exemplo). O resultado é dado na faixa de -π/2 a π/2 radianos.Exemplo:

y = Math.atan(x);

atan2

TopoFim
Retorna o arco tangente, em radianos, do quociente de dois números (no exemplo, x dividendo e y divisor).  O resultado é dado na faixa de -π/2 a π/2 radianos. Num sistema de coordenadas retangulares, é o ângulo no sentido anti-horário que o segmento de reta da origem até o ponto (x,y) faz com a horizontal. Neste caso, y deve ser o primeiro parâmetro.Exemplo:

t = Math.atan2(x,y);

ceil

Retorna o menor inteiro maior ou igual ao número dado. Por exemplo: para x = 30.75 retorna 31 e para x = -30.75 retorna -30.Exemplo:

i = Math.ceil(x);

cos

Retorna o co-seno de um número que representa um ângulo em radianos (x no exemplo). O resultado, conforme definição matemática da função, está na faixa de -1 a 1.Exemplo:

y = Math.cos(x);

exp

Retorna o número e (base dos logaritmos naturais) elevado ao argumento (x no exemplo).Exemplo:

y = Math.exp(x);

floor

Retorna o maior inteiro menor ou igual ao número dado. Por exemplo: para x = 30.75 retorna 30 e para x = -30.75 retorna -31.Exemplo:

i = Math.floor(x);

log

Retorna o logaritmo natural (base e) de um número (x no exemplo). Se x = 0, retorna -Infinity. Se x < 0, retorna NaN porque está fora da faixa.Exemplo:

y = Math.log(x);

max

Retorna o maior de dois números dados como argumentos (x e y no exemplo).Exemplo:

m = Math.max(x,y);

min

Retorna o menor de dois números dados como argumentos (x e y no exemplo).Exemplo:

m = Math.min(x,y);

pow

Retorna a base elevada ao expoente. No exemplo dado abaixo, x é a base e y é o expoente, isto é, p = xy.Exemplo:

p = Math.pow(x,y);

random

Retorna um número pseudo-aleatório entre 0 e 1. É gerado a partir da hora atual.Exemplo:

a = Math.random();

round

Retorna o valor de um número arredondado para o inteiro mais próximo. Se a parte fracionária é igual ou maior que 0.5, é arredondado para o inteiro acima. Se é menor que 0.5, é arredondado para o inteiro abaixo.Exemplo:

r = Math.round(x);

sin

Retorna o seno de um número que representa um ângulo em radianos (x no exemplo). O resultado, conforme definição matemática da função, está na faixa de -1 a 1.Exemplo:

y = Math.sin(x);

sqrt

Retorna a raiz quadrada do argumento dado (x no exemplo).Exemplo:

y = Math.sqrt(x);

tan

Retorna a tangente de um número que representa um ângulo em radianos (x no exemplo).Exemplo:

y = Math.tan(x);

fonte: http://www.mspc.eng.br/info/jscriptMath.shtml

Instalando e Configurando o Maven no Eclipse para trabalhar com TDD utilizando Junit (para leigos)

Hello!

Hoje tenho que deixar uma configuração básica do Maven e Junit para rodarmos os nossos testes de TDD  (Test Driven Development). Bem, eu aproveitei e escrevi “para leigos” no final da chamada porque como muitos, me considero um leigo, sendo assim ser leigo é apenas um estado de espírito e isso diz tudo sobre o que sinto agora.

Percorri vários tutoriais na net e muitas vezes em que fui implementar os projetos do Maven com JUnit estava dando vários erros, então resolvi fazer um tutorial bem mastigado.

– Baixe o Maven no site do Maven.

Entre no link e baixe http://maven.apache.org a última versão do Maven.

conf01_apacha_maven

Eu decidi baixar a versão zip, portanto faça o mesmo.

– Descompactando o conteúdo do pacote

Descompacte o conteúdo do pacote para dentro de c:\ (no meu caso o Apache Maven está na versão 3.3.3, portanto saiba que esta versão pode variar). No meu caso ficou assim: c:\apache-maven-3.3.3.

– Configurando o Maven

No decorrer deste tutorial você deverá ver que baseei no passo a passo do Luiz Ricardo do site State of Art, mas fiz algumas modificações para ir somente ao que interessa para nós.

Crie um diretório chamado repositorio dentro da pasta c:\apache-maven-3.3.3.  E também pasta do Maven, existe um diretório chamado conf, pois bem, entre dentro dele, abra o arquivo settings.xml e descomente a linha onde está escrito <LocalRepository> e dentro dele coloque algo como está abaixo (lembrando que eu não sei qual será a versão do Maven que você está usando e por isso coloque do jeito que está escrito na sua pasta).


<localRepository>c:\apache-maven-3.3.3\repositorio</localRepository>

Segundo o site da referência, se é apenas um usuário que acessa determinada máquina não há problema em direcionar o repositório para um local em específico.

– Configurando as variáveis de ambiente

Pois bem, eu já escrevi um tutorial ensinando à todos como criar variáveis de ambiente no Linux e no Windows, portanto utilize o método do Windows contido neste tutorial, só que primeiro você deve criar uma usando o botão Novo (em Painel de Controle > Sistema > Configurações Avançadas do Sistema > Variáveis de Ambiente > Variáveis de Sistema > Novo)  e criar uma variável com o seguinte nome e conteúdo:

Onde está escrito Nome da Variável, M2_HOME e onde pede o Valor da Variável digite c:\apache-maven-3.3.3 que é o caminho de seu Apache Maven.

E agora sim, você pode seguir o tutorial de como configurar o Path da sua máquina a que me refiro logo acima, acrescentando o valor ;%M2_HOME%\bin ao final do Path do Windows.

Conferindo

Depois de ter feito o procedimento, abra o console do Windows (se for o terminal do Linux é bom reiniciar antes ou digitar /etc/source/profile de executar o comando) e digite mvn -version e verifique se está parecido como algo abaixo:

conf02_prompt

Na imagem acima dá pra ver mais ou menos o que vai aparecer para você.

– Configurando o Maven no Eclipse

Ao invés de ir até o Eclipse Marketplace, iremos em Help > Install New Software e coloco o endereço do repositório do Maven (http://download.eclipse.org/technology/m2e/releases):

conf03_repositoriomaven

E mando baixar. Se ele pedir para reiniciar, reinicie sempre.

– Configurando a instalação do Maven

Siga em Window > Preferences > Maven > Installations e na caixa onde está informada a versão do Maven já configurada no Eclipse, desmarque-a e clique em Add para adicionar o diretório que está instalado o nosso Maven.

conf04_repositoriomaven

Agora, em User Settings, altere o campo User Settings para o arquivo settings.xml que configuramos anteriormente.

conf05_usersettins

– Criando o nosso projeto Maven

Bem, para criar um projeto teste eu vou pegar o projeto da calculadora que meu professor fez (este código não é meu). Vamos lá, File > New > Other > Maven > Maven Project.

conf06_newproject

Marque para criarmos um projeto simples (Create a simple project).

conf07_newproject2

Agora, no quadro abaixo vou marcar da seguinte maneira:

  • Group Id: com.wordpress.mastigado
  • Artificat Id: calculadora
  • Name: Calculadora
  • Description: Calculadora teste para Maven

 

conf08_newproject3

Depois de criado o projeto, abra o arquivo pom.xml e adicione as linhas abaixo logo abaixo da tag description e salve o arquivo.


<dependencies>
       <dependency>
            <groupId>junit</groupId>
                    <artifactId>junit</artifactId>
                    <version>4.8.2</version>
            <scope>test</scope>
      </dependency>
 </dependencies>

 

conf09_pomxml

– Crie um pacote com o nome com.wordpress.mastigado.calculadora dentro de de src/main/java.

conf10_criacaopacote

E depois um chamado com.wordpress.mastigado.calculadora.test dentro de src/test/java.

conf11_criacaopacotetest

– Crie uma interface chamada Calculadora dentro de src/main/java.

conf12_criacaointerfaceEm seguida, coloque o código abaixo dentro da interface


package com.wordpress.mastigado.calculadora;

public interface Calculadora {
   public int soma (int primeiro, int segundo);
   public int subtracao (int primeiro, int segundo);
   public int multiplicacao (int valor, int vezes);
   public int divisao (int numerador, int divisor) throws ArithmeticException;
}

10º – Agora crie uma classe chamada AplCalculadora também dentro de src/main/java.


package com.wordpress.mastigado.calculadora;

public class AplCalculadora implements Calculadora {

  public int soma(int primeiro, int segundo) {
     return primeiro + segundo;
  }

  public int subtracao(int primeiro, int segundo) {
     return primeiro - segundo;
  }

  public int multiplicacao(int valor, int vezes) {
     return valor * vezes;
  }

  public int divisao(int numerador, int divisor) throws ArithmeticException { 

   if (divisor == 0) {
      throw new ArithmeticException("Divisão por zero");
   }

   return numerador / divisor;
 }
}

11º – Crie a classe CalculadoraTest.java dentro de src/test/java e coloque o conteúdo abaixo dentro dela.

package com.wordpress.mastigado.calculadora.test;

import com.wordpress.mastigado.calculadora.AplCalculadora;
import com.wordpress.mastigado.calculadora.Calculadora;

import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;

public class CalculadoraTest {

private Calculadora calculadora;

 private final int VALOR1 = 10;
 private final int VALOR2 = 20;

 private final int VEZES = 10;

 private final int RESULTADOSOMA = 30;
 private final int RESULTADOMULT = 100;
 private final int RESULTADODIV = 2;

 private final int ZERO = 0;

 @Before
 public void before()
 {
    calculadora = new AplCalculadora();
 }

 @Test
 public void soma()
 {
    int resultado = calculadora.soma(VALOR1, VALOR2);
    //Verificando se o objeto não é nulo
    Assert.assertNotNull(resultado);
    //Verificando se a soma esta correta
    Assert.assertEquals(RESULTADOSOMA, resultado);
    //Verificando se o resultado é maior que 0
    Assert.assertFalse(resultado < 0);
 }

 @Test
 public void subtracao()
 {
    int resultado = calculadora.subtracao(VALOR2, VALOR1);
    //Verificando se o objeto não é nulo
    Assert.assertNotNull(resultado);
    //Verificando se a soma está correta
    Assert.assertEquals(VALOR1, resultado);
    //Verificando se o resultado é maior que 0
    Assert.assertFalse(resultado < 0);
 }

 @Test
 public void multiplicacao()
 {
    int resultado = calculadora.multiplicacao(VALOR1, VEZES);
    //Verificando se o objeto não é nulo
    Assert.assertNotNull(resultado);
    //Verificando se a soma está correta
    Assert.assertEquals(RESULTADOMULT, resultado);
    //Verificando se o resultado é maior que 0
    Assert.assertFalse(resultado < 0);
 }

 @Test
 public void multiplicacaoporzero()
 {
    int resultado = calculadora.multiplicacao(VALOR1, ZERO);
    //Verificando se o objeto não é nulo
    Assert.assertNotNull(resultado);
    //Verificando se a soma está correta
    Assert.assertEquals(ZERO, resultado);
    //Verificando se o resultado é maior que 0
    Assert.assertTrue(resultado == 0);
 }

 @Test
 public void divisao()
 {
    int resultado = calculadora.divisao(VALOR2, VALOR1);
    //Verificando se o objeto não é nulo
    Assert.assertNotNull(resultado);
    //Verificando se a soma está correta
    Assert.assertEquals(RESULTADODIV, resultado);
    //Verificando se o resultado é maior que 0
    Assert.assertFalse(resultado < 0);
 }

 @Test (expected = ArithmeticException.class)
 public void divisaoporzero()
 {
    calculadora.divisao(VALOR1, ZERO);
 } 

}

12º – Configurando o comando para seu JDK chamar o Maven.

Vá em Window > Preferences > Java > Installed JREs e clique em Add para adicionar a JDK do Java que irá compilar o seu projeto e em seguida, desmarque a JRE abaixo.
conf15_confmaven
Pois é, um dos erros que me perseguiu foi um parâmetro que eu não havia colocado e que está no screenshot acima. Ao marcar a JDK clique em Edit para adicionar a linha abaixo no campo Default VM arguments.

-Dmaven.multiModuleProjectDirectory=$M2_HOME

13º – E para finalizar, clique com botão direito em cima do seu projeto e em seguida Run As > JUnit Test.

conf16_junit

fonte: https://mastigado.wordpress.com

Sobre o plugin M2 para Eclipse

fonte: http://eclipse.org/m2e/index.html

Para maiores detalhes sobre o porque de seu utilizar o Maven consulte o blog abaixo.

fonte: http://luizricardo.org/2014/06/instalando-configurando-e-usando-o-maven-para-gerenciar-suas-dependencias-e-seus-projetos-java/

Adicionar transparência no terminal do Debian 8 (Jessie)

Olá pessoal!

Depois de ter atualizado o meu Debian do Whezzy para o Jessie, encontrei várias surpresas agradáveis e poucas desagradáveis. Em uma discussão recente com um amigo, chegamos a conclusão de que o KDE que havia se modernizado frente a um Gnome 2 que viveu na mesmice durante tantos anos, hoje pode ser considerado morto diante de um “Gnomo” que não para de evoluir. E por conta disso, a cada atualização, surgem novidades e bugs como este a que me refiro no título.

Depois de muito vasculhar na net e descobrir que não é de hoje que os caras cometeram a gafe de retirar a transparência do terminal do Debian, encontrei uma solução que certamente resolveu o meu problema.

Entrei na página de bugs do Gnome e estava lá a sugestão para desinstalar o gnome terminal (coisa que eu não fiz e não vou fazer, pois gosto no meu “gnominho”) e instalar o lxterminal. Para instalar é bem simples, abra um terminal logado com root e digite:

apt-get install lxterminal

Depois é só abrir o lxterminal e ir em Editar > Preferências > Estilo > Plano de Fundo e alterar o nível de opacidade

terminalopoacidade

Depois é só curtir o resultado e respirar aliviado sabendo que seu terminal transparente ainda vive.

terminaltransparencia

fonte: https://mastigado.wordpress.com

fonte: https://bugzilla.gnome.org/show_bug.cgi?id=695371#c57

E claro! Vou deixar também o link de um cara muito chateado com este bug:

http://worldofgnome.org/get-the-transparency-back-to-terminal-the-horrible-way/

Seguir

Obtenha todo post novo entregue na sua caixa de entrada.

%d blogueiros gostam disto: