Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Internet
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 12-10-2008
Avatar de jeremiselxi
jeremiselxi jeremiselxi is offline
Miembro
 
Registrado: ago 2008
Posts: 199
Poder: 16
jeremiselxi Va por buen camino
grabar las paginas de mi navegador en un combobox

hola foro...
hice un navegador pero tiene deficiencia aunque tiene algo que es jevi cuando tienes una empresa y es que si quieres lo puedes programar para que solo navege en determinadas paginas y si se sale de ahi no despliega la pagina. lo primero que hare es mostrar los codigos de mi navegador y luego si les dire en lo que quiero que me ayuden. Mostrare los codigos y los componentes que uso para que si alguien quiere hacer un navegador tambien lo haga.

Incorpora los siguientes componentes:

- Un panel en la parte superior con su propiedad Align fijada a alTop (pegado arriba).

- Dentro del panel tenemos una etiqueta para la dirección.

- Un componente ComboBox llamado URL para la barra de direcciones.

- Tres botones para ir atrás, adelante y para detener.

- Una barra de progreso para mostrar la carga de la página web el cual llamaremos proceso.

- Un componente WebBrower ocupando el resto del formulario mediante su propiedad Align en alClient, de tal manera que si maximizamos la ventana se respete el posicionamiento de todos los componentes.

mas abajo dejo una imagen de como quedara este navegador.

http://bp3.blogger.com/_pysjFhCcEYY/...ebbrowser2.jpg

ahora los codigos

Cita:
unit Unit1;

interface

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

type
TForm1 = class(TForm)
Panel1: TPanel;
Label1: TLabel;
url: TComboBox;
Button1: TButton;
Button2: TButton;
Button3: TButton;
progreso: TProgressBar;
WebBrowser1: TWebBrowser;
procedure urlKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure WebBrowser1BeforeNavigate2(Sender: TObject;
const pDisp: IDispatch; var URL, Flags, TargetFrameName, PostData,
Headers: OleVariant; var Cancel: WordBool);
procedure WebBrowser1ProgressChange(Sender: TObject; Progress,
ProgressMax: Integer);
procedure WebBrowser1DocumentComplete(Sender: TObject;
const pDisp: IDispatch; var URL: OleVariant);
procedure WebBrowser1NewWindow2(Sender: TObject; var ppDisp: IDispatch;
var Cancel: WordBool);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.urlKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key =vk_return then // si presionas Intro entonces
begin
webbrowser1.Navigate(url.Text ); //se mostrara la pagina
url.Items.Add(url.Text ); //y se guardara en el combobox llamado url
end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
try
webbrowser1.GoBack; //para darle hacia atras
except
on EDivByZero do //para controlar un error
ShowMessage('ya estas en la primera pagina');
else
ShowMessage('ya estas en la primera pagina');
end;
//nota: si lo corres desde el mismo delphi te dara un error cuando le das atras
//el error es , un error inesperado, pero cuando vas al ejecutable y lo pruebas sale el mensaje
//ya estas en la primera pagina
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
try
webbrowser1.GoForward ;
except
on EDivByZero do //para controlar un error
ShowMessage('ya estas en la ultima pagina');
else
ShowMessage('ya estas en la ultima pagina');
end;
//lo mismo que el boton atras
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
webbrowser1.Stop ;//para darle un stop al navegador
end;

procedure TForm1.WebBrowser1BeforeNavigate2(Sender: TObject;
const pDisp: IDispatch; var URL, Flags, TargetFrameName, PostData,
Headers: OleVariant; var Cancel: WordBool);
begin
if Pos( 'google', URL ) = 0 then // esto es para que solo navege en paginas que se mustre la palabra google
Cancel := True; // si quieres puedes quitar estas dos lineas de codigos para que se vean todas las paginas

Progreso.Show; // esta la dejas para que se llene el progresbar
end;

procedure TForm1.WebBrowser1ProgressChange(Sender: TObject; Progress,
ProgressMax: Integer);
begin
progreso.Max := progressmax;
progreso.Position := progress;
end;

procedure TForm1.WebBrowser1DocumentComplete(Sender: TObject;
const pDisp: IDispatch; var URL: OleVariant);
begin
progreso.Hide ;
end;

procedure TForm1.WebBrowser1NewWindow2(Sender: TObject;
var ppDisp: IDispatch; var Cancel: WordBool);

begin
Cancel := True;
end;

end.
ahora bien, las deficiencias son
en este codigo

Cita:

procedure TForm1.urlKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key =vk_return then // si presionas Intro entonces
begin
webbrowser1.Navigate(url.Text ); //se mostrara la pagina
url.Items.Add(url.Text ); //y se guardara en el combobox llamado url
end;
end;
ya que cuando escribo una direccion ejemplo google.com, me la muestra y me la graba en el combobox llamado url, pero cuando busco algo dentro de google, esos cambios de paginas que se hacen no se como guardarlas en un combobox, es decir, lo que quiero es que me ayuden a que cuando cambien de pagina se me guarde esas paginas en el combobox.

otro cosa, si nos fijamos en los navegadores ellos utilizan pagecontrol para mostrar los titulos de las paginas, lo que quiero es que me ayuden tambien a como poder agregarle un pagecontrol, y un popupmenu con una opcion que diga pagina nueva, y ahi la pagina que dijite se me cree un new page en el caption con el titulo de la pagina visitada. ayudenme para que otros tambien si quieren hacer este navegador, puedan tambien hacerlo, ya que como dije arriba, en nuestra empresa si queremos que los empleados visiten solo algunas paginas las podemos programar con este codigo
Cita:

procedure TForm1.WebBrowser1BeforeNavigate2(Sender: TObject;
const pDisp: IDispatch; var URL, Flags, TargetFrameName, PostData,
Headers: OleVariant; var Cancel: WordBool);
begin
if Pos( 'google', URL ) = 0 then // esto es para que solo navege en paginas que se mustre la palabra google
Cancel := True; // si quieres puedes quitar estas dos lineas de codigos para que se vean todas las paginas

Progreso.Show; // esta la dejas para que se llene el progresbar
end;
ahora, si queremos que navege en todas lo pones asi
Cita:

procedure TForm1.WebBrowser1BeforeNavigate2(Sender: TObject;
const pDisp: IDispatch; var URL, Flags, TargetFrameName, PostData,
Headers: OleVariant; var Cancel: WordBool);
begin
Progreso.Show; // esta la dejas para que se llene el progresbar
end;
__________________
Cristo te ama, ven a d él, ya k te espera con los brazos abiertos. Dios te bendiga mucho
Responder Con Cita
  #2  
Antiguo 17-10-2008
Avatar de cHackAll
[cHackAll] cHackAll is offline
Baneado?
 
Registrado: oct 2006
Posts: 2.159
Poder: 20
cHackAll Va por buen camino
TWebBrowser.OnBeforeNavigate2 y/ó TWebBrowser.OnNavigateComplete

Código Delphi [-]
//...

var Address: string;
begin
 Address := URL;
 if ComboBox1.Items.IndexOf(Address) = -1 then
  ComboBox1.AddItem(Address, nil);

//...
__________________
RTFM > STFW > Foro > Truco > Post > cHackAll > KeBugCheckEx
Responder Con Cita
  #3  
Antiguo 19-10-2008
Avatar de jeremiselxi
jeremiselxi jeremiselxi is offline
Miembro
 
Registrado: ago 2008
Posts: 199
Poder: 16
jeremiselxi Va por buen camino
respuesta

muchas gracias baneado. me sirvio de mucho tu aportacion. mil gracias
__________________
Cristo te ama, ven a d él, ya k te espera con los brazos abiertos. Dios te bendiga mucho
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Genero comboBox en dbgrid y cuando hago dos veces click desaparece el comboBox. mcalmanovici Varios 1 29-02-2012 15:09:15
Navegador web... jmgc1982 C++ Builder 2 20-06-2008 07:47:31
como mostrar la ventana de lenar inten de un combobox en tiempo de un combobox gulder Varios 3 19-05-2007 19:55:58
Páginas PHP de Delphi en navegador web!! Ismael Campos PHP 21 19-05-2007 07:37:22
Navegador web con clx bismarck_sierra Internet 3 29-06-2004 18:42:12


La franja horaria es GMT +2. Ahora son las 19:29:20.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi