Ir para conteúdo
Faça parte da equipe! (2024) ×

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

  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • 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.