Ir para conteúdo
Entre para seguir isso  
Risuke

Criando um Navegador Básico

Recommended Posts

Risuke    0
Risuke

Tutorial recomendado para iniciantes no Delphi. Criando um navegador básico baseado no IE.

 

 

Inicie um novo projeto no Delphi ( quando ele é aberto, ele já faz isso, é iniciado com um projeto vazio ). Vamos inserir no formulário dois quadros: um painel, onde ficarão os botões e a barra de endereços, e o quadro de visualização HTML.

 

Para inserir um painel, clique no componente "painel" da paleta de componentes, e clique uma vez dentro da tela da janela do programa (o formulário). Veja:

 

delphi1yd3.gif

Componente Painel ( Panel em inglês )

 

delphi2xg8.gif

Deverá ficar assim depois de inserido no formulário.

 

 

Vamos ajustar algumas propriedades desse componente, para que ele fique

no topo, e sem o texto "Panel1" dentro. Clique uma vez nele para

seleciona-lo, e no inspetor de objetos ( a janela de propriedades do

objeto ), localize a propriedade "Caption". Remova o texto dela, deixando

assim:

 

delphi3gc3.gif

 

Para que esse painel fique alinhado na parte superior da tela, localize

nessa mesma janela a propriedade "Align", e deixe com o valor "alTop":

 

delphi4gk6.gif

 

Agora insira o componente "TWebBrowser". Ele fica na guia "Internet" da

paleta de componentes do Delphi, normalmente é o último dessa guia. Não

o insira dentro do painel, mas sim fora, ou seja, clique nele uma vez,

depois clique na área livre do formulário.

 

delphi5ga0.gif

 

 

Veja como ficará:

delphi6hj4.gif

 

Ajuste a propriedade "Align" dele assim como você fez com o painel, mas agora escolha "alClient". Isso faz com que ele ocupe toda a área restante da tela, mesmo que o usuário maximize ou redimensione a janela.

 

Vamos inserir uma barra de endereços simples ( não uma lista, por ser um tutorial para iniciantes nessa área ) e os botões "Voltar", "Avançar", "Parar" e "Atualizar". Selecione o componente "Button", da aba "Standard" dos componentes do Delphi, e insira-o dentro do painel. Agora sim, clique dentro do painel, para que ele fique "dentro" do painel. Se você colocá-lo fora, ele não acompanhará o local fixo no painel, por exemplo, podendo ficar fora do lugar dependendo do tamanho da janela.

 

delphi7ml6.gif

 

Ficará assim:

delphi8jk9.gif

 

Agora você já deve estar pegando mais intimidade com a inserção de

componentes. Insira mais três botões, ao lado desse. Você pode copiá-lo

e colar! Clique uma vez nele, ele ficará selecionado (o botão). Tecle

CTRL+C e depois CTRL+V, e ele será inserido dentro do painel, depois

tecle CTRL+V duas vezes para colar mais dois, e arraste cada um para os

seus lugares, de modo a deixar o visual organizado.

Agora altere os textos dos botões. Selecione um por um, localize a propriedade "Caption" no inspetor de objetos, e digite o texto desejado. Para nosso exemplo, coloque "Voltar" no primeiro botão, "Avançar" no segundo, "Parar" no terceiro e "Atualizar" no quarto.

 

Para inserir uma barra de endereços, clique no componente "Edit", da aba "Standard" da paleta de componentes, e insira-o também dentro do painel, logo abaixo dos botões ( redimensione o painel, se necessário, clicando nele e arrastando a linha inferior para baixo ). Redimensione o campo de texto ("Edit") até ficar com um tamanho razoável, para digitar um endereço da Internet. Com o "Edit" selecionado, remova o texto dele. Basta limpar o texto da propriedade "Text", pelo inspetor de objetos.

 

delphi9rw7.gif

 

Ficará assim:

delphi10od9.gif

 

 

Para não perder, salve o projeto. Clique no botão "Salvar tudo" do Delphi, ou no menu "File > Save all", como é a primeira vez. Primeiro salve o arquivo de projeto, de extensão ".dpr". Coloque o nome principal do seu programa, de preferência sem espaço, será o mesmo nome do executível. Por exemplo, "Navegador". Ao clicar em Salvar na janela "Salvar", aparecerá uma outra, agora para salvar a unidade de código do formulário, um arquivo ".pas". Pode deixar o padrão, "Unit1.pas", se você quiser.

 

O componente WebBrowser usa toda a estrutura do IE, como comentei no começo do arquivo. Para fazê-lo "funcionar", o que seu programa tem que fazer é chamar as funções corretas dele. Algumas são documentadas, outras creio que não... Mas para as mais comuns não há segredo.

 

Dica: para facilitar as referências, vamos renomear o WebBrowser para um nome mais curto. Selecione o quadro branco do IE, e altere a propriedade "Name" dele, pelo inspetor de objetos. Usarei aqui "web", um nome fácil de identificar e curtinho.

 

Selecione a barra de endereços, o "Edit1". Quando a pessoa digitar alguma coisa e teclar [enter], o navegador será chamado. Para isso, deveremos configurar o evento da barra de endereços responsável por reconhecer o [enter], e por chamar o navegador.

 

Selecione a barra de endereços, e vá para a aba "Events" do Object Inspector ( na mesma janela onde você altera os títulos, textos, propriedades dos componentes... ).

 

delphi11qm4.gif

 

Nessa aba podemos personalizar os eventos dos objetos. Os eventos são ações que podem ser realizadas pelo usuário ou pelo programa. Por exemplo, quando o usuario clica num componente visual, o evento onClick é chamado, e o código contido nele será executado. Se o usuário nunca clicar nesse botão, esse código nunca seria executado. Para definir um código, uma ação, quando o usuíário teclar [enter] no campo de texto, devemos inserir os comandos no evento "onKeyDown", que pode ser entendido como "aoApertarUmaTecla". Ele é chamado para todas as teclas enquanto o componente de texto estiver com o foco, então deveremos também incluir um verificador, para verificar se a tecla pressionada foi [enter]. Se for, faremos uma chamada ao componente do navegador para abrir o endereço digitado. Se não for, não faremos nada e deixaremos o usuário terminar de digitar.

 

Localize o evento "onKeyDown" ( não se esqueça de selecionar o "Edit1" antes ), e dê um duplo clique no quadrinho em branco à sua esquerda, onde você percebe que pode digitar algo:

 

delphi12kr9.gif

 

o Delphi já preparará toda a estrutura para você digitar os comandos. Digite isso, entre o begin e o end:

 

if Key = VK_RETURN then

web.Navigate(Edit1.Text);

 

Compile o programa e execute-o, digitando qualquer site na barra de endereços, e tecle [enter]. Se der erro na compilação e o programa não rodar, verifique todos os passos descritos, observando a mensagem de erro na tela do Delphi, que normalmente reporta o que ocorreu ou pelo menos a linha.

 

Agora vamos definir as ações dos botões. O evento onClick deles é o evento padrão, por ser o mais intuitivo para um botão: fazer alguma coisa quando o usuário clicar nele. Como é o evento padrão, basta dar um duplo clique sobre cada botão, para digitar o evento para ele. Mas nada impede que você o faça selecionando o botão, e dando um duplo clique no evento "onClick", da aba "Events" do Object Inspector.

 

Essa parte será bem fácil, pois cada botão apenas chamará um método do componente do navegador, que no caso, é gerenciado pelo motor do Internet Explorer, ou seja, já está tudo programado.

 

Dê um duplo clique sobre o botão "Voltar", e digite:

 

web.GoBack;

 

Faça a mesma coisa para o botão "Avançar", digitando:

 

web.GoForward;

 

Para o botão "Parar":

 

web.Stop;

 

E finalmente, o botão "Atualizar":

 

web.Refresh;

 

 

Salve, compile e rode seu programa. Navegue por algumas páginas, para testar. Para que os botões "Voltar" e "Avançar" realmente funcionem, você deverá navegar clicando em alguma coisa ( ou acessando outro endereço ), e depois clicar no "Voltar".

 

Espero que gostem.

 

 

Autor: Marcos Elias Picão

Fonte: Guia do Hardware

Editado por Risuke

Compartilhar este post


Link para o post
Compartilhar em outros sites
Kaska.    0
Kaska.

Parabéns Rique :D

Continue assim que você vai longe.

Obrigado pela iniciativa

Kaska//

Compartilhar este post


Link para o post
Compartilhar em outros sites
Chê.    1
Chê.

Parabéns cara, não manjo muito disso, mas se tu mostrasse como inserir um layout nele ficaria mais rox ainda :P

Compartilhar este post


Link para o post
Compartilhar em outros sites
Death Monkey    0
Death Monkey

ki show eu so fazia programas como trainers entr outros , mas nunca pensei q dava pra fazer issu..

Compartilhar este post


Link para o post
Compartilhar em outros sites
Baxnie    8
Baxnie

Que bobo. Você não está aprendendo praticamente nada fazendo isso. Só aprendendo a desenhar e escrever 10 linhas de code. Não fazem idéia de como um navegador de verdade funciona. Só esta dando a ilusão aos novos programadores de que tudo é super facil assim.

Compartilhar este post


Link para o post
Compartilhar em outros sites
Rasengam    0
Rasengam
Que bobo. Você não está aprendendo praticamente nada fazendo isso. Só aprendendo a desenhar e escrever 10 linhas de code. Não fazem idéia de como um navegador de verdade funciona. Só esta dando a ilusão aos novos programadores de que tudo é super facil assim.

n exculaxa

e se o leke for iniciante?

n eh pq vc sabe q os outros tem q saber

isso ae q ele fez foi só colocar as "engrenagens" montadas no programinha

isso eh uma forma de facilitar a vida dos programadores...

mas com a pratica vem o aperfeiçoamento.

 

@topic

n manjo de delphi

mais pelo q eu vi parece com .net

ja fiz um navegador assim em .net

gogo leke

praticar o//

Compartilhar este post


Link para o post
Compartilhar em outros sites
Risuke    0
Risuke

@Ploct

Coloquei um navegador simples pois como o Rasengam disse, que não conhece muito de Delphi, poderá pegar uma noção a partir daqui.

 

@Rasengam

Obrigado pelo incentivo e pretendo continuar trazendo mais matérias sobre o Delphi.

Compartilhar este post


Link para o post
Compartilhar em outros sites
Sir Drigus    0
Sir Drigus

Boa cara, agora aprendi a usar esse programinha. ^^

Compartilhar este post


Link para o post
Compartilhar em outros sites
Rdgxnk    0
Rdgxnk

Bom tutorial..

 

esse programa eh bem complexo para quem nunca usou...

Compartilhar este post


Link para o post
Compartilhar em outros sites
Bajt    0
Bajt

Ótimo tutorial, estou usando o navegador que fiz :D.

Valeu :).

Compartilhar este post


Link para o post
Compartilhar em outros sites
tales02    0
tales02

Valeu negro, vc eh foda, e eu sou o mini rique :D

Compartilhar este post


Link para o post
Compartilhar em outros sites
thiaguxx    0
thiaguxx

Entrei pro forum agora ...

Bem bacana cara.

Estou comecando a programar e estou vendo que aqui vai ser bom de mais pra mim.

Valeuuuuuu

Compartilhar este post


Link para o post
Compartilhar em outros sites
Atthon    0
Atthon

Facin, mais demorado...

Valeu ae, gostei =)

Compartilhar este post


Link para o post
Compartilhar em outros sites
mateus1023    0
mateus1023

Vlw ae Bom Tutorial.

Demorei pra faze a primeira vez agora q aprendi, faço rapidin.

 

navegadors.jpg

Compartilhar este post


Link para o post
Compartilhar em outros sites
Antharaz    4
Antharaz

Sugestão:

 

Você deveria ter a opção de abas e usar threads para agilizar o carrgeamento das páginas nas abas e talz...

Compartilhar este post


Link para o post
Compartilhar em outros sites
Blakk    26
Blakk

Belo tutorial,você manja pakas cara,Parabens!

Compartilhar este post


Link para o post
Compartilhar em outros sites
playzim07    0
playzim07

OMFG

uso delphi a algun tempo ja e nunca pensei em usa p iso gz

Compartilhar este post


Link para o post
Compartilhar em outros sites
Furiax    0
Furiax

bom tutorial para iniciantes saber como é feito o básico.

porem não aconselho usar o navegador feito, a segurança é nula.

Compartilhar este post


Link para o post
Compartilhar em outros sites
Pen Drive    0
Pen Drive

Parabéns cara, não manjo muito disso, mas se tu mostrasse como inserir um layout nele ficaria mais rox ainda :P

Compartilhar este post


Link para o post
Compartilhar em outros sites
Dark Skyllen    7
Dark Skyllen
Parabéns cara, não manjo muito disso, mas se tu mostrasse como inserir um layout nele ficaria mais rox ainda :P

 

Há diversas ferramentas do delphi pra você implementar no projeto. Mas não recomendo utilizarem isso como um navegador, o primeiro fato é de que não se usa Threads e também não existem recursos. Mas pra quem está iniciando, é uma boa aprender.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Faça login para comentar

Você vai ser capaz de deixar um comentário após fazer o login



Entrar Agora
Entre para seguir isso  

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×