Andreatti 0 Denunciar post Postado Abril 10, 2011 Boa noite galera do imaster. Venho eu aqui, humildimente pedir vossa ajuda. Bom. Sou inciante em programaçao e to tentando criar um webBroswer, para fins de aprendizado e busca de conhecimento sobre as ferramentas que o glorioso delphi disponibiliza. Eu consegui criar o browser, porem ainda tem alguns problemas que eu queria resolver e ainda nao consegui achar a soluçao, como por exemplo: Eu digito www.orkut.com.br e clico em GO, ele acessa o orkut e eu consigo logar. Porem ... se eu clicar em alun link.. ou ate msm enquanto a pagina do orkut carrega... ele nao mostra o link para o qual ele foi redirecionado. Continua sempre o endereço que eu digitei... Ou seja... se eu for no google e pesquisar: Naruto Project eu consigo achar e acessar o site. Porem msm apos eu entrar no site ... continua la.... www.google.com.br. Eu tentei resolver isso usando o meuconponente.LocationURL soh que nao deu mt certo, pois o processo de compila do delphi é mais rapido do que o carregar da pagina... e ele pega o endereco que estava aberto na hora do clique. Segue meu codigo.(agora eu retirei essa parte do .locationURL) unit Nav; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, OleCtrls, SHDocVw, sSkinManager, Menus, jpeg; type TfmNav = class(TForm) Panel1: TPanel; btnBack: TButton; btnRefresh: TButton; Button3: TButton; edtEnd: TEdit; btnForwrd: TButton; webPage: TWebBrowser; MainMenu1: TMainMenu; File1: TMenuItem; File2: TMenuItem; About1: TMenuItem; Sair1: TMenuItem; Help1: TMenuItem; Verso1: TMenuItem; Desenvolvedor1: TMenuItem; Configuraes1: TMenuItem; btnHome: TButton; cbFavorite: TComboBox; Image1: TImage; procedure btnRefreshClick(Sender: TObject); procedure btnForwrdClick(Sender: TObject); procedure btnBackClick(Sender: TObject); procedure btnGoClick(Sender: TObject); procedure FormShow(Sender: TObject); procedure Sair1Click(Sender: TObject); procedure btnHomeClick(Sender: TObject); private { Private declarations } public { Public declarations } end; var fmNav: TfmNav; implementation {$R *.dfm} procedure TfmNav.btnBackClick(Sender: TObject); begin webPage.GoBack; end; procedure TfmNav.btnForwrdClick(Sender: TObject); begin webPage.GoForward; end; procedure TfmNav.btnHomeClick(Sender: TObject); begin webPage.Navigate('www.google.com.br'); edtEnd.Text := (webPage.LocationURL); end; procedure TfmNav.btnRefreshClick(Sender: TObject); begin webPage.Refresh; end; procedure TfmNav.btnGoClick(Sender: TObject); begin webPage.Navigate(edtEnd.text); fmNav.Caption := (' Navegador Basico - By Andreatti'); end; procedure TfmNav.FormShow(Sender: TObject); begin webPage.Navigate('www.google.com.br'); edtEnd.Text := ('www.google.com.br'); end; procedure TfmNav.Sair1Click(Sender: TObject); begin close; end; end. Espero que tenhan entendido minha duvida.. E fazendo isso gostaria tmb de que o nome do site(ou a pagina aberta) aparece na minha barra de titulos do browser... Soh funciono comigo usando o google... ele aprecia no caption do form... Agradeço desde jha... Uga Compartilhar este post Link para o post Compartilhar em outros sites
dudaxan 0 Denunciar post Postado Abril 11, 2011 Para adicionar a URL do site no seu edit, adicione o seguinte código no evento "OnDocumentComplete" do TWebBrowser: procedure TfmNav.webPageDocumentComplete(Sender: TObject; const pDisp: IDispatch; var URL: OleVariant); begin edtEnd.Text := URL; end; Para exibir o título da página no seu form, adicione no evento "OnTitleChange" do webbrowser: procedure TfmNav.webPageTitleChange(Sender: TObject; const Text: WideString); begin Self.Caption := Text; end; Espero que isso te ajude! Compartilhar este post Link para o post Compartilhar em outros sites
Andreatti 0 Denunciar post Postado Abril 12, 2011 Resolveu sim... Otimo.. Agora por exemplo..se eu colcasse nessa parte: Para exibir o título da página no seu form, adicione no evento "OnTitleChange" do webbrowser: procedure TfmNav.webPageTitleChange(Sender: TObject; const Text: WideString); begin Self.Caption := Text; end; Se eu mudasse o Self.caption para: procedure TfmNav.webPageTitleChange(Sender: TObject; const Text: WideString); begin TForm.Caption := Text; end; Funcionaria?? Eh porque eu vo ficar sem delphi aqui para fazer uns testes por uns dias... so deu tempo de testar o codigo que voce me passou. Agradeço se voce me responder nvoamente. Obrigado desde jah. OBS: Eu nao acredito que eu nao vi escrito WEB BROSER no titulo do post. -.-" Compartilhar este post Link para o post Compartilhar em outros sites
bdexterholland 0 Denunciar post Postado Abril 12, 2011 TForm.Caption não é possível não pois TForm é a classe, ela é apenas o modelo, você precisa mexer no objeto (Form1 ou o Self) Compartilhar este post Link para o post Compartilhar em outros sites
Andreatti 0 Denunciar post Postado Abril 12, 2011 hmm.. Entendi.. Obrigado ai... Ajudou muito Compartilhar este post Link para o post Compartilhar em outros sites