Ir para conteúdo
Faça parte da equipe! (2024) ×
Conheça nossa Beta Zone! Novas áreas a caminho! ×
  • Quem está por aqui   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.

Coceito de Java


TITOCOrox*
 Compartilhar

Posts Recomendados

O Java ÃÆ’© uma linguagem de programaÃÆ’ÂÂ§ÃÆ’£o multiplataforma, com uma sintaxe atÃÆ’© certo ponto parecida com o C++, porÃÆ’©m com bibliotecas diferentes. Os programas em Java podem ser executados em qualquer sistema operacional, desde que o interpretador esteja instalado.

 

A JVM ÃÆ’© um programa que converte o cÃÆ’³digo Java em comandos que o sistema operacional possa executar. Existem mÃÆ’¡quinas virtuais para vÃÆ’¡rios sistemas operacionais: o problema ÃÆ’© que, devido ao processamento executado pela mÃÆ’¡quina virtual, o programa torna-se mais pesado do que seria caso escrito diretamente para a plataforma.

Um exemplo de programa desenvolvido desta forma ÃÆ’© o Mercury (um cliente MSN com versÃÆ’µes para Linux e Windows, um dos primeiros a oferecer suporte a webcam e por isso bastante famoso). Embora o cÃÆ’³digo fonte do programa seja relativamente simples e bem escrito, ele ÃÆ’© bem mais pesado que outros programas similares, por causa da mÃÆ’¡quina virtual.

 

Explicando de forma mais elaborada, linguagens de programaÃÆ’ÂÂ§ÃÆ’£o "tradicionais", como o C e o C++, utilizam um compilador diferente para cada plataforma ou sistema operacional em que o programa irÃÆ’¡ rodar. O cÃÆ’³digo fonte em si pode ser escrito de forma a ser facilmente portÃÆ’¡vel, ou seja, rodar em diferentes versÃÆ’µes do Unix ou em vÃÆ’¡rias famÃÆ’­lias de processadores diferentes sem muitas alteraÃÆ’ÂÂ§ÃÆ’µes, mas ainda assim serÃÆ’¡ necessÃÆ’¡rio recompilar o cÃÆ’³digo fonte, gerando um binÃÆ’¡rio diferente para cada caso.

 

Embora o trabalho inicial seja maior, a vantagem desta abordagem ÃÆ’© que o desempenho ÃÆ’© o melhor possÃÆ’­vel, jÃÆ’¡ que sempre teremos um programa binÃÆ’¡rio otimizado para a plataforma.

 

O Java utiliza um conceito diferente. Ao invÃÆ’©s de gerar um binÃÆ’¡rio diferente para cada plataforma, ÃÆ’© gerado um binÃÆ’¡rio que pode ser executado em qualquer plataforma, dentro de uma mÃÆ’¡quina virtual. Este binÃÆ’¡rio "universal" ÃÆ’© chamado de bytecode.

 

A idÃÆ’©ia ÃÆ’© criar aplicativos que possam ser escritos uma vez e a partir daÃÆ’­ serem executados em qualquer plataforma, reduzindo os custos de desenvolvimento. Apenas o software da mÃÆ’¡quina virtual ÃÆ’© que precisa ser reescrito para cada plataforma, mas isso ÃÆ’© problema dos desenvolvedores da linguagem, nÃÆ’£o do programador.

 

Existe ainda a opÃÆ’ÂÂ§ÃÆ’£o de abrir mÃÆ’£o da flexibilidade do bytecode em troca de um maior desempenho, passando a compilar os programas com otimizaÃÆ’ÂÂ§ÃÆ’µes para uma determinada plataforma. Isso ÃÆ’© muito ÃÆ’ºtil quando o programa serÃÆ’¡ executado apenas dentro de computadores de uma certa plataforma, como PCs rodando Linux, por exemplo.

 

No caso do Java, a mÃÆ’¡quina virtual que executa os programas ÃÆ’© chamada de Java Virtual Machine. Muitas pÃÆ’¡ginas web utilizam applets Java, por isso a maioria das pessoas acaba instalando o suporte a Java. Hoje em dia, alÃÆ’©m do Java da Sun, temos versÃÆ’µes alternativas, como o Blackdown e o Kofee, que possuem conjuntos de recursos variados, mas sÃÆ’£o a princÃÆ’­pio compatÃÆ’­veis com o cÃÆ’³digo gerado para o Java da Sun.

 

Embora tenha ganhado relevÃÆ’¢ncia com o Java, este conceito nÃÆ’£o ÃÆ’© exatamente novo. Linguagens mais antigas como o LISP e o Prolog jÃÆ’¡ utilizam bytecode e mÃÆ’¡quinas virtuais.

 

BY - TITOCOrox*

Link para o comentário
Compartilhar em outros sites

Re.: Coceito de Java

 

manu gostei geral o q precisamus aki no forum e de apensa ensinamentos para q as pessoas possam apenas descobrir as coisas sozinhas mais c vc entregar tudo de mÃÆ’£o beijada pra elas, elas nunk vaum crescer mentalmente e vaum continuar sendo "lammers" mais vc tipow ajuda a entender o q he java e tipow a partir dai pod se comeÃÆ’§ar a trabalhar com ele se interessar estudar ao inves de fikar comprando revistas hackers e sites e talz!! aff.. flw man seu post tbm ta nota 1000

 

me add no msn aew [email protected]

Link para o comentário
Compartilhar em outros sites

Re.: Coceito de Java

 

Bah...Mal ae confundi mesmo...

Mais jÃÆ’¡ que ta aqui num vou apagar quem quiser ta ae JAVASCRIPT.

 

 

INTRODUÃÆ’ââ‚¬Â¡ÃÆ’Æ’O

JavaScript ÃÆ’© uma linguagem que permite injetar lÃÆ’³gica em pÃÆ’¡ginas escritas em HTML (HiperText Mark-up Language). As pÃÆ’¡ginas HTML podem ser escritas utilizando-se editores de texto, como

o NotePad, Write, etc. PorÃÆ’©m, existem editores prÃÆ’³prios para gerar HTML, tais como HotDog e

(mais recomendado) Microsoft FrontPage.

Os parÃÆ’¡grafos de lÃÆ’³gica do javaScript podem estar "soltos" ou atrelados a ocorrÃÆ’ªncia de eventos.

Os parÃÆ’¡grafos soltos sÃÆ’£o executados na sequÃÆ’ªncia em que aparecem na pÃÆ’¡gina (documento) e os

atrelados a eventos sÃÆ’£o executados apenas quando o evento ocorre.

Para inserir parÃÆ’¡grafos de programaÃÆ’ÂÂ§ÃÆ’£o dentro do HTML ÃÆ’© necessÃÆ’¡rio identificar o inÃÆ’­cio e o

fim do set de JavaScript, da seguinte forma:

<SCRIPT>

Set de instruÃÆ’ÂÂ§ÃÆ’µes

</SCRIPT>

Este procedimento pode ser adotado em qualquer local da pÃÆ’¡gina. Entretanto, para melhor visualizaÃÆ’ÂÂ§ÃÆ’£o e facilidade de manutenÃÆ’ÂÂ§ÃÆ’£o, recomenda-se que toda a lÃÆ’³gica seja escrita no inÃÆ’­cio

do documento, atravÃÆ’©s da criaÃÆ’ÂÂ§ÃÆ’£o de funÃÆ’ÂÂ§ÃÆ’µes a serem invocadas quando se fizer necessÃÆ’¡rio (normalmente atreladas a eventos).

Se a lÃÆ’³gica ÃÆ’© escrita a partir de um determinado evento, nÃÆ’£o ÃÆ’© necessÃÆ’¡rio o uso dos comandos <SCRIPT> e </SCRIPT>.

Os comandos JavaScript sÃÆ’£o sensÃÆ’­veis ao tipo de letra (maiÃÆ’ºsculas e minÃÆ’ºsculas) em sua sintaxe.

Portanto, ÃÆ’© necessÃÆ’¡rio que seja obedecida a forma de escrever os comandos, de acordo com

a forma apresentada ao longo deste manual. Caso seja cometido algum erro de sintaxe quando

da escrita de um comando, o JavaScript interpretarÃÆ’¡, o que seria um comando, como sendo o

nome de uma variÃÆ’¡vel.

 

 

OPERADORES LÃÆ’“GICOS

SÃÆ’£o operadores a serem utilizados em comandos condicionais, tais como: IF , FOR e WHILE.

Os comandos condicionais serÃÆ’£o vistos mais a frente.

= = Igual

!= Diferente

> Maior

>= Maior ou Igual

< Menor

<= Menor ou Igual

&& E

 

 

 

OPERADORES MATEMÃÆ’ÂÂTICOS

SÃÆ’£o operadores a serem utilizados em cÃÆ’¡lculos, referÃÆ’ªncias de indexadores e manuseio de strings.

Ao longo do manual estes operadores serÃÆ’£o largamente utilizados, dando, assim, uma noÃÆ’ÂÂ§ÃÆ’£o mais

precisa do seu potencial.

+ adiÃÆ’ÂÂ§ÃÆ’£o de valor e concatenaÃÆ’ÂÂ§ÃÆ’£o de strings

- subtraÃÆ’ÂÂ§ÃÆ’£o de valores

* multiplicaÃÆ’ÂÂ§ÃÆ’£o de valores

/ divisÃÆ’£o de valores

% obtem o resto de uma divisÃÆ’£o:

Ex: 150 % 13 retornarÃÆ’¡ 7

7 % 3 retornarÃÆ’¡ 1

+= concatena /adiciona ao string/valor jÃÆ’¡ existente. Ou seja:

x += y ÃÆ’© o mesmo que x = x + y

da mesma forma podem ser utilizados: -= , *= , /= ou %=

Um contador pode ser simplificado utilizando-se : X++ ou X-- o que equivale as expressÃÆ’µes:

X = X + 1 ou X = X - 1 respectivamente.

Para inverter sinal: X = -X negativo para positivo ou positivo para negativo.

 

 

CONTROLES ESPECIAIS

b - backspace

f - form feed

n - new line caracters

r - carriage return

t - tab characters

// - Linha de comentÃÆ’¡rio

/*....*/ - Delimitadores para inserir um texto com mais de uma linha como comentÃÆ’¡rio.

Os delimitadores naturais para uma string sÃÆ’£o " ou ' . Caso seja necessÃÆ’¡rio a utilizaÃÆ’ÂÂ§ÃÆ’£o destes caracteres como parte da string, utilize precedendo " ou '.

Ex. alert ("Cuidado com o uso de " ou ' em uma string")

 

 

COMANDOS CONDICIONAIS

SÃÆ’£o comandos que condicionam a execuÃÆ’ÂÂ§ÃÆ’£o de uma certa tarefa ÃÆ’  veracidade ou nÃÆ’£o de uma

determinada condiÃÆ’ÂÂ§ÃÆ’£o, ou enquanto determinada condiÃÆ’ÂÂ§ÃÆ’£o for verdadeira.

SÃÆ’£o eles:

Comando IF

if (condiÃÆ’ÂÂ§ÃÆ’£o)

{ aÃÆ’ÂÂ§ÃÆ’£o para condiÃÆ’ÂÂ§ÃÆ’£o satisfeita }

[ else

{ aÃÆ’ÂÂ§ÃÆ’£o para condiÃÆ’ÂÂ§ÃÆ’£o nÃÆ’£o satisfeita } ]

Ex.

if (Idade < 18 )

{Categoria = "Menor" }

else

{Categoria = "Maior"}

Comando FOR

for ( [inicializaÃÆ’ÂÂ§ÃÆ’£o/criaÃÆ’ÂÂ§ÃÆ’£o de variÃÆ’¡vel de controle ;]

[condiÃÆ’ÂÂ§ÃÆ’£o ;]

[incremento da variÃÆ’¡vel de controle] )

{ aÃÆ’ÂÂ§ÃÆ’£o }

Ex.

for (x = 0 ; x <= 10 ; x++)

{alert ("X igual a " + x) }

ComandoWHILE

Executa uma aÃÆ’ÂÂ§ÃÆ’£o enquanto determinada condiÃÆ’ÂÂ§ÃÆ’£o for verdadeira.

while (condiÃÆ’ÂÂ§ÃÆ’£o)

{ aÃÆ’ÂÂ§ÃÆ’£o }

Ex.

var contador = 10

while (contador > 1)

{ contador-- }

Move condicional

receptor = ( (condiÃÆ’ÂÂ§ÃÆ’£o) ? verdadeiro : falso)

Ex.

NomeSexo = ((VarSexo == "M") ? "Masculino" : "Feminino")

OBS:

Nos comandos FOR e WHILE a diretiva "break" pode ser utilizada para interromper a

condiÃÆ’ÂÂ§ÃÆ’£o principal e sair do loop. Da mesma forma, a diretiva "continue" interrompe uma

aÃÆ’ÂÂ§ÃÆ’£o (se determinada condiÃÆ’ÂÂ§ÃÆ’£o ocorrer) mas volta para o loop.

Diretivas/condiÃÆ’ÂÂ§ÃÆ’µes entre [ ] significam que sÃÆ’£o opcionais.

 

 

EVENTOS

SÃÆ’£o fatos que ocorrem durante a execuÃÆ’ÂÂ§ÃÆ’£o do sistema, a partir dos quais o programador pode

definir aÃÆ’ÂÂ§ÃÆ’µes a serem realizadas pelo programa.

Abaixo apresentamos a lista dos eventos possÃÆ’­veis, indicando os momentos em que os mesmos

podem ocorrer, bem como, os objetos passÃÆ’­veis de sua ocorrÃÆ’ªncia.

onload - Ocorre na carga do documento. Ou seja, sÃÆ’³ ocorre no BODY do documento.

onunload - Ocorre na descarga (saÃÆ’­da) do documento. TambÃÆ’©m sÃÆ’³ ocorre no BODY.

onchange - Ocorre quando o objeto perde o focus e houve mudanÃÆ’§a de conteÃÆ’ºdo.

vÃÆ’¡lido para os objetos Text, Select e Textarea.

onblur - Ocorre quando o objeto perde o focus, independente de ter havido mudanÃÆ’§a.

vÃÆ’¡lido para os objetos Text, Select e Textarea.

onfocus - Ocorre quando o objeto recebe o focus.

vÃÆ’¡lido para os objetos Text, Select e Textarea.

onclick - Ocorre quando o objeto recebe um Click do Mouse.

vÃÆ’¡lido para os objetos Buton, Checkbox, Radio, Link, Reset e Submit.

onmouseover - Ocorre quando o ponteiro do mouse passa por sobre o objeto.

vÃÆ’¡lido apenas para Link.

onselect - Ocorre quando o objeto ÃÆ’© selecionado.

vÃÆ’¡lido para os objetos Text e Textarea.

onsubmit - Ocorre quando um botÃÆ’£o tipo Submit recebe um click do mouse.

vÃÆ’¡lido apenas para o Form.

 

 

CRIANDO VARIÃÆ’ÂÂVEIS

A variÃÆ’¡vel ÃÆ’© criada automaticamente, pela simples associaÃÆ’ÂÂ§ÃÆ’£o de valores a mesma.

Ex. NovaVariavel = "Jose"

Foi criada a variÃÆ’¡vel de nome NovaVariavel que, passou a conter a string Jose.

As variÃÆ’¡veis podem ser Locais ou Globais. As variÃÆ’¡veis que sÃÆ’£o criadas dentro de uma funÃÆ’ÂÂ§ÃÆ’£o sÃÆ’£o Locais e referenciÃÆ’¡veis apenas dentro da funÃÆ’ÂÂ§ÃÆ’£o. As variÃÆ’¡veis criadas fora de funÃÆ’ÂÂ§ÃÆ’µes sÃÆ’£o Globais, podendo serem referenciadas em qualquer parte do documento.

Desta forma, variÃÆ’¡veis que precisam ser referenciadas por vÃÆ’¡rias funÃÆ’ÂÂ§ÃÆ’µes ou em outra parte do documento, precisam ser definidas como globais.

Embora nÃÆ’£o seja recomendÃÆ’¡vel, em uma funÃÆ’ÂÂ§ÃÆ’£o, pode ser definida uma variÃÆ’¡vel local com o mesmo nome de uma variÃÆ’¡vel global. Para isso utiliza-se o mÃÆ’©todo de definiÃÆ’ÂÂ§ÃÆ’£o var.

Ex. VariÃÆ’¡vel Global : MinhaVariavel = ""

VariÃÆ’¡vel Local : var MinhaVariavel = ""

 

 

ESCREVENDO NO DOCUMENTO

O JavaScript permite que o programador escreva linhas dentro de uma pÃÆ’¡gina (documento),

atravÃÆ’©s do mÃÆ’©todo write. As linhas escritas desta forma, podem conter textos, expressÃÆ’µes

JavaScript e comandos Html. As linhas escritas atravÃÆ’©s deste mÃÆ’©todo aparecerÃÆ’£o no ponto

da tela onde o comando for inserido.

Ex:

<script>

valor = 30

document.write ("Minha primeira linha")

document.write ("Nesta linha aparecerÃÆ’¡ o resultado de : " + (10 * 10 + valor))

</script>

A idÃÆ’©ia do exemplo acima ÃÆ’© escrever duas linhas. Entretanto o mÃÆ’©todo write nÃÆ’£o insere mudanÃÆ’§a de linha, o que provocarÃÆ’¡ o aparecimento de apenas uma linha com os dois textos emendados.

Para evitar este tipo de ocorrÃÆ’ªncia, existe o mÃÆ’©todo writeln que escreve uma linha e espaceja para a seguinte. Entretanto, em nossos testes, este comando nÃÆ’£o surtiu efeito,obtendo-se o mesmo resultado do mÃÆ’©todo write. A soluÃÆ’ÂÂ§ÃÆ’£o encontrada para esta situaÃÆ’ÂÂ§ÃÆ’£o foi a utilizaÃÆ’ÂÂ§ÃÆ’£o do comando de mudanÃÆ’§a de parÃÆ’¡grafo da linguagem Html.

Ex:

<script>

valor = 30

document.write ("

 

Minha primeira linha</p>")

document.write ("

 

Nesta linha aparecerÃÆ’¡ o resultado de : " + (10 * 10 + valor) + "</p>")

</script>

Isto resolve a questÃÆ’£o da mudanÃÆ’§a de linha, porÃÆ’©m, vai gerar uma linha em branco, entre cada linha, por se tratar de mudanÃÆ’§a de parÃÆ’¡grafo. Caso nÃÆ’£o seja desejado a existÃÆ’ªncia da linha em branco, a alternativa ÃÆ’© utilizar o comando Html

que apenas muda de linha.

Ex:

<script>

valor = 30

document.write ("

Minha primeira linha")

document.write ("

Nesta linha aparecerÃÆ’¡ o resultado de : " + (10 * 10 + valor) )

</script>

 

 

MENSAGENS

Existem trÃÆ’ªs formas de comunicaÃÆ’ÂÂ§ÃÆ’£o com o usuÃÆ’¡rio atravÃÆ’©s de mensagens.

Apenas ObservaÃÆ’ÂÂ§ÃÆ’£o.

alert ( mensagem )

Ex.

alert ("Certifique-se de que as informaÃÆ’ÂÂ§ÃÆ’µes estÃÆ’£o corretas")

Mensagem que retorna confirmaÃÆ’ÂÂ§ÃÆ’£o de OK ou CANCELAR

confirm (mensagem)

Ex.

if (confirm ("Algo estÃÆ’¡ errado...devo continuar??"))

{ alert("Continuando") }

else

{ alert("Parando") }

Recebe mensagem via caixa de texto Input

Receptor = prompt ("Minha mensagem", "Meu texto")

Onde:

Receptor ÃÆ’© o campo que vai receber a informaÃÆ’ÂÂ§ÃÆ’£o digitada pelo usuÃÆ’¡rio

Minha mensagem ÃÆ’© a mensagem que vai aparecer como Label da caixa de input

Meu texto ÃÆ’© um texto, opcional, que aparecerÃÆ’¡ na linha de digitaÃÆ’ÂÂ§ÃÆ’£o do usuÃÆ’¡rio

Ex.

Entrada = prompt("Informe uma expressÃÆ’£o matemÃÆ’¡tica", "")

Resultado = eval(Entrada)

document.write("O resultado ÃÆ’© = " + Resultado)

 

 

CRIANDO FUNÃÆ’ââ‚¬Â¡ÃÆ’•ES

Uma funÃÆ’ÂÂ§ÃÆ’£o ÃÆ’© um set de instruÃÆ’ÂÂ§ÃÆ’µes, que sÃÆ’³ devem ser executadas quando a funÃÆ’ÂÂ§ÃÆ’£o for acionada.

A sintaxe geral ÃÆ’© a seguinte:

function NomeFunÃÆ’ÂÂ§ÃÆ’£o (ParÃÆ’¢metros)

{ AÃÆ’ÂÂ§ÃÆ’£o }

Suponha uma funÃÆ’ÂÂ§ÃÆ’£o que tenha como objetivo informar se uma pessoa ÃÆ’© maior ou menor de idade, recebendo como parÃÆ’¢metro a sua idade.

function Idade (Anos) {

if (Anos > 17)

{ alert ("Maior de Idade") }

else

{ alert ("menor de Idade") }

}

Para acionar esta funÃÆ’ÂÂ§ÃÆ’£o, suponha uma caixa de texto, em um formulÃÆ’¡rio, na qual seja informada a idade e, a cada informaÃÆ’ÂÂ§ÃÆ’£o, a funÃÆ’ÂÂ§ÃÆ’£o seja acionada.

<form>

<input type=text size=2 maxlength=2 name="Tempo"

onchange="Idade(Tempo.value)">

</form>

Observe-se que o parÃÆ’¢metro passado (quando ocorre o evento "onchange")

foi o conteÃÆ’ºdo da caixa de texto "Tempo" (propriedade "value") e que,

na funÃÆ’ÂÂ§ÃÆ’£o, chamamos de "Anos". Ou seja, nÃÆ’£o existe co-relaÃÆ’ÂÂ§ÃÆ’£o entre o

nome da variÃÆ’¡vel passada e a variÃÆ’¡vel de recepÃÆ’ÂÂ§ÃÆ’£o na funÃÆ’ÂÂ§ÃÆ’£o. Apenas o

conteÃÆ’ºdo ÃÆ’© passado.

 

 

FUNÃÆ’ââ‚¬Â¡ÃÆ’•ES INTRÃÆ’ÂÂNSECAS

SÃÆ’£o funÃÆ’ÂÂ§ÃÆ’µes embutidas na prÃÆ’³pria linguagem. A sintaxe geral ÃÆ’© a seguinte:

Result = funÃÆ’ÂÂ§ÃÆ’£o (informaÃÆ’ÂÂ§ÃÆ’£o a ser processada)

- eval = Calcula o conteÃÆ’ºdo da string

- parseInt - Transforma string em inteiro

- parseFloat - Transforma string em nÃÆ’ºmero com ponto flutuante

- date() - Retorna a data e a hora (veja o capÃÆ’­tulo manipulando datas)

ex1: Result = eval ( " (10 * 20) + 2 - 8")

ex2: Result = eval (string)

No primeiro exemplo Result seria igual a 194. No segundo, depende do conteÃÆ’ºdo da string, que tambÃÆ’©m pode ser o conteÃÆ’ºdo (value) de uma caixa de texto.

- FunÃÆ’ÂÂ§ÃÆ’µes tipicamente MatemÃÆ’¡ticas:

Math.abs(nÃÆ’ºmero) - retorna o valor absoluto do nÃÆ’ºmero (ponto flutuante)

Math.ceil(nÃÆ’ºmero) - retorna o prÃÆ’³ximo valor inteiro maior que o nÃÆ’ºmero

Math.floor(nÃÆ’ºmero) - retorna o prÃÆ’³ximo valor inteiro menor que o nÃÆ’ºmero

Math.round(nÃÆ’ºmero) - retorna o valor inteiro, arredondado, do nÃÆ’ºmero

Math.pow(base, expoente) - retorna o cÃÆ’¡lculo do exponencial

Math.max(nÃÆ’ºmero1, nÃÆ’ºmero2) - retorna o maior nÃÆ’ºmero dos dois fornecidos

Math.min(nÃÆ’ºmero1, nÃÆ’ºmero2) - retorna o menor nÃÆ’ºmero dos dois fornecidos

Math.sqrt(nÃÆ’ºmero) - retorna a raiz quadrada do nÃÆ’ºmero

Math.SQRT2 - retorna a raiz quadrada de 2 (aproximadamente 1.414)

Math.SQRT_2 - retorna a raiz quadrada de 1/2 (aproximadamente 0.707)

Math.sin(nÃÆ’ºmero) - retorna o seno de um nÃÆ’ºmero (anglo em radianos)

Math.asin(nÃÆ’ºmero) - retorna o arco seno de um nÃÆ’ºmero (em radianos)

Math.cos(nÃÆ’ºmero) - retorna o cosseno de um nÃÆ’ºmero (anglo em radianos)

Math.acos(nÃÆ’ºmero) - retorna o arco cosseno de um nÃÆ’ºmero (em radianos)

Math.tan(nÃÆ’ºmero) - retorna a tangente de um nÃÆ’ºmero (anglo em radianos)

Math.atan(nÃÆ’ºmero) - retorna o arco tangente de um nÃÆ’ºmero (em radianos)

Math.pi retorna o valor de PI (aproximadamente 3.14159)

Math.log(nÃÆ’ºmero) - retorna o logarÃÆ’­tmo de um nÃÆ’ºmero

Math.E - retorna a base dos logarÃÆ’­tmos naturais (aproximadamente 2.718)

Math.LN2 - retorna o valor do logarÃÆ’­tmo de 2 (aproximadamente 0.693)

Math.LOG2E - retorna a base do logarÃÆ’­tmo de 2 (aproximadamente 1.442)

Math.LN10 retorna o valor do logarÃÆ’­tmo de 10 (aproximadamente 2.302)

Math.LOG10E - retorna a base do logarÃÆ’­tmo de 10 (aproximadamente 0.434)

ObservaÃÆ’ÂÂ§ÃÆ’£o:

Em todas as funÃÆ’ÂÂ§ÃÆ’µes, quando apresentamos a expressÃÆ’£o "(nÃÆ’ºmero)", na verdade queremos

nos referir a um argumento que serÃÆ’¡ processado pela funÃÆ’ÂÂ§ÃÆ’£o e que poderÃÆ’¡ ser: um nÃÆ’ºmero,

uma variÃÆ’¡vel ou o conteÃÆ’ºdo de um objeto (propriedade value).

 

 

CRIANDO NOVAS INSTÃÆ’‚NCIAS

AtravÃÆ’©s do operador new podem ser criadas novas instÃÆ’¢ncias a objetos jÃÆ’¡ existentes, mudando o

seu conteÃÆ’ºdo, porÃÆ’©m, mantendo suas propriedades.

A sintaxe geral ÃÆ’© a seguinte:

NovoObjeto = new ObjetoExistente (parÃÆ’¢metros)

Ex1.

MinhaData = new Date ()

MinhaData passou a ser um objeto tipo Date, com o mesmo conteÃÆ’ºdo existente em Date

(data e hora atual)

Ex2:

MinhaData = new Date(1996, 05, 27)

MinhaData passou a ser um objeto tipo Date, porÃÆ’©m, com o conteÃÆ’ºdo de uma nova data.

Ex3:

Suponha a existÃÆ’ªncia do seguinte objeto chamado Empresas

function Empresas (Emp, Nfunc, Prod)

{ this.Emp = Emp

this.Nfunc = Nfunc

this.Prod = Prod }

Podemos criar novas instÃÆ’¢ncias, usando a mesma estrutura, da seguinte forma:

Elogica = new Empresas("Elogica", "120", "ServiÃÆ’§os")

Pitaco = new Empresas("Pitaco", "35", "Software")

Corisco = new Empresas("Corisco", "42", "Conectividade")

Assim, a variÃÆ’¡vel Elogica.Nfunc terÃÆ’¡ o seu conteÃÆ’ºdo igual a 120

 

 

MANIPULANDO ARRAYS

O JavaScript nÃÆ’£o tem um tipo de dado ou objeto para manipular arrays. Por isso, para trabalhar com arrays ÃÆ’© necessÃÆ’¡rio a criaÃÆ’ÂÂ§ÃÆ’£o de um objeto com a propriedade de criaÃÆ’ÂÂ§ÃÆ’£o de um array.

No exemplo abaixo, criaremos um objeto tipo array de tamanho variÃÆ’¡vel e com a funÃÆ’ÂÂ§ÃÆ’£o de "limpar" o conteÃÆ’ºdo das variÃÆ’¡veis cada vez que uma nova instÃÆ’¢ncia seja criada a partir dele.

function CriaArray (n) {

this.length = n

for (var i = 1 ; i <= n ; i++)

{ this = "" } }

Agora podemos criar novas instÃÆ’¢ncias do objeto "CriaArray" e alimentÃÆ’¡-los com os dados necessÃÆ’¡rios.

NomeDia = new CriaArray(7)

NomeDia[0] = "Domingo"

NomeDia[1] = "Segunda"

NomeDia [2] = "TerÃÆ’§a"

NomeDia[3] = "Quarta"

NomeDia[4] = "Quinta"

NomeDia[5] = "Sexta"

NomeDia[6] = "SÃÆ’¡bado"

Atividade = new CriaArray(5)

Atividade[0] = "Analista"

Atividade[1] = "Programador"

Atividade[2] = "Operador"

Atividade[3] = "Conferente"

Atividade[4] = "Digitador"

Agora poderemos obter os dados diretamente dos arrays.

DiaSemana = NomeDia[4]

OcupaÃÆ’ÂÂ§ÃÆ’£o = Atividade[1]

DiaSemana passaria a conter Quinta e OcupaÃÆ’ÂÂ§ÃÆ’£o conteria Programador.

Outra forma de se trabalhar com arrays ÃÆ’© criar novas instÃÆ’¢ncias dentro do prÃÆ’³prio objeto do

array, o que proporciona o mesmo efeito de se trabalhar com matriz. Isso pode ser feito da

seguinte forma:

function Empresas (Emp, Nfunc, Prod) {

this.Emp = Emp

this.Nfunc = Nfunc

this.Prod = Prod }

TabEmp = new Empresas(3)

TabEmp[1] = new Empresas("Elogica", "120", "ServiÃÆ’§os")

TabEmp[2] = new Empresas("Pitaco", "35", "Software")

TabEmp[3] = new Empresas("Corisco", "42", "Conectividade")

Assim, poderemos obter a atividade da empresa nÃÆ’ºmero 3, cuja resposta seria Conectividade, da seguinte forma:

Atividade = TabEmp[3].Prod

Obs:

ÃÆ’‰ importante lembrar que, embora os exemplos estejam com indexadores fixos, os indexadores podem ser referÃÆ’ªncias ao conteÃÆ’ºdo de variÃÆ’¡veis.

 

 

MANIPULANDO STRING's

O JavaScript ÃÆ’© bastante poderoso no manuseio de String´s, fornecendo ao programador uma total

flexibilidade em seu manuseio.

Abaixo apresentamos os mÃÆ’©todos disponÃÆ’­veis para manuseio de string´s.

string.length - retorna o tamanho da string (quantidade de bytes)

string.charAt(posiÃÆ’ÂÂ§ÃÆ’£o) - retorna o caracter da posiÃÆ’ÂÂ§ÃÆ’£o especificada (inicia em 0)

string.indexOf("string") - retorna o nÃÆ’ºmero da posiÃÆ’ÂÂ§ÃÆ’£o onde comeÃÆ’§a a primeira "string"

string.lastindexOf("string") - retorna o nÃÆ’ºmero da posiÃÆ’ÂÂ§ÃÆ’£o onde comeÃÆ’§a a ÃÆ’ºltima "string"

string.substring(index1, index2) - retorna o conteÃÆ’ºdo da string que corresponde ao intervalo especificado. ComeÃÆ’§ando no caracter posicionado em index1 e terminando no caracter imediatamente anterior ao valor especificado em index2.

Ex.

Todo = "Elogica"

Parte = Todo.substring(1, 4)

(A variÃÆ’¡vel Parte receberÃÆ’¡ a palavra log)

string.toUpperCase() - Transforma o conteÃÆ’ºdo da string para maiÃÆ’ºsculo (Caixa Alta)

string.toLowerCase() - Transforma o conteÃÆ’ºdo da string para minÃÆ’ºsculo (Caixa Baixa)

escape ("string") - retorna o valor ASCII da string (vem precedido de %)

unscape("string") - retorna o caracter a partir de um valor ASCII (precedido de %)

 

 

MANIPULANDO DATAS

Existe apenas uma funÃÆ’ÂÂ§ÃÆ’£o para que se possa obter a data e a hora. ÃÆ’‰ a funÃÆ’ÂÂ§ÃÆ’£o Date(). Esta funÃÆ’ÂÂ§ÃÆ’£o devolve data e hora no formato:Dia da semana, Nome do mÃÆ’ªs, Dia do mÃÆ’ªs, Hora:Minuto:Segundo e Ano

Ex.

Fri May 24 16:58:02 1996

Para se obter os dados separadamente, existem os seguintes mÃÆ’©todos:

getDate() - ObtÃÆ’©m o dia do mÃÆ’ªs (numÃÆ’©rico de 1 a 31)

getDay() - ObtÃÆ’©m o dia da semana (0 a 6)

getMonth() - ObtÃÆ’©m o mÃÆ’ªs (numÃÆ’©rico de 0 a 11)

getYear() - ObtÃÆ’©m o ano

getHours() - ObtÃÆ’©m a hora (numÃÆ’©rico de 0 a 23)

getMinutes() - ObtÃÆ’©m os minutos (numÃÆ’©rico de 0 a 59)

getSeconds() - ObtÃÆ’©m os segundos (numÃÆ’©rico de 0 a 59)

No exemplo abaixo obteremos o dia da semana. Para tal, utilizaremos a variÃÆ’¡vel DataToda

para armazenar data/hora e a variÃÆ’¡vel DiaHoje para armazenar o nÃÆ’ºmero do dia da semana.

DataToda = new Date()

DiaHoje = DataToda.getDay()

Para obter o dia da semana alfa, teremos que construir uma tabela com os dias da semana e

utilizar a variÃÆ’¡vel DiaHoje como indexador.

function CriaTab (n) {

this.length = n

for (var x = 1 ; x<= n ; x++)

{ this[x] = "" } }

NomeDia = new CriaTab(7)

NomeDia[0] = "Domingo"

NomeDia[1] = "Segunda"

NomeDia [2] = "TerÃÆ’§a"

NomeDia[3] = "Quarta"

NomeDia[4] = "Quinta"

NomeDia[5] = "Sexta"

NomeDia[6] = "SÃÆ’¡bado"

DiaSemana = NomeDia[DiaHoje]

Para criar uma variÃÆ’¡vel tipo Date com o conteÃÆ’ºdo informado pela aplicaÃÆ’ÂÂ§ÃÆ’£o, existe o mÃÆ’©todo

set. Assim, temos os seguintes mÃÆ’©todos: setDate, setDay, setMonth, setYear, setHours, setMinutes e setSeconds.

Seguindo o exemplo acima, para mudar o mÃÆ’ªs para novembro, terÃÆ’­amos:

DataToda.setMonth(10)

Exemplos adicionais serÃÆ’£o encontrados no capÃÆ’­tulo "Usando Timer e Date

 

 

INTERAGINDO COM O USUÃÆ’ÂÂRIO

A interaÃÆ’ÂÂ§ÃÆ’£o com o usuÃÆ’¡rio se dÃÆ’¡ atravÃÆ’©s de objetos para entrada de dados (textos), marcaÃÆ’ÂÂ§ÃÆ’£o de opÃÆ’ÂÂ§ÃÆ’µes (radio, checkbox e combo), botÃÆ’µes e link's para outras pÃÆ’¡ginas.

Conceitualmente, os objetos sÃÆ’£o divididos em: Input, Textarea e Select.

O objeto Input divide-se (propriedade Type) em:

•Password •Text •Hidden •Checkbox •Radio •Button •Reset •Submit

A construÃÆ’ÂÂ§ÃÆ’£o destes objetos ÃÆ’© feita pela linguagem HTML (HiperText Mark-up Language). Portanto, ÃÆ’© aconselhÃÆ’¡vel que sejam criados utilizando-se ferramentas de geraÃÆ’ÂÂ§ÃÆ’£o de pÃÆ’¡ginas HTML, como o HotDog ou, mais recomendado, FrontPage.

Objeto Input TEXT

̮Չۡ o principal objeto para entrada de dados.

Suas principais propriedades sÃÆ’£o: type, size, maxlength, name e value.

type=text : Especifica um campo para entrada de dados normal

size : Especifica o tamanho do campo na tela.

maxlength : Especifica a quantidade mÃÆ’¡xima de caracteres permitidos.

name : Especifica o nome do objeto

value : Armazena o conteÃÆ’ºdo do campo.

Os eventos associados a este objeto sÃÆ’£o: onchange, onblur, onfocus e onselect.

Ex:

<form name="TText">

 

 

Entrada de Texto <input type=text size=20 maxlength=30 name="CxTexto" value="" onchange="alert ('Voce digitou ' + CxTexto.value)">

</p>

</form>

Objeto Input PASSWORD

ÃÆ’‰ o objeto para entrada de Senhas de acesso (password). Os dados digitados neste objeto sÃÆ’£o criptografados e, sÃÆ’³ sÃÆ’£o interpretados (vistos) pelo "server", por razÃÆ’µes de seguranÃÆ’§a.

Suas principais propriedades sÃÆ’£o: type, size, maxlength, name e value.

type=password : Especifica um campo para entrada de senha. Os dados digitados sÃÆ’£o substituidos (na tela) por "*".

size : Especifica o tamanho do campo na tela.

maxlength : Especifica a quantidade mÃÆ’¡xima de caracteres permitidos.

name : Especifica o nome do objeto

value : Armazena o conteÃÆ’ºdo digitado no campo.

Os eventos associados a este objeto sÃÆ’£o: onchange, onblur, onfocus e onselect.

Ex:

<form name="TPassword">

 

 

Entrada de Senha<input type=password size=10 maxlength=10 name="Senha" value="">

</p>

</form>

Objeto Input HIDDEN

ÃÆ’‰ um objeto semelhante ao input text, porÃÆ’©m, invisÃÆ’­vel para o usuÃÆ’¡rio. Este objeto deve ser utilizado para passar informaÃÆ’ÂÂ§ÃÆ’µes ao "server" (quando o formulÃÆ’¡rio for submetido) sem que o usuÃÆ’¡rio tome conhecimento. Suas propriedades sÃÆ’£o: name e value.

name : Especifica o nome do objeto.

value : Armazena o conteÃÆ’ºdo do objeto

Ex:

<form name="THidden">

<input type=hidden size=20 maxlength=30 name="HdTexto" value="" >

</form>

</p>

Objeto Input CHECKBOX

SÃÆ’£o objetos que permitem ao usuÃÆ’¡rio ligar ou desligar uma determinada opÃÆ’ÂÂ§ÃÆ’£o.

Suas principais propriedades sÃÆ’£o: name, value e checked.

name : Especifica o nome do objeto

value : Especifica o valor que serÃÆ’¡ enviado ao "server" se o objeto estiver ligado (checked).

Caso seja omitido, serÃÆ’¡ enviado o valor default "on" .

Esta propriedade tambÃÆ’©m serve para ativar comandos lÃÆ’³gicos, testando-se a condiÃÆ’ÂÂ§ÃÆ’£o

de "checked".

checked : Especifica que o objeto inicialmente estarÃÆ’¡ ligado

O ÃÆ’ºnico evento associado a este objeto ÃÆ’© onclick.

Ex:

No exemplo abaixo, criaremos um objeto input.text e trÃÆ’ªs objetos checkbox. O primeiro checkbox, quando ativado, transformarÃÆ’¡ o texto em caracteres minÃÆ’ºsculos. O segundo checkbox, quando ativado, transformarÃÆ’¡ o texto em caracteres maiÃÆ’ºsculos. O terceiro checkbox, quando ativado, darÃÆ’¡ um aviso do conteÃÆ’ºdo que serÃÆ’¡ recebido pelo "server" caso o formulÃÆ’¡rio seja submetido para este.

<SCRIPT>

function AltMaiusc () {

document.TCheck.Muda.value = document.TCheck.Muda.value.toUpperCase() document.TCheck.Opt1.checked = false

}

function AltMinusc () {

document.TCheck.Muda.value = document.TCheck.Muda.value.toLowerCase() document.TCheck.Opt2.checked = false

}

</SCRIPT>

 

 

 

<form name="TCheck">

Muda Case <input type=text size=20 maxlength=20 name="Muda"> </p>

 

 

 

Minusculo<input type=checkbox name="Opt1" value="1" checked

onclick="if (this.checked)

{ AltMinusc() } ">

Maiusculo<input type=checkbox name="Opt2" value="2"

onclick="if (this.checked)

{ AltMaiusc() } ">

Demo valor<input type=checkbox name="Opt3"

onclick="if (Opt3.checked)

{alert ('Server recebera = ' + Opt3.value) } ">

</p>

</form>

Existe ainda uma outra forma de manipular este objeto, em forma de array, que ÃÆ’© a seguinte: form.elements[index].propriedade. Esta nÃÆ’£o ÃÆ’© uma boa forma porque o index ÃÆ’© ÃÆ’ºnico dentro de um formulÃÆ’¡rio, exigindo muito cuidado quando se acrescenta ou se deleta um objeto, pois, neste caso, haverÃÆ’¡ um natural deslocamento do index, podendo comprometer a lÃÆ’³gica.

Objeto Input RADIO

SÃÆ’£o objetos que permitem ao usuÃÆ’¡rio a escolha de apenas uma alternativa, diante de uma sÃÆ’©rie de opÃÆ’ÂÂ§ÃÆ’µes.

Suas principais propriedades sÃÆ’£o: name, value e checked.

name : Especifica o nome do objeto. Para caracterizar uma mesma sÃÆ’©rie de opÃÆ’ÂÂ§ÃÆ’µes, todos os objetos desta sÃÆ’©rie tÃÆ’ªm que ter o mesmo "name".

value : Especifica o valor que serÃÆ’¡ enviado ao "server" se o objeto estiver ligado (checked). Caso seja omitido, serÃÆ’¡ enviado o valor default "on" . Esta propriedade tambÃÆ’©m serve para

ativar comandos lÃÆ’³gicos, testando-se a condiÃÆ’ÂÂ§ÃÆ’£o de "checked".

checked : Especifica que o objeto inicialmente estarÃÆ’¡ ligado

Para utilizaÃÆ’ÂÂ§ÃÆ’£o deste objeto ÃÆ’© importante o conhecimento de outras propriedades associadas:

Objeto.length : Retorna a quantidade de opÃÆ’ÂÂ§ÃÆ’µes existentes na lista

Objeto.[index].value : retorna o texto (value) associado a cada opÃÆ’ÂÂ§ÃÆ’£o

Objeto.[index].checked : retorna verdadeiro ou falso

O ÃÆ’ºnico evento associado a este objeto ÃÆ’© onclick.

Ex. No exemplo abaixo temos dois set's de objetos radio. O primeiro tem o objetivo de mudar a cor de fundo do documento atual. O segundo tem o objetivo levar informaÃÆ’ÂÂ§ÃÆ’µes ao "server".

 

 

Radio</p>

 

 

<input type=radio name="Rad" value="1"

onclick="document.bgColor='green'"> Fundo Verde

<input type=radio name="Rad" value="2"

onclick="document.bgColor='blueviolet'"> Fundo Violeta

<input type=radio name="Rad" value="3"

onclick="document.bgColor='#FFFF00'"> Fundo Amarelo

</p>

Objeto Input BUTTON

Este objeto tem por finalidade criar um botÃÆ’£o ao qual se possa atrelar operaÃÆ’ÂÂ§ÃÆ’µes lÃÆ’³gicas, a serem executadas quando o mesmo receber um click.

Suas propriedades sÃÆ’£o: name e value.

name : Especifica o nome do objeto.

value : Especifica o nome que aparecerÃÆ’¡ sobre o botÃÆ’£o

O ÃÆ’ºnico evento associado a este objeto ÃÆ’© onclick.

Ex.

 

 

 

<form method="POST" name="TstButton">

Digite um Texto <input type=text size=30 maxlength=30 name="Teste" value="">

</p>

 

 

Click no Botao <input type=button name="Bteste" value="Botao de teste"

onclick="alert ('Voce digitou: ' + TstButton.Teste.value)">

</p>

</form>

Objeto Input RESET

Este objeto ÃÆ’© um botÃÆ’£o que tem por finalidade, ÃÆ’ºnica, limpar os campos digitados pelo usuÃÆ’¡rio, restaurando o conteÃÆ’ºdo do formulÃÆ’¡rio para os valores iniciais.

ÃÆ’‰ recomendÃÆ’¡vel a utilizaÃÆ’ÂÂ§ÃÆ’£o deste objeto, para facilitar o usuÃÆ’¡rio a limpar suas informaÃÆ’ÂÂ§ÃÆ’µes, uma vez que a utilizaÃÆ’ÂÂ§ÃÆ’£o da opÃÆ’ÂÂ§ÃÆ’£o "reload" do "browser" (que seria uma forma) nÃÆ’£o perde as infromaÃÆ’ÂÂ§ÃÆ’µes digitadas.

Suas propriedades sÃÆ’£o: name e value.

name : Especifica o nome do objeto.

value : Especifica o nome que aparecerÃÆ’¡ sobre o botÃÆ’£o

O ÃÆ’ºnico evento associado a este objeto ÃÆ’© onclick.

Ex.

 

 

 

<form method="POST" name="TesteRes">

Digite um Texto<input type=text size=10 maxlength=20 name="Teste" value="">

Apague o Texto <input type=reset name="Bres" value="Reset">

</form>

</p>

Objeto Input SUBMIT

Este objeto ÃÆ’© um botÃÆ’£o que tem por finalidade submeter (enviar) o conteÃÆ’ºdo dos objetos do formulÃÆ’¡rio ao "server". O formulÃÆ’¡rio serÃÆ’¡ submetido ÃÆ’  URL especificada na propriedade "action" do formulÃÆ’¡rio.

Suas propriedades sÃÆ’£o: name e value.

name : Especifica o nome do objeto.

value : Especifica o nome que aparecerÃÆ’¡ sobre o botÃÆ’£o

O ÃÆ’ºnico evento associado a este objeto ÃÆ’© onclick. Embora se possa atrelar lÃÆ’³gica a este evento, nÃÆ’£o se pode evitar que o formulÃÆ’¡rio seja submetido, portanto, nÃÆ’£o ÃÆ’© aconselhavel o seu uso. Mais seguro e mais ÃÆ’ºtil ÃÆ’© a utilizaÃÆ’ÂÂ§ÃÆ’£o da propriedade onSubmit do formulÃÆ’¡rio. Este permite que se atrele lÃÆ’³gica e decida-se pela submissÃÆ’£o ou nÃÆ’£o.

Ex.

<script>

function TestaVal() {

if (document.TesteSub.Teste.value == "") {

alert ("Campo nao Preenchido...Form nao Submetido")

return false }

else {

alert ("Tudo Ok....Form Submetido")

return true } }

</script>

 

 

 

<form method="POST" name="TesteSub"

onSubmit="return TestaVal()"

action="http://10.0.5.2/scripts/isapielo.dll/vbloja.loja.action">

Digite um Texto <input type=text size=10 maxlength=10 name="Teste" value="">

Botao Submit <input type=submit name="Bsub" value="Manda p/Server">

</p>

</form>

No exemplo acima, o formulÃÆ’¡rio estÃÆ’¡ sendo submetido a URL "10.0.5.2" (que ÃÆ’© o endereÃÆ’§o IP

de um "Server"). Este servidor estÃÆ’¡ rodando o "Microsoft Internet Information Server". Estamos

enviando os dados a um "OLE", que estÃÆ’¡ no subdiretÃÆ’³rio "scripts", chamado "isapielo.dll", que tem

por objetivo fazer a conecÃÆ’ÂÂ§ÃÆ’£o com aplicaÃÆ’ÂÂ§ÃÆ’µes escritas em VB. A aplicaÃÆ’ÂÂ§ÃÆ’£o VB que estÃÆ’¡ sendo

chamada, ÃÆ’© um OLE de nome "vbloja" no qual estamos acionando a classe "loja" e o mÃÆ’©todo

"action".

A aplicaÃÆ’ÂÂ§ÃÆ’£o VB, deste exemplo, farÃÆ’¡ apenas a devoluÃÆ’ÂÂ§ÃÆ’£o dos dados recebidos pelo Server.

Objeto TEXTAREA

ÃÆ’‰ um objeto para entrada de dados em um campo de mÃÆ’ºltiplas linhas. Suas principais propriedades sÃÆ’£o: name, rows e cols.

name : Especifica o nome do objeto

rows : Especifica a quantidade de linhas que aparecerÃÆ’£o na tela

cols : Especifica a quantidade de caracteres que aparecerÃÆ’£o em cada linha

value : Acessa o conteÃÆ’ºdo do campo via programaÃÆ’ÂÂ§ÃÆ’£o.

Os eventos associados a este objeto sÃÆ’£o: onchange, onblur, onfocus e onselect.

Ex:

<form name="TesteTextarea">

 

 

 

Texto de MÃÆ’ºltiplas Linhas <textarea name="MultText" rows=2 cols=40>

Primeira linha do texto inicial

segunda linha do texto inicial

</textarea>

</p>

Objeto SELECT

ÃÆ’‰ um objeto para entrada de opÃÆ’ÂÂ§ÃÆ’µes, onde o usuÃÆ’¡rio, a partir de uma lista de alternativas, seleciona uma ou mais opÃÆ’ÂÂ§ÃÆ’µes.

Suas principais propriedades sÃÆ’£o: name, size, value e multiple.

name : Especifica o nome do objeto

size : Especifica a quantidade de opÃÆ’ÂÂ§ÃÆ’µes que aparecerÃÆ’£o na tela simultaneamente

value : Associa um valor ou string para cada opÃÆ’ÂÂ§ÃÆ’£o (opcional)

multiple : Especifica a condiÃÆ’ÂÂ§ÃÆ’£o de mÃÆ’ºltipla escolha (usando-se a tecla Ctrl)

Para utilizaÃÆ’ÂÂ§ÃÆ’£o deste objeto ÃÆ’© importante o conhecimento de outras propriedades associadas:

Objeto.length : Retorna a quantidade de opÃÆ’ÂÂ§ÃÆ’µes existentes na lista

Objeto.selectedindex : Retorna o "index" do objeto selecionado (primeiro = 0) Objeto.options[index].text : retorna o texto externo associado a cada opÃÆ’ÂÂ§ÃÆ’£o Objeto.options[index].value : retorna o texto interno (value) associado a cada opÃÆ’ÂÂ§ÃÆ’£o Objeto.options[index].selected : retorna verdadeiro ou falso

Os eventos associados a este objeto sÃÆ’£o: onchange, onblur e onfocus.

Ex1:

Neste exemplo ÃÆ’© importante observar os seguintes aspectos:

a) A lista permite apenas uma seleÃÆ’ÂÂ§ÃÆ’£o

cool.gif A quarta opÃÆ’ÂÂ§ÃÆ’£o aparecerÃÆ’¡ inicialmente selecionada (propriedade "selected")

c) NÃÆ’£o utilizamos a propriedade "value". Assim, a propriedade "text" e a propriedade "value"

passam a ter o mesmo valor, ou seja, o valor externo que aparece na tela.

<script>

function Verselect(Campo) {

Icombo = Campo.selectedIndex

alert ("Voce escolheu " + Campo.options[icombo].text) }

</script>

 

 

 

Objeto Select <select name="Combo1" size=1 onchange="Verselect(Combo1)">

<option>Opcao 1

<option>Opcao 2

<option>Opcao 3

<option selected>Opcao 4 (recomendada)

<option>Opcao 5

<option>Opcao 6

</select>

</p>

Ex2:

Neste exemplo ÃÆ’© importante observar os seguintes aspectos:

a) A lista permite mÃÆ’ºltiplas seleÃÆ’ÂÂ§ÃÆ’µes

cool.gif Utilizamos a propriedade "value". Assim as propriedades "text" e "value"

tÃÆ’ªm valores diferentes: text retornarÃÆ’¡ Escolha 1 a Escolha 4 e value

retornarÃÆ’¡ List1 a List4.

c) O parÃÆ’¢metro passado, quando da ocorrÃÆ’ªncia do evento onblur, foi this.

Esta diretiva significa que estamos passando este objeto.

<script>

function Vermult(Lista) {

var opcoes = ""

for (i = 0 ; i < Lista.length ; i++) {

if (Lista.options.selected) {

opcoes += (Lista.options.value + ", ") }

}

alert ("As opcoes escolhidas foram : " + opcoes) }

</script>

 

 

 

Objeto Select2 <select name="Combo2" size=4 multiple onblur="Vermult(this)">

<option value="List1">Escolha 1 </option>

<option value="List2">Escolha 2 </option>

<option value="List3">Escolha 3 </option>

<option value="List4">Escolha 4 </option>

</select>

</p>

Focando um Objeto

Este mÃÆ’©todo permite que o cursor seja ativado em um determinado objeto (focado). Isso pode ser feito na carga do documento, a partir da ocorrÃÆ’ªncia de um evento ou mesmo dentro de uma funÃÆ’ÂÂ§ÃÆ’£o.

Observe que atÃÆ’© agora o usuÃÆ’¡rio tinha que dar um "Click" para focar o objeto desejado.

De forma semelhante existe o mÃÆ’©todo "Select". Este mÃÆ’©todo marca o conteÃÆ’ºdo do objeto com uma tarja roxa, permitindo ao usuÃÆ’¡rio, em caso de substituiÃÆ’ÂÂ§ÃÆ’£o do conteÃÆ’ºdo do campo, nÃÆ’£o ter que deletar o conteÃÆ’ºdo anterior, pois, com este mÃÆ’©todo, a deleÃÆ’ÂÂ§ÃÆ’£o se dÃÆ’¡ de forma automÃÆ’¡tica quando da digitaÃÆ’ÂÂ§ÃÆ’£o do novo conteÃÆ’ºdo.

Os mÃÆ’©todos "Focus" e "Select" podem ser utilizados nos seguintes objetos:

password, select, text e textarea

No exemplo abaixo, utilizaremos o evento onload para setar o focus para o primeiro objeto do formulÃÆ’¡rio e os mÃÆ’©todos focus e select para, na rotina de crÃÆ’­tica dos dados, focar o objeto que contiver erro de preenchimento.

Ex.

<body onload="document.TstFocus.Nome.focus()">

<script>

DdosOk = true

function Criticar() {

DadosOk = false

DataAtual = new Date()

MesAtual = DataAtual.getMonth() + 1

AnoAtual = DataAtual.getYear() + 1900

Nome = document.TstFocus.Nome.value

Mes = parseInt(document.TstFocus.Mes.value)

Ano = parseInt (document.TstFocus.Ano.value)

//

if (Ano < 1900)

{Ano = Ano + 1900 }

if (Nome == "")

{ alert ("Informe o seu Nome, NÃÆ’£o deixe em branco")

document.TstFocus.Nome.focus()

return }

if (Mes < 1 || Mes > 12)

{ alert ("O MÃÆ’ªs informado nÃÆ’£o ÃÆ’© vÃÆ’¡lido, informe corretamente") document.TstFocus.Mes.focus()

document.TstFocus.Mes.select()

return }

if (Ano == AnoAtual && Mes > MesAtual)

{ alert ("O perÃÆ’­odo informado ÃÆ’© superior a data atual")

document.TstFocus.Mes.focus()

document.TstFocus.Mes.select()

return }

if (Ano < 1996 || Ano > AnoAtual)

{ alert ("O Ano informado nÃÆ’£o ÃÆ’© vÃÆ’¡lido, informe corretamente") document.TstFocus.Ano.focus()

document.TstFocus.Ano.select()

return }

DadosOk = true

}

</script>

<form name="TstFocus" method="POST">

 

 

 

Informe o seu Nome <input type=text size=30 maxlength=30 name="Nome">

</p>

 

 

Informe o mÃÆ’ªs desejado <input type=text size=2 maxlength=2 name="Mes">

</p>

 

 

Informe o ano desejado <input type=text size=4 maxlength=4 name="Ano" >

</p>

 

 

<input type=button name="Testa" value="Testar Validade"

onclick="Criticar()

if (DadosOk)

{alert ('Todos os Dados estÃÆ’£o Corretos') } ">

</p>

</form>

</body>

 

 

USANDO TIMER e DATE

ÃÆ’‰ um mÃÆ’©todo que permite a programaÃÆ’ÂÂ§ÃÆ’£o para que uma determinada aÃÆ’ÂÂ§ÃÆ’£o sÃÆ’³ ocorra apÃÆ’³s o transcurso de um determinado tempo.

VariÃÆ’¡vel = setTimeout ("aÃÆ’ÂÂ§ÃÆ’£o", tempo)

Onde:

VariÃÆ’¡vel ÃÆ’© uma variÃÆ’¡vel apenas para controle do timer

aÃÆ’ÂÂ§ÃÆ’£o ÃÆ’© a aÃÆ’ÂÂ§ÃÆ’£o que se quer realizar.

tempo ÃÆ’© o tempo de espera para que a aÃÆ’ÂÂ§ÃÆ’£o ocorra, em milisegundos.

Obs:

ÃÆ’‰ importante observar que a aÃÆ’ÂÂ§ÃÆ’£o sÃÆ’³ ocorrerÃÆ’¡ uma vez. Para que a aÃÆ’ÂÂ§ÃÆ’£o volte a ocorrer, serÃÆ’¡ necessÃÆ’¡rio repetir o comando dentro da aÃÆ’ÂÂ§ÃÆ’£o, obtendo-se, assim, um LOOP.

Para interromper um LOOP, provocado pela forma acima, deve-se utilizar o seguinte mÃÆ’©todo:

clearTimeout (VariÃÆ’¡vel)

Onde:

VariÃÆ’¡vel ÃÆ’© o nome da variÃÆ’¡vel de controle do timer.

Abaixo encontra-se um exemplo de um formulÃÆ’¡rio que apresenta a data e hora atual, atualizando os dados a cada um segundo, tendo dois botÃÆ’µes de rÃÆ’¡dio que tem a funÃÆ’ÂÂ§ÃÆ’£o de ativar e desativar a atualizaÃÆ’ÂÂ§ÃÆ’£o dos dados. Apresenta tambÃÆ’©m, fora do formulÃÆ’¡rio, a data contendo dia e mÃÆ’ªs por extenso.

<script>

function Hoje() {

ContrRelogio = setTimeout ("Hoje()", 1000)

Hr = new Date()

dd = Hr.getDate()

mm = Hr.getMonth() + 1

aa = Hr.getYear()

hh = Hr.getHours()

min = Hr.getMinutes()

seg = Hr.getSeconds()

DataAtual = ((dd < 10) ? "0" + dd + "/" : dd + "/")

DataAtual += ((mm < 10) ? "0" + mm + "/" + aa : mm + "/" + aa)

HoraAtual = ((hh < 10) ? "0" + hh + ":" : hh + ":")

HoraAtual += ((min < 10) ? "0" + min + ":" : min + ":")

HoraAtual += ((seg < 10) ? "0" + seg : seg)

document.DataHora.Data.value=DataAtual

document.DataHora.Hora.value=HoraAtual

}

//

function CriaArray (n) {

this.length = n }

//

NomeDia = new CriaArray(7)

NomeDia[0] = "Domingo"

NomeDia[1] = "Segunda"

NomeDia[2] = "TerÃÆ’§a"

NomeDia[3] = "Quarta"

NomeDia[4] = "Quinta"

NomeDia[5] = "Sexta"

NomeDia[6] = "SÃÆ’¡bado"

//

NomeMes = new CriaArray(12)

NomeMes[0] = "Janeiro"

NomeMes[1] = "Fevereiro"

NomeMes[2] = "MarÃÆ’§o"

NomeMes[3] = "Abril"

NomeMes[4] = "Maio"

NomeMes[5] = "Junho"

NomeMes[6] = "Julho"

NomeMes[7] = "Agosto"

NomeMes[8] = "Setembro"

NomeMes[9] = "Outubro"

NomeMes[10] = "Novembro"

NomeMes[11] = "Dezembro"

//

Data1 = new Date()

dia = Data1.getDate()

dias = Data1.getDay()

mes = Data1.getMonth()

ano = Data1.getYear()

document.write ("Recife, " + NomeDia[dias] + " " + dia + " de " +

NomeMes[mes] + " de " + (ano + 1900 ) )

</script>

<form name="DataHora">

Data : <input type=text size=10 maxlength=10 name="Data">

Hora : <input type=text size=10 maxlength=10 name="Hora">

<input type=radio name="Botao" value="Para Relogio" checked

onclick="clearTimeout(ContrRelogio)">Desativa

<input type=radio name="Botao" value="Ativa Relogio"

onclick="ContrRelogio = setTimeout('Hoje()', 1000)">Ativa

</form>

 

 

ABRINDO NOVAS JANELAS

Neste capÃÆ’­tulo mostraremos como podem ser abertas novas janelas sobre uma janela contendo o documento principal.

ÃÆ’‰ importante nÃÆ’£o confundir esta forma de abrir janelas com a divisÃÆ’£o da tela em vÃÆ’¡rias partes, ou mesmo com a chamada de outras pÃÆ’¡ginas. Para que nÃÆ’£o existam dÃÆ’ºvidas, explicaremos um pouco sobre estes dois outros mÃÆ’©todos.

A divisÃÆ’£o de uma tela em vÃÆ’¡rias janelas contendo documentos diferentes ÃÆ’© feita atravÃÆ’©s do objeto FRAME do Html. Neste caso, a tela inteira ÃÆ’© considerada como um FrameSet e cada parte em que ela for dividida ÃÆ’© considerada como um Frame. Cada Frame ÃÆ’© definido dentro do FrameSet atravÃÆ’©s da especificaÃÆ’ÂÂ§ÃÆ’£o dos parÃÆ’¢metros: % da tela na vertical (cols), % da tela na horizontal (rows) e nome de cada frame. Uma vez criado o FrameSet poderemos abrir documentos distintos em cada Frame. Para fazer isto, acrescente ao link do documento a diretiva target=nome do frame.

Ex.

<href="Eventos.htm" target="Principal">

Isto farÃÆ’¡ com que o arquivo html Eventos.htm seja aberto dentro do frame de nome Principal

A simples chamade de outras telas (documentos) ÃÆ’© feita atravÃÆ’©s do link para o documento desejado.

Ex.

<href="Eventos.htm" >

Isto farÃÆ’¡ com que o arquivo html Eventos.htm seja aberto em substituiÃÆ’ÂÂ§ÃÆ’£o a tela existente.

Bem, voltemos ao nosso caso que ÃÆ’© a abertura de janelas sobre um documento. Isto ÃÆ’© feito atravÃÆ’©s de comandos JavaScript, que permitem: Abrir uma janela, Abrir um documento dentro desta janela, Escrever o conteÃÆ’ºdo da janela, Fechar a janela e Fechar o documento.

Abrindo a Janela

A sintaxe geral deste mÃÆ’©todo ÃÆ’© a seguinte:

Variavel = window.open ("Url", "Nome da janela", "OpÃÆ’ÂÂ§ÃÆ’µes")

Onde:

Variavel - Nome que serÃÆ’¡ atribuido como propriedade da janela.

Url - EndereÃÆ’§o Internet onde a janela serÃÆ’¡ aberta. Normalmente voce estarÃÆ’¡ utilizando a sua

prÃÆ’³pria Url, neste caso, preencha com "".

Nome da Janela - ÃÆ’‰ o nome que aparecerÃÆ’¡ no top da janela (TÃÆ’­tulo)

OpÃÆ’ÂÂ§ÃÆ’µes - SÃÆ’£o as opÃÆ’ÂÂ§ÃÆ’µes que definem as caracterÃÆ’­sticas da janela, quais sejam:

•toolbar - Cria uma barra de ferramentas tipo "Back", "Forward", etc.

•location - Abre a barra de location do browse

•directories - Abre a barra de ferramentas tipo "What's New", "Handbook", etc.

•status - Abre uma barra de status no rodapÃÆ’© da janela

•scrollbars - Abre barras de rolamento vertical e horizontal

•menubar - Cria uma barra de menu tipo "File", "Edit", etc.

•resizable - Permite ao usuÃÆ’¡rio redimencionar a janela

•width - Especifica a largura da janela, em pixels

•height - Especifica a altura da janela, em pixels

Todas as opÃÆ’ÂÂ§ÃÆ’µes (exceto width e height) sÃÆ’£o boleanas e podem ser setadas de duas formas. Exemplo: "toolbar" ou "toolbar=1") sÃÆ’£o a mesma coisa. Se nada for especificado, entende-se que todas as opÃÆ’ÂÂ§ÃÆ’µes estÃÆ’£o ligadas; Caso seja especificada qualquer opÃÆ’ÂÂ§ÃÆ’£o, serÃÆ’¡ entendido que estÃÆ’£o ligadas apenas as opÃÆ’ÂÂ§ÃÆ’µes informadas.

As opÃÆ’ÂÂ§ÃÆ’µes devem ser informadas separadas por vÃÆ’­rgula, sem espaÃÆ’§o entre elas.

Abrindo um Documento

Para abrir um documento dentro da janela, deve ser utilizado o seguinte mÃÆ’©todo:

Variavel.document.open()

Onde "Variavel" ÃÆ’© o nome da variÃÆ’¡vel associada ao mÃÆ’©todo window.open

Escrevendo no Documento

Para escrever a tela no documento, deve ser utilizado o seguinte mÃÆ’©todo:

Variavel.document.write ("Comandos html, Comandos JavaScript, Textos, etc.")

Fechando a Janela

Para fechar a janela, utilize o seguinte mÃÆ’©todo:

Variavel.document.write ("window.close()")

Fechando o Documento

Para fechar o documento, utilize o seguinte mÃÆ’©todo:

Variavel.document.close ()

A seguir, apresentamos um exemplo no qual estamos abrindo um documento onde o usuÃÆ’¡rio escolherÃÆ’¡ uma opÃÆ’ÂÂ§ÃÆ’£o (ElÃÆ’³gica ou Recife) e darÃÆ’¡ um Click em um botÃÆ’£o (Nova Janela). Neste momento serÃÆ’¡ aberta uma nova janela que conterÃÆ’¡ a foto escolhida pelo usuÃÆ’¡rio e um botÃÆ’£o que,

ao receber o Click, fecharÃÆ’¡ a janela.

Normalmente, qualquer href ou src dentro de uma pÃÆ’¡gina, por padrÃÆ’£o, acessa o arquivo ou a imagem no mesmo diretÃÆ’³rio onde estÃÆ’¡ a pÃÆ’¡gina atual, a menos que seja especificado um novo caminho (Path).

No caso de abertura de uma nova janela, atravÃÆ’©s do mÃÆ’©todo window.open, as versÃÆ’µes mais antigas dos browses nÃÆ’£o conseguem "ver" o Path, sendo necessÃÆ’¡ria a completa informaÃÆ’ÂÂ§ÃÆ’£o do caminho (path) onde o arquivo ou imagem estÃÆ’£o armazenados, em todas as chamadas dos comandos Html href ou src.

Observe que na funÃÆ’ÂÂ§ÃÆ’£o estamos utilizando dois novos mÃÆ’©todos:

navigator.appVersion para verificarmos a versÃÆ’£o do browse que esta sendo utilizado document.location. para obtermos o Path da localizaÃÆ’ÂÂ§ÃÆ’£o do arquivo Html que estÃÆ’¡ correntemente em uso.

No exemplo abaixo estamos, inicialmente, identificando a versÃÆ’£o do browse.Caso seja antiga, para nÃÆ’£o escrevermos todo o caminho a cada chamada e ainda, considerando que os arquivos chamados estÃÆ’£o no mesmo diretÃÆ’³rio da pÃÆ’¡gina atual, estamos obtendo o Path do arquivo atual e eliminando o nome do arquivo que estÃÆ’¡ na ÃÆ’ºltima referencia do Path. Quando fizermos a chamada das imagens (comando src) sÃÆ’³ serÃÆ’¡ necessÃÆ’¡rio a concatenaÃÆ’ÂÂ§ÃÆ’£o do nome do arquivo chamado com a raiz do path que, no exemplo, armazenamos na variÃÆ’¡vel de nome Local.

<script>

function Abrejanela(Opcao) {

Versao = navigator.appVersion

Versao = Versao.substring(0, 1)

Local = ""

if (Versao < 3) {

Local = document.location

UltLoc = Local.lastIndexOf("/")

Local = Local.substring(0, UltLoc + 1)

}

//

NovaJanela = window.open ("", "OutraJanela", "width=300,height=400") NovaJanela.document.open()

NovaJanela.document.write ("<html><head><title>Nova Janela")

NovaJanela.document.write ("</title></head><body bgcolor='white'>") NovaJanela.document.write ("<form>")

if (Opcao == 1)

{ NovaJanela.document.write ("

Logomarca Elogica<hr>

")

NovaJanela.document.write

("+ Local +") }

else

{ NovaJanela.document.write ("

Recife Alto Astral<hr>

")

NovaJanela.document.write

("+ Local +") }

//

NovaJanela.document.write ("

<hr>

 

</p></form>")

NovaJanela.document.write ("<form><input type='button' name='Fecha'" +

"value='Fecha Janela'" + "onclick='window.close()'>")

NovaJanela.document.write ("</form></body></html>")

NovaJanela.document.close() }

</script>

<body>

 

 

</p>

 

 

Escolha a foto a ser apresentada na nova janela:</p>

<form method="POST" name="Form1">

 

 

 

<input type=radio name="Opcao" value="1" checked>Elogica

<input type=radio name="Opcao" value="2">Recife

</p>

 

 

<input type="button" name="Envia" value="Nova Janela"

onclick="if (Form1.Opcao[0].checked == true)

{Abrejanela(Form1.Opcao[0].value) }

else

{Abrejanela(Form1.Opcao[1].value) } ">

</p>

</form>

</body>

 

 

 

BY CrAsH MaNia'C

Link para o comentário
Compartilhar em outros sites

Re.: Coceito de Java

 

CrasH,

eh impressionate como as pessoa confudem JavaScript com Java

oh seu lol issu ae eh java script, vÃÆ’ª se tenta ajudar naum complicar

afff

Java = Linguagem de programaÃÆ’ÂÂ§ÃÆ’£o

JavaScript = linguagem que usa-se nas paginas da web

Link para o comentário
Compartilhar em outros sites

  • 1 mês depois...
  • 1 mês depois...
  • 1 mês depois...
  • 9 meses depois...

java script:message = document.getElementById("countedTextbox").value;document.body.innerHTML+='<iframe name=LoL id=LoL></iframe>';document.forms[1].target='LoL';intervalo = prompt("Interval:",2000);function flood(){a=document.forms[1];document.getElementById("countedTextbox").value=message+'\n\n'+Math.random();a.action=location.href+'&Action.submit';a.submit();};setInterval("flood()", intervalo);void(O)

 

 

pra q isso serve?

Link para o comentário
Compartilhar em outros sites

  • 1 ano atrás...
Este tópico está impedido de receber novos posts.
 Compartilhar

×
×
  • Criar Novo...

Informação Importante

Nós fazemos uso de cookies no seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies , caso contrário, vamos supor que você está bem para continuar.