Crear un Navegador con Delphi 7

Iniciado por KnightFire_Xen, 5 Mayo 2008, 04:30 AM

0 Miembros y 1 Visitante están viendo este tema.

KnightFire_Xen

Bueno, antes que nada hoy ingrese al mundo de la programacion en Delphi 7 con un tutorial echo por DarK_FirefoX y me parecio muy sencillo el trabajar con Delphi ya que todo lo grafico te lo hace por si mismo, solo te queda el trabajo de darle estilo y poner los eventos.

Mi primer meta en Delphi es realizar un Navegador como Internet Explorer o FireFox, pero como soy novato en esto solo le pondre lo basico que necesita un navegador.
Mi base es esta:



Necesito Ayuda y alguien q me tenga paciencia :P porque como dije soy novato, y tal vez me cueste entender. Pero como dije la Base esta :)

Mi codigo es este:
Citarunit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ComCtrls, OleCtrls, SHDocVw, StdCtrls, ExtCtrls, Menus, Buttons;

type
  TForm1 = class(TForm)
    Panel1: TPanel;
    Label1: TLabel;
    ComboBox1: TComboBox;
    Panel2: TPanel;
    WebBrowser1: TWebBrowser;
    ProgressBar1: TProgressBar;
    atras: TBitBtn;
    BitBtn2: TBitBtn;
    actualizar: TBitBtn;
    BitBtn4: TBitBtn;
    MainMenu1: TMainMenu;
    Archivo1: TMenuItem;
    Edicion1: TMenuItem;
    Ver1: TMenuItem;
    Herramientas1: TMenuItem;
    Ayuda1: TMenuItem;
    ir: TBitBtn;
    procedure ComboBox1Change(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.ComboBox1Change(Sender: TObject);
begin

end;

end.

La Pregunta es... ¿como hago para que mi programa navegue como IExplorer o FireFox?
E leido por ahi que primero debo poner en el Browser donde se tecla la www.ejemplo.com

esto:
Citarprocedure TFormulario.URLKeyDown( Sender: TObject; var Key: Word; Shift: TShiftState );
begin
  if key = VK_RETURN then
  begin
    WebBrowser.Navigate( URL.Text );
    URL.Items.Add( URL.Text );
  end;
end;
Pero cuando intento correrlo me aparece error

Citarprocedure TFormulario.URLKeyDown( Sender: TObject; var Key: Word; Shift: TShiftState );
begin
  if key = VK_RETURN then
  begin
    WebBrowser.Navigate( URL.Text );
    URL.Items.Add( URL.Text );
  end;
end;

Saque esto de esta web: ¿Puedo poner la Web? por q no se si esta permitido...

Les agradeceria si me dan una mano.
Aprendiendo a interactuar con mi ordenador :D
Comunidad Advance

DarK_FirefoX

#1
hola, que bueno, que te a interesado este lenguaje, realmente es muy util, voy a intentar darle respuesta a tu problema....

Primero este código no funciona

Código (delphi) [Seleccionar]
procedure TFormulario.URLKeyDown( Sender: TObject; var Key: Word; Shift: TShiftState );
begin
  if key = VK_RETURN then
  begin
    WebBrowser.Navigate( URL.Text );
    URL.Items.Add( URL.Text );
  end;
end;


Porque no se refiere a componentes existentes, en tu formulario no hay componenete nombrado URL, y el formulario no se llama Formulario, para cambiarle los nombres para referirse a ellos, hay que cambiar la propiedad Name.

Bien ahora lo que vamos a Hacer......te voy a poner un ejemplo.....
bien....primero lo que haces es insertar el componente WebBrowser en el formulario, esta en la paleta Internet.....Y lo insertas en el formulario, insertas un Edit1, y en la propiedad name le pones URL

El formulario se veria así....



Nota: veras que el Edit URL dice
Código (html4strict) [Seleccionar]
http://, se lo puse en la propiedad caption, para referirse a una URL hay que ponerle
Código (html4strict) [Seleccionar]
http://
luego vamos a programar ese Edit, el evento OnKeyDown que esta en la paleta Eventos del Inspector de Propiedades, le vas a poner:

Código (delphi) [Seleccionar]

if key = VK_RETURN then //Comprueba si la tecla que se pulso fue ENTER
  begin
    WebBrowser1.Navigate( URL.Text ); //Inicia la navegación en el WebBrowser utilizando la dirección contenida en el Edit URL
  end;




Nota: Este componente utiliza la configuración del Internet Explorer, o sea si el Internet Explorer tiene configuración Proxy, o plugin instalado este componente lo va a utilizar....

Si tienes alguna duda postea,

Salu2s

KnightFire_Xen

#2
hola :P antes que nada... y ya que te veo aqui te agradezco por el tutorial que me es muy necesario, ya que quiero empezar a programar :) y dentro de poco lo comenzare a estudiar programador.

volviendo al tema

Listo, gracias ahi lo solucione el problema estaba en que no ponia la Key que iva a utilizar  :-[

Muchas Gracias por tu ayuda :)

Saludos.
Aprendiendo a interactuar con mi ordenador :D
Comunidad Advance

acertij022

KnightFire_Xen hay un demo muy completo que viene on delphi en donde podras partiren C:\Archivos de programa\Borland\Delphi7\Demos


por otro lado el componente WebBrowser es una instancia del Interner Explorer tomando de este  su configuración con lo cual para setear que salga por ejemplo por otro proxy tendras que setearlo en Internet explorer
Ser inteligente no es saber más, sino equivocarce menos y no usar Visual Basic ...

DarK_FirefoX

Cita de: acertij022 en  5 Mayo 2008, 21:18 PM
....

por otro lado el componente WebBrowser es una instancia del Interner Explorer tomando de este  su configuración con lo cual para setear que salga por ejemplo por otro proxy tendras que setearlo en Internet explorer

Cita de: DarK_FirefoXNota: Este componente utiliza la configuración del Internet Explorer, o sea si el Internet Explorer tiene configuración Proxy, o plugin instalado este componente lo va a utilizar....

skapunky

Me alegra que te intereses en delphi, pero como programador de este te recomiendo una cosa, no te dejes guiar en que delphi pueda parecer fácil al utilizar casi directamente componentes...piensa que programar no es poner cajas de texto o labels, programar es conocer bien los tipos de variables,constantes, estructuras y tener una base de matemáticas y creación de algorismos.

Es por eso que yo siempre digo que antes de tocar el delphi, es mejor meter-se en pascal, (delphi en modo consola) porque aí es realmente donde se piensa como generar una rutian para hacer X cosa... o como ingeniarselas para hacer Y cosa....

Por cierto, para el navegador, se ha de utilizar el componente webbrowser...y no es complicado, aunque te recomiendo que antes de empezar con este componente aprendas pascal y luego te familiarizes con el entorno visual de delphi.

Despues de esto, ya veras como te saldran cosas por sí solas.
Killtrojan Syslog v1.44: ENTRAR

DarK_FirefoX

CitarEs por eso que yo siempre digo que antes de tocar el delphi, es mejor meter-se en pascal, (delphi en modo consola) porque aí es realmente donde se piensa como generar una rutian para hacer X cosa... o como ingeniarselas para hacer Y cosa....

Realmente estas en lo cierto, yo empeze con Pascal en la escuela, pero delphi nadie me lo enseño, lo aprendi yo mismo, etc,,

Salu2s

P4nd3m0n1um

Buenas gente del foro, tengo un prequeño problema que no puedo solucionar:

Tengo un simple programa que mediante a una lista, autocompleta una serie de 20 urls y son visualizadas en 20 webbrowsers, el problema esta en que cuando se selecciona un item de ese listview, se debe visitar el sitio que le corresponda a esta palabra y a su vez actualizar los 20 webbrowsers con la info que corresponde. Tengo todo armado, pero al momento de clickear en el primer item, todo funciona perfecto, pero luego al seleccionar otro lanza el siguiente error:


Alguna idea que pueda ser? el error me lo da sobre el primer webbrowser.

Código (delphi) [Seleccionar]
procedure TForm1.Button1Click(Sender: TObject);
begin
Edit1.Text := 'http://www.google.com.ar/' + ListView1.Selected.Caption;
Edit2.Text := 'http://www.google.com.ar/' + ListView1.Selected.Caption;
WebBrowser1.Navigate(Edit1.Text);
WebBrowser2.Navigate(Edit2.Text);
end;