Clipper On Line • Ver Tópico - Buscar uma Rua no Google via Activex

Buscar uma Rua no Google via Activex

Discussão sobre a biblioteca Fivewin - O Clipper para Windows.

Moderador: Moderadores

 

Buscar uma Rua no Google via Activex

Mensagempor Kapiaba » 01 Out 2014 12:25

// Ideia original:
// viewtopic.php?f=1&t=15482
// 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

Kapiaba
Colaborador

Colaborador
 
Mensagens: 1766
Data de registro: 07 Dez 2012 15:14
Cidade/Estado: São Paulo
Curtiu: 311 vezes
Mens.Curtidas: 119 vezes

Buscar uma Rua no Google via Activex

Mensagempor Kapiaba » 02 Out 2014 10:38

Anexo o arquivo: Google.zip completo para todos.

abs,
Anexos
GOOGLE.ZIP
Pegar Rua Via Google Maps
(1.02 MiB) Baixado 73 vezes
Kapiaba
Colaborador

Colaborador
 
Mensagens: 1766
Data de registro: 07 Dez 2012 15:14
Cidade/Estado: São Paulo
Curtiu: 311 vezes
Mens.Curtidas: 119 vezes




Retornar para FiveWin

Quem está online

Usuários vendo este fórum: Nenhum usuário registrado online e 2 visitantes


Ola Amigo, espero que meu site e forum tem lhe beneficiado, com exemplos e dicas de programacao.
Entao divulgue o link da Doacao abaixo para seus amigos e redes sociais ou faça uma doacao para o site forum...
MUITO OBRIGADO PELA SUA DOACAO!
Faça uma doação para o forum
cron
v
Olá visitante, seja bem-vindo ao Fórum Clipper On Line!
Efetue o seu login ou faça o seu Registro