Jump to content
Fivewin Brasil

Buscar uma Rua no Google via Activex


kapiaba

Recommended Posts



#include "FiveWin.ch"

function Verejemplo()

local oWnd, oActiveX
local cEvents := ""
local oMapa, mde_uf, mpara_uf, mde_cid, mpara_cid, mde_rua, mpara_rua

mpara_uf := "SP" // uf
mpara_cid := "SAO PAULO"//cidade
mpara_rua := "RUA ROCHA"//rua

mpara_uf := alltrim( mpara_uf )
mpara_cid := alltrim( mpara_cid )
mpara_rua := alltrim( mpara_rua )
msearch := mpara_rua + " " + mpara_cid + " " + mpara_uf

DEFINE WINDOW oWnd TITLE "FiveWin ActiveX Support"

oActiveX = TActiveX():New( oWnd, "Shell.Explorer" )

oWnd:oClient = oActiveX // To fill the entire window surface

oActiveX:Navigate( "http://google.com.br/search?q=" + msearch + "&oq=" + ;
msearch + "&aqs=chrome" )

oActiveX:bOnEvent = { | event, aParams, pParams | cEvents += EventInfo( event, aParams, pParams, oActiveX ) }

ACTIVATE WINDOW oWnd MAXIMIZED ;
VALID ( MemoEdit( cEvents ), .t. )

return nil

function EventInfo( event, aParams, pParams, oActiveX )

local cMsg := "Event: " + cValToChar( event ) + CRLF
local n

cMsg += "Params: " + CRLF

for n = 1 to Len( aParams )
cMsg += cValToChar( aParams[ n ] ) + CRLF
next

if event == "BeforeNavigate2"
// MsgInfo( aParams[ 2 ] )
// SetEventParam( pParams, 7, .t. ) // Comment this to allow navigation
endif

return cMsg + CRLF

Link to comment
Share on other sites


local oWnd, oActiveX

local cEvents := ""

local oMapa, mde_uf, mpara_uf, mde_cid, mpara_cid, mde_rua, mpara_rua

mpara_uf := "SP" // uf

mpara_cid := "SAO PAULO"//cidade

mpara_rua := "RUA ROCHA"//rua

mpara_uf := alltrim( mpara_uf )

mpara_cid := alltrim( mpara_cid )

mpara_rua := alltrim( mpara_rua )

msearch := mpara_rua + " " + mpara_cid + " " + mpara_uf

DEFINE WINDOW oWnd TITLE "FiveWin ActiveX Support"

oActiveX = TActiveX():New( oWnd, "Shell.Explorer" )

oWnd:oClient = oActiveX // To fill the entire window surface

oActiveX:Navigate( "https://www.google.com.br/maps/place/" + msearch )

ACTIVATE WINDOW oWnd MAXIMIZED

return nil

Link to comment
Share on other sites

// Ideia original:


// Special thanks ao autor do topico: Billy1943.



#Include "FiveWin.ch"

STATIC lSaida := .F., lLigaBotao := .F.

FUNCTION Google_Rua()

LOCAL oWnd, oActiveX, oFnt, oFont, nKey := VK_RETURN
LOCAL cEvents := ""
LOCAL oMapa, mde_uf, mpara_uf, mde_cid, mpara_cid, mde_rua, mpara_rua
LOCAL oGet1, oGet2, oGet3, oGet4, oBusca, oSaida

/*
mpara_uf := "SP" // uf
mpara_cid := "SAO PAULO"//cidade
mpara_rua := "RUA ROCHA"//rua
*/

mpara_uf := space(2)
mpara_cid := space(40) // PINDAMONHANGABA
mpara_rua := space(50)

SetGetColorFocus()

SkinButtons()

DEFINE FONT oFnt NAME "Ms Sans Serif" SIZE 0, 14 BOLD //UnderLine
DEFINE FONT oFont NAME "Ms Sans Serif" SIZE 0, -14 BOLD //UnderLine

DEFINE DIALOG oDlg TITLE "Buscar Rua no Google Maps" ;
FROM 0,0 TO 304, 480 PIXEL COLORS CLR_BLACK, CLR_WHITE TRANSPARENT

oDlg:lHelpIcon := .F.

Set( _SET_INSERT, ! Set( _SET_INSERT ) )

//@ 11, 01 say "PROCURAR :"
@ 1, 2 SAY "PROCURAR A RUA:" OF oDlg UPDATE FONT oFont ;
COLORS CLR_HRED, CLR_WHITE

//@ 13, 01 say "Estado ..:" get mpara_uf picture "@!"
@ 2, 2 SAY "Estado ..:" OF oDlg UPDATE FONT oFnt ;
COLORS CLR_HBLUE, CLR_WHITE

@ 30, 50 GET oGet1 VAR mpara_uf OF oDlg PIXEL SIZE 25, 12 PICTURE "@!" ;
CENTER UPDATE FONT oFnt COLORS CLR_BLACK, CLR_WHITE ;
VALID VALIDA_GET1( mpara_uf )

//@ 14, 01 say "Cidade ..:" get mpara_cid picture "@!"
@ 3, 2 SAY "Cidade ..:" OF oDlg UPDATE FONT oFnt ;
COLORS CLR_HBLUE, CLR_WHITE

@ 45, 50 GET oGet2 VAR mpara_cid OF oDlg PIXEL SIZE 175, 12 PICTURE "@!" ;
UPDATE FONT oFnt COLORS CLR_BLACK, CLR_WHITE ;
VALID VALIDA_GET2( mpara_cid )

//@ 15, 01 say "Endere‡o :" get mpara_rua picture "@!"
@ 4, 2 SAY OemToAnsi( "Endere‡o:" ) OF oDlg UPDATE FONT oFnt ;
COLORS CLR_HBLUE, CLR_WHITE

@ 65, 50 GET oGet3 VAR mpara_rua OF oDlg PIXEL SIZE 185, 12 PICTURE "@!" ;
UPDATE FONT oFnt COLORS CLR_BLACK, CLR_WHITE ;
VALID VALIDA_BOTAO( mpara_rua, oBusca )

@ 7.00, 13 BUTTON oBusca PROMPT "&Buscar" OF oDlg ;
WHEN( lLigaBotao ) ;
ACTION ( lSaida := .T., nKey := VK_RETURN, oDlg:End() )

@ 7.00, 21 BUTTON oSaida PROMPT "&Saida" OF oDlg ;
ACTION ( lSaida := .T., nKey := VK_ESCAPE, oDlg:End() ) CANCEL

oSaida:cToolTip := "Exit"

SET FONT OF oBusca TO oFont
SET FONT OF oSaida TO oFont

//read
ACTIVATE DIALOG oDlg CENTERED ;
VALID( lSaida )

oFnt:End()
oFont:End()

Set( _SET_INSERT, ! Set( _SET_INSERT ) )

DO CASE
CASE nKey == VK_ESCAPE .OR. GETKEYSTATE( VK_ESCAPE )

lSaida := .F.
lLigaBotao := .F.

RETURN NIL

ENDCASE

// By Billy1943 - Forum PC Toledo. Ideia Original. Agradecimentos.
mpara_uf := alltrim( mpara_uf )
mpara_cid := alltrim( mpara_cid )
mpara_rua := alltrim( mpara_rua )
msearch := mpara_rua + " " + mpara_cid + " " + mpara_uf

DEFINE WINDOW oWnd TITLE "FiveWin ActiveX Support"

oActiveX = TActiveX():New( oWnd, "Shell.Explorer" )

oWnd:oClient = oActiveX // To fill the entire window surface

/* // Tambem funciona assim
oActiveX:Navigate( "https://google.com.br/search?q=" + msearch + "&oq=" + ;
msearch + "&aqs=chrome" )
*/

// Erro de Script na Pagina?
oActiveX:Navigate( "https://www.google.com.br/maps/place/" + msearch )

oActiveX:bOnEvent = { | event, aParams, pParams | cEvents += EventInfo( event, aParams, pParams, oActiveX ) }

ACTIVATE WINDOW oWnd MAXIMIZED /* ; // Nao quero editar nada.
VALID ( MemoEdit( cEvents ), .t. ) */

RETURN NIL

FUNCTION VALIDA_GET1( cmpara_uf )

IF GETASYNCKEY( VK_UP ) // Para nao perder o foco do dialgo
RETURN( .F. )
ENDIF

IF EMPTY( cmpara_uf )

MsgInfo( OemToAnsi( "OPERA€ÇO INVµLIDA! " )+CRLF+ ;
OemToAnsi( "DIGITIE O NOME DA UF... " )+CRLF+ ;
OemToAnsi( "TECLE <ENTER> PARA CONTINUAR..." ), ;
OemToAnsi( "OPERA€ÇO INVµLIDA! " ) )

lLigaBotao := .F.

RETURN( .F. )

ENDIF

RETURN( .T. )

FUNCTION VALIDA_GET2( cmpara_cid )

IF EMPTY( cmpara_cid )

MsgInfo( OemToAnsi( "OPERA€ÇO INVµLIDA! " )+CRLF+ ;
OemToAnsi( "DIGITIE O NOME DA CIDADE... " )+CRLF+ ;
OemToAnsi( "TECLE <ENTER> PARA CONTINUAR..." ), ;
OemToAnsi( "OPERA€ÇO INVµLIDA! " ) )

lLigaBotao := .F.

RETURN( .F. )

ENDIF

RETURN( .T. )

FUNCTION VALIDA_BOTAO( cmpara_rua, oBusca )

IF EMPTY( cmpara_rua )

MsgInfo( OemToAnsi( "OPERA€ÇO INVµLIDA! " )+CRLF+ ;
OemToAnsi( "DIGITIE O NOME DA RUA... " )+CRLF+ ;
OemToAnsi( "TECLE <ENTER> PARA CONTINUAR..." ), ;
OemToAnsi( "OPERA€ÇO INVµLIDA! " ) )

lLigaBotao := .F.

RETURN( .F. )

ENDIF

// TUDO NORMAL, VAI BUSCAR NO GOOGLE

lLigaBotao := .T.

oBusca:Enable()
oBusca:Refresh()

RETURN( .T. )

FUNCTION EventInfo( event, aParams, pParams, oActiveX )

local cMsg := "Event: " + cValToChar( event ) + CRLF
local n

cMsg += "Params: " + CRLF

for n = 1 to Len( aParams )
cMsg += cValToChar( aParams[ n ] ) + CRLF
next

if event == "BeforeNavigate2"
// MsgInfo( aParams[ 2 ] )
// SetEventParam( pParams, 7, .t. ) // Comment this to allow navigation
endif

RETURN cMsg + CRLF

// END OF PROGRAM


Abs


Link to comment
Share on other sites

  • 1 month later...
Para ajudar a garantir que o novo Google Maps seja exibido corretamente, sugerimos que você remova google.com.br da lista de sites que têm o "Modo de Exibição de Compatibilidade" ativado.


1.No Internet Explorer, clique com botão direito do mouse no ícone da roda dentada no canto superior direito, ao lado do ícone de estrela "favoritos". Se este ícone de roda dentada ou os menus "Arquivo" e "Ferramentas" no topo da janela não estiverem visíveis, pressione a tecla F10 para exibi-los.

2.Selecione a Barra de comandos.

3.Abra o menu Ferramentas na parte superior do navegador e selecione Configurações do Modo de Exibição de Compatibilidade.

4.Selecione google.com.br em "Sites que você adicionou ao Modo de Exibição de Compatibilidade".

5.Clique em Remover.


No meu caso funcionou adicionando o google.com.br


Vai entender.... Votyyy!!


abs.

Link to comment
Share on other sites

  • 2 weeks later...

Giovany, sabe como eu saio dessa?

Parece que o "Modo de Exibição de Compatibilidade" do Internet Explorer está ativado. O Google Maps não funcionará corretamente até que este recurso seja desativado.

???

Obg. abs.

Oi Desculpa ai, não tinha visto a postagem.

Quando o programa usa o sistema Webbrowser do windows há algumas configurações que voce pode efetuar para regular o modo de compatibilidade com o Navegador.

Use a Função SET_EXE_WEBBROWSER(f_cNameProg,f_nVersaoNavegador)

Ex: SET_EXE_WEBBROWSER("GOOGLE.EXE",10)

#define  HKEY_LOCAL_MACHINE      2147483650


FUNCTION SET_EXE_WEBBROWSER(f_cNameProg,f_nVersaoNavegador)
  Local nFlagIE := 0

  Default f_nVersaoNavegador := 8 // Compativel com Ie 8

  If f_nVersaoNavegador == 7
    nFlagIE := 7001
  ElseIf f_nVersaoNavegador == 8
    nFlagIE := 8888
  ElseIf f_nVersaoNavegador == 9
    nFlagIE := 9999
  ElseIf f_nVersaoNavegador == 10
    nFlagIE := 10001
  ElseIf f_nVersaoNavegador == 11
    nFlagIE := 11001
  EndIf

  if HB_OSIS64BIT()

    oRegKey := TReg32():New( HKEY_LOCAL_MACHINE,;
         "SOFTWARE\Wow6432Node\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION" )
    oRegKey:Set(f_cNameProg,nFlagIE,4)
    oRegKey:Close()

    oRegKey := TReg32():New( HKEY_LOCAL_MACHINE,;
         "SOFTWARE\Wow6432Node\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_ENABLE_WEB_CONTROL_VISUALS" )
    oRegKey:Set(f_cNameProg,1,4)
    oRegKey:Close()

    oRegKey := TReg32():New( HKEY_LOCAL_MACHINE,;
         "SOFTWARE\Wow6432Node\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_TABBED_BROWSING" )
    oRegKey:Set(f_cNameProg,1,4)
    oRegKey:Close()

  Else

    oRegKey := TReg32():New( HKEY_LOCAL_MACHINE,;
         "SOFTWARE\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BROWSER_EMULATION" )
    oRegKey:Set(f_cNameProg,nFlagIE,4)
    oRegKey:Close()

    oRegKey := TReg32():New( HKEY_LOCAL_MACHINE,;
         "SOFTWARE\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_ENABLE_WEB_CONTROL_VISUALS" )
    oRegKey:Set(f_cNameProg,1,4)
    oRegKey:Close()

    oRegKey := TReg32():New( HKEY_LOCAL_MACHINE,;
         "SOFTWARE\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_TABBED_BROWSING" )
    oRegKey:Set(f_cNameProg,1,4)
    oRegKey:Close()

  EndIf

Return Nil
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...