Google Maps en Visual Foxpro

sábado, agosto 1st, 2020

En el siguiente post exploraremos las posibilidades de mostrar paginas web Html5 incrustadas en un formulario de Visual Fox Pro.

A lo largo del tiempo muchos desarrolladores de Visual FoxPro  hemos sufrido la inminente obsolescencia de Internet Explorer, a pesar de que la última versión es la 11.0, al incluir el control Internet Explorer en nuestros formularios las paginas web simplemente no se muestran bien  por que no soportan las etiquetas de CSS modernas o etiquetas HTML5 como por ejemplo la etiqueta de vídeo.

Por ejemplo si tu quieres mostrar una pagina que contenga el siguiente código HTML no funcionará por que el control Intenet Explorer sigue anclado a la versión 7 que salio haya por el año 2006.

<video width=»320″ height=»240″ controls>  <source src=»movie.mp4″ type=»video/mp4″>  <source src=»movie.ogg» type=»video/ogg»>Your browser does not support the video tag.</video>

Basado en un post encontrado en el blog de Rick Strahl’s   existe una manera de poder «hackear» el registro de windows para que pueda emular Internet explorer 11.0 en los formularios de Foxpro a continuación el proceso:

Paso 1) Modificar el registro de windows:

1.1) Menu Inicio>ejecutar>regedit

1.2)Buscar la clave:

HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION

1.3) y en ella generamos una nueva clave valor Dword32 

1.4) asignar por nombre vfp9.exe 

1.5) poner por valor 11001 decimal 

Recapitulando : 

  1. Abrir Regedit 
  2. Buscar :HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION
  3. Crear un nuevo valor Dword32
  4. Asignar nombre vfp9.exe 
  5. Poner valor 11001

Paso 2) Creando el formulario para desplegar el mapa 

Una vez hemos modificado el registro, cuando agreguemos un control para navegar en Foxpro sera capaz de reconocer código Html5 como la ya mecionada  etiquetas de vídeo; asi como tambien Mapas de Google Maps; por lo que bastará con abrir Foxpro cortar y pegar el siguiente código en la ventana de comandos y listo tendremos un mapa en nuestro form directamente incrustado.

Public Mapform1
Mapform1=Newobject(«MapForm»)
Mapform1.Show
Read Events
Define Class MapForm As Form
    Height = 500
    Width = 500
    ShowWindow = 2
    AutoCenter = .T.
    Caption = «Google Maps «
    WindowState = 0
    Name = «Form1»
    Add Object olecontrol1 As OleControl With ;
        oleclass=»shell.explorer.2″,;
        Top = 0, ;
        Left = 0, ;
        Height = 444, ;
        Width = 528, ;
        Anchor = 15, ;
        Name = «Olecontrol»

Procedure init
        thisform.Olecontrol.navigate(«maps.google.com»)
    Endproc

Procedure Destroy
        Clea Events
    Endproc

enddefine 

El resultado sera un mapa de Google insertado sin problemas, puedes desplazarte y moverte como quieras sobre el mapa tal cual si estuvieras en una ventana de Internet Explorer 11.0:

En próximos  Post exploraremos la posibilidad de poder indicar las coordenadas de Longitud y Latitud para posicionar el mapa en una ubicación en especifico, así como poder indicar el zoom deseado por medio de código FOXPRO.



Nota: Asegúrate de tener instalada la última versión de Internet Explorer, que es la versión 11

Compartir esto en:
Twitter |Facebook |Whatsapp |Google+ |Linekdin |Pinterest


Deja una respuesta