Olá Felipe. Legal. Ficou interessante a criação do HTML nessa variável. Bem mais fácil e claro. Agora o bom é que também já sei por onde seguir hora que for colocar no sistema. Já batemos cabeça. Rsrs
Abraço. Claudiney Cogo N2 Sistemas e Soluções em Informática Av. São Paulo, 172 - 15º Andar - Sala 1505 Fone/Fax: (44) 3029-6053 - Maringá - Paraná www.n2solutions.com.br www.nfe.n2solutions.com.br www.studion2.com.br -----Mensagem original----- De: delphi-br@yahoogrupos.com.br [mailto:delphi...@yahoogrupos.com.br] Em nome de Felipe Oriani Enviada em: terça-feira, 8 de setembro de 2009 19:28 Para: delphi-br@yahoogrupos.com.br Assunto: Re: [delphi-br] Componente WebBrowser Olá Claudinei, tudo bem ? Deu certo sim =D! Eu tentei fazer escrevendo o html com aquela função que citei no começo... do mesmo jeito que você disse! Parametrizei na url do iframe com as informações do endereço que preciso e gerei um html assim: 'monta html necessário HTML := HTML + '<html>'; HTML := HTML + ' <body>'; HTML := HTML + ' <iframe .... />'; HTML := HTML + ' </body>'; HTML := HTML + '</html>'; 'seta no mapa WBLoadHTML(wbMapa, HTML); Depois utilizei a função inicial que coloquei no primeiro post e mandei exibir. Fico bem legal! Acho que o ActiveX estava impedindo a execução do maps no WebBrowser. Antes estava tentando fazer manualmente com javascript... enfim! ficou legal! Caso alguém precise, está ai a solução. Detalhe que para usar essa função que citei no primeiro post, é necessário incluir a biblioteca ActiveX. Valeu Claudinei! Abraços Att, 2009/9/8 Claudiney - Listas <claudiney-lis...@n2solutions.com.br> > > > Olá Felipe. > > Realmente pra utilizar o IFRAME você precisa ter um arquivo HTML que > contenha ele. O mais tranqüilo eu acredito que seja gerar um pequeno HTML > temporário com os dados que você quer apresentar e chamar este HTML no > navigate do webbrowser. Não vejo outra maneira de fazer isso, já que o > iframe é parte de um arquivo HTML. Algo mais ou menos assim: > > <html> > > <head> > > <title>Teste</title> > > </head> > > > <iframe width="425" height="350" frameborder="0" scrolling="no" > marginheight="0" marginwidth="0" src="http://maps.google.com/maps?q=av. > sao paulo 175 maringa&output=embed&sll=37.0625,- > 95.677068&sspn=31.150864,59.238281&ie=UTF8&ll=-23.413083,- > > 51.940784&spn=0.008801,0.014462&z=14&om=1&s=AARTsJqGyCChOuky > MX_CAaQ01tl-1QdG4A"></iframe> > > </html> > > Assim já mostra o mapa, mas não apresenta o link para o mapa ampliado... > para isso é só colocar o código inteiro que te passei antes. > > Outra coisa é tentar o seguinte... > > Crie essa função: > > > procedure WBLoadHTML(WebBrowser: TWebBrowser; HTMLCode: string) ; > var > > sl: TStringList; > ms: TMemoryStream; > begin > WebBrowser.Navigate('about:blank') ; > while WebBrowser.ReadyState < READYSTATE_INTERACTIVE do > Application.ProcessMessages; > > if Assigned(WebBrowser.Document) then > begin > sl := TStringList.Create; > try > ms := TMemoryStream.Create; > try > sl.Text := HTMLCode; > sl.SaveToStream(ms) ; > ms.Seek(0, 0) ; > (WebBrowser.Document as > IPersistStreamInit).Load(TStreamAdapter.Create(ms)) ; > finally > ms.Free; > end; > finally > > sl.Free; > end; > end; > end; > > Agora tente carregar o html nela.. o iframe direto: > > WBLoadHTML(WebBrowser1, <iframe width="425" height="350" frameborder="0" > scrolling="no" marginheight="0" marginwidth="0" > src="http://maps.google.com/maps?q=av. sao paulo 175 > maringa&output=embed&sll=37.0625,- > 95.677068&sspn=31.150864,59.238281&ie=UTF8&ll=-23.413083,- > > 51.940784&spn=0.008801,0.014462&z=14&om=1&s=AARTsJqGyCChOuky > MX_CAaQ01tl-1QdG4A"></iframe>) > > Algo mais ou menos assim... Essa função não é minha... só copiei, portanto > não sei te dizer se funciona 100%, mas acredito que sim. > > Pode ser que isso resolva o problema de não ter que criar um HTML só pra > isso. > > Depois me diz se a função deu certo.. > > Abraço. > > _____ > > Claudiney Cogo > N2 Sistemas e Soluções em Informática > Av. São Paulo, 172 - 15º Andar - Sala 1505 > Fone/Fax: (44) 3029-6053 - Maringá - Paraná > <http://www.n2solutions.com.br/> www.n2solutions.com.br > <http://www.nfe.n2solutions.com.br/> www.nfe.n2solutions.com.br > <http://www.studion2.com.br/> www.studion2.com.br > > De: delphi-br@yahoogrupos.com.br <delphi-br%40yahoogrupos.com.br> [mailto: > delphi-br@yahoogrupos.com.br <delphi-br%40yahoogrupos.com.br>] Em > nome de Felipe Oriani > Enviada em: terça-feira, 8 de setembro de 2009 11:34 > Para: delphi-br@yahoogrupos.com.br <delphi-br%40yahoogrupos.com.br> > Assunto: Re: [delphi-br] Componente WebBrowser > > Olá Claudinei, é extamente este meu problema... rs.. não quero exibir o > restante da página... apenas o mapa do google! > Eu fiz da mesma forma que você disse (a primeira), coloquei o link com os > parametros na url e ficou show, porém ele exibe a página inteira e permite > que o usuário comece a acessar outras coisas além do mapa... o que não > quero > que aconteça! > > Mas também não queria deixar um arquivo .html externo ao meu .exe.... então > estou tentando escrever o html direto e jogar no WebBrowser... > > Claudinei, como você fez? No caso temos o IFrame, você setou este código > html direto no webbrowser, como posso fazer isso? ou utilizou um arquivo > html externo a aplicação com este código do iframe ??? Caso tenha usado o > arquivo .html, como parametrizou o arquivo html ? > > Obrigado pela atenção Claudinei! > > Abraços > Att, > > 2009/9/8 Claudiney - Listas <claudiney-lis...@n2solutions.com.br<claudiney-listas%40n2solutions.com.br> > <mailto:claudiney-listas%40n2solutions.com.br<claudiney-listas%2540n2solutio ns.com.br>> > > > > > > > > > > Olá Felipe. > > > > Fiz algo parecido em um sistema. > > > > Criei um form só com o componente webbrowser e os botões necessário pra > > fechar ou alguma função mais que precise. > > > > Depois no meu cadastro, coloquei um botão na frente do endereço que chama > o > > mapa, dessa maneira: > > > > Application.CreateForm(TFrmMapa, FrmMapa); > > > > FrmMapa.WebBrowser1.Navigate('http://maps.google.com/maps?q=' + > > > > TrimRight(DBEdtEndereco.Text) + ',' + > > > > TrimRight(DBEDTCidade.Text) + ',' + > > > > TrimRight(DBCBEstado.Text) + ', Brasil'); > > > > FrmMapa.ShowModal; > > > > FrmMapa.Free; > > > > Isso resolveu sem problemas. A única coisa é que carrega a página toda do > > googlemaps. Tem outra forma que não inclui no sistema ainda que carrega > só > > o > > mapa. Só questão de configurar os campos. Assim: > > > > <iframe width="425" height="350" frameborder="0" scrolling="no" > > marginheight="0" marginwidth="0" src=" > http://maps.google.com/maps?q=av.sao > > paulo 175 > > > > > > maringa&sll=37.0625,-95.677068&sspn=31.150864,59.238281&ie=UTF8& > > > > > > amp;ll=-23.413083,-51.940784&spn=0.008801,0.014462&z=14&om=1& > > ;output=embed&s=AARTsJqGyCChOukyMX_CAaQ01tl-1QdG4A"></iframe><br > > /><small><a href="http://maps.google.com/maps?q=av. sao paulo 175 > > > > > > maringa&sll=37.0625,-95.677068&sspn=31.150864,59.238281&ie=UTF8& > > > > > > amp;ll=-23.413083,-51.940784&spn=0.008801,0.014462&z=14&om=1& > > ;source=embed" target="_blank" > style="color:#0000FF;text-align:left">Exibir > > mapa ampliado</a></small><br> > > > > Esse é o fonte da página que ele usa. Claro que é possível parametrizar e > > fazer uma função. A parte em negrito é onde tá o endereço. > > > > Abraço. > > > > _____ > > > > Claudiney Cogo > > N2 Sistemas e Soluções em Informática > > Av. São Paulo, 172 - 15º Andar - Sala 1505 > > Fone/Fax: (44) 3029-6053 - Maringá - Paraná > > <http://www.n2solutions.com.br/> www.n2solutions.com.br > > <http://www.nfe.n2solutions.com.br/> www.nfe.n2solutions.com.br > > <http://www.studion2.com.br/> www.studion2.com.br > > > > De: delphi-br@yahoogrupos.com.br <delphi-br%40yahoogrupos.com.br><mailto: > delphi-br%40yahoogrupos.com.br <delphi-br%2540yahoogrupos.com.br>> > <delphi-br%40yahoogrupos.com.br> [mailto: > > delphi-br@yahoogrupos.com.br <delphi-br%40yahoogrupos.com.br> <mailto: > delphi-br%40yahoogrupos.com.br <delphi-br%2540yahoogrupos.com.br>> > <delphi-br%40yahoogrupos.com.br>] Em > > nome de Felipe Oriani > > Enviada em: segunda-feira, 7 de setembro de 2009 15:29 > > Para: delphi-br@yahoogrupos.com.br <delphi-br%40yahoogrupos.com.br><mailto: > delphi-br%40yahoogrupos.com.br <delphi-br%2540yahoogrupos.com.br>> > <delphi-br%40yahoogrupos.com.br> > > > Assunto: [delphi-br] Componente WebBrowser > > > > > > Olá Pessoal, como vai ? Tenho uma aplicação em delphi 7 e gostaria de > > exibir > > o google maps a partir de um endereço. Estou tentando fazer manualmente > mas > > estou com alguns problemas. Tentei associar um arquivo html a um > componente > > webbrowser e funcionou porém não consegui parametrizar. Gostaria de não > > precisar deste arquivo html (externo) a minha aplicação então resolvi > > colocar o código HTML dentro de minha aplicação. Assim encontrei na web > uma > > função que me permite escrever html em um componente webbrowser (veja a > > função no final do email). O problema é que quando executo no browser > este > > HTML ele funciona sem problemas, porém ele pede autorização do IE para > > executar um ActiveX, e quando rodo este no Delphi ele da um erro (alert > de > > javascript... sem mensagem) e não exibe o mapa... imagino que deva ser > por > > causa do ActiveX. > > Minha dúvida: Existe alguma forma de ativar a execução de ActiveX no > > WebBrowser do Delphi ??? > > > > OU > > > > Gostaria de saber se existe algum componente a parte que permita que eu > > passe o enderço, cidade, estado, cep, para ele e ele me desse a > localização > > no maps ??? > > > > Obrigado > > Att, > > > > Função que estou usando para exibir um código HTML em um WebBrowser: > > > > procedure WBLoadHTML(WebBrowser: TWebBrowser; HTMLCode: string) ; > > var > > sl: TStringList; > > ms: TMemoryStream; > > begin > > WebBrowser.Navigate('about:blank') ; > > while WebBrowser.ReadyState < READYSTATE_INTERACTIVE do > > Application.ProcessMessages; > > > > if Assigned(WebBrowser.Document) then > > begin > > sl := TStringList.Create; > > try > > ms := TMemoryStream.Create; > > try > > sl.Text := HTMLCode; > > sl.SaveToStream(ms) ; > > ms.Seek(0, 0) ; > > (WebBrowser.Document as > > IPersistStreamInit).Load(TStreamAdapter.Create(ms)) ; > > finally > > ms.Free; > > end; > > finally > > sl.Free; > > end; > > end; > > end; > > > > -- > > ______________________________________ > > Felipe B. Oriani > > fbori...@gmail.com <fboriani%40gmail.com> <mailto:fboriani%40gmail.com<fboriani%2540gmail.com>> > <fboriani%40gmail.com> > <mailto:fboriani%40gmail.com <fboriani%2540gmail.com><fboriani% > 2540gmail.com>> > > | www.felipeoriani.com.br > > > > "...Examina o sentido, o modo e a direção de tuas palavras, antes de > > pronunciá-las.." por Emmanuel > > > > [As partes desta mensagem que não continham texto foram removidas] > > > > [As partes desta mensagem que não continham texto foram removidas] > > > > > > > > -- > ______________________________________ > Felipe B. Oriani > fbori...@gmail.com <fboriani%40gmail.com> <mailto:fboriani%40gmail.com<fboriani%2540gmail.com>> > | www.felipeoriani.com.br > > "...Examina o sentido, o modo e a direção de tuas palavras, antes de > pronunciá-las.." por Emmanuel > > [As partes desta mensagem que não continham texto foram removidas] > > [As partes desta mensagem que não continham texto foram removidas] > > > -- ______________________________________ Felipe B. Oriani fbori...@gmail.com | www.felipeoriani.com.br "...Examina o sentido, o modo e a direção de tuas palavras, antes de pronunciá-las.." por Emmanuel [As partes desta mensagem que não continham texto foram removidas] ------------------------------------ -- <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>