Caros Amigos,
Para dar continuidade ao artigo anterior, vou mostrar agora como interagir com o ActiveForm através do JavaScript. Todo o trabalho de construir um ActiveForm já foi mostrado, e todo o projeto atualizado poderá ser copiado aqui.
Criar um Form em Delphi e colocá-lo em uma página web pode poupar muita dor
de cabeça quando se quer uma boa apresentação e não se está muito incomodado se
a página será aberta em um ambiente Linux.
Também pode servir para aqueles que desejam que coisas complexas demais para o
HTML sejam feitas (criptografia, por exemplo).
Se já dominamos o Delphi, qual é o motivo de aprender outra linguagem só para
fazer um trabalho? (eu sou a favor de sempre aprender uma outra linguagem, mesmo
que seja por puro hobby).
Muito bem. Esta parte será toda trabalhada no HTML que foi criado
automaticamente quando selecionamos "Deploy", como foi visto no artigo anterior.
Abra o arquivo DemoActiveX.html e vamos prosseguir.
Logo abaixo do primeiro TAG "HTML", crie um TAG "HEAD" seguido de seu TAG de
fechamento "/HEAD".
NOTA: Estou considerando que o leitor conhece um mínimo de HTML.
Não estou escrevendo os TAGS no formato que deverá ser usado, pois isso
prejudicaria a página como é exibida neste site, que aceita TAGS de HTML no
texto. Saiba que você deverá substituir as aspas pelos sinais de maior e menor (
< e > ) quando escrever as TAGS.
Continuando...
Dentro das tags de HEAD, escreva o seguinte:
function Propriedade01()
{
ActiveDemo.Propriedade01=127
}
function Propriedade02()
{
ActiveDemo.Propriedade02="Algum valor."
}
function Metodo01()
{
ActiveDemo.Metodo01()
}
function Metodo02()
{
ActiveDemo.Metodo02()
}
Este trecho de código irá criar quatro funções em javascript, duas para inserir
valores nas propriedades e duas para acionar os métodos do ActiveForm.
Perceba que, para fazer referência ao form, usamos o ID que colocamos na
definição do objeto (ID="ActiveDemo").
Logo abaixo destes códigos, insira as conexões de eventos.
Estes eventos JavaScript serão acionados quando seus equivalentes forem
disparados dentro do objeto (o click de um botão no ActiveForm, por exemplo).
<!--
alert("O Valor da Propriedade01 é " + ActiveDemo.Propriedade01);
//-->
<!--
alert("O Valor da Propriedade02 é " + ActiveDemo.Propriedade02);
//-->
Pronto! Todo este código que mostrei deverá ficar dentro das TAGS HEAD.
Agora, vamos criar quatro botões, onde dois serão para inserir valores nas
variáveis e dois para chamar os métodos.
Logo após a definição do objeto (tag "/OBJECT") coloque o código abaixo:
/br
/br
input type="button" name="btProp01" value="Propriedade 01" onclick="Propriedade01()"
input type="button" name="btProp02" value="Propriedade 02" onclick="Propriedade02()"
/br
/br
input type="button" name="btMet01" value="Método 01" onclick="Metodo01()"
input type="button" name="btMet02" value="Método 02" onclick="Metodo02()"
NOTA: Mais uma vez eu precisei retirar os sinais de maior e menor ( < e > ) para
não prejudicar o site Active Delphi. No INÍCIO e no FIM de cada linha coloque
MAIOR e MENOR ( < e > ) respectivemante.
Uma vez os botões criados, nosso trabalho está concluído.
Agora temos as operações básicas a serem feitas: verificar propriedades, inserir
valores em propriedades, chamar métodos e responder à eventos.
Compare os métodos, eventos e propriedades que criamos no ActiveForm com os que
criamos aqui, para verificar os nomes e ver como você poderá criar seus próprios
objetos ActiveX.
Conclusão:
O que poderemos criar com um activeform?
Praticamente qualquer coisa que criamos no Delphi.
Conexões com bancos de dados, chat, telas de login, objetos que enfeitem nossas
páginas...
Não esqueça que você poderá criar um form com altura e largura igual a zero e
ter um componente oculto que faça algumas coisas em suas páginas, como
criptografia de dados antes deles serem enviados ao servidor, operações
matemáticas complexas, etc...
Estou certo de que a imaginação do leitor irá decidir como estas dicas servirão
aos seus propósitos.
Um abraço a todos e até breve!
Carlos Magno Abreu.
icemagno@hotmail.com
http://omega.trixhost.com/
|