El índice del blog VFPavanzado

API del Windows

Entendiendo a ShellExecute()

Ocultar la barra de tareas del Windows

Poniendo un acceso directo en el escritorio

Como saber si la computadora del usuario es de 32 bits o de 64 bits

Verificar si nuestra aplicación ya está ejecutándose

Registrando archivos OCX y DLL

Como insertar aplicaciones de terceros en nuestros formularios

Accediendo a OneDrive como a un disco duro

Ejecutando a Google Chrome dentro de un formulario

Google Maps

Mapas dinámicos gratis

Leyendo y escribiendo en un archivo .INI

Aplicación demo

Aplicación demo (1)

Aplicación demo (2) – Menú Principal

Aplicación demo (3) – Los programas de ABM

Aplicación demo (4) – Programas de consulta

Aplicación demo (5) – Gráficos

Aplicación demo (6) – Informes

Aplicación demo (7) – Programación orientada a objetos

Aplicación demo (8) – Programación en 3 capas

Aplicación demo (9) – Colecciones

Aplicación demo (10) – Controles con auto-validación

Aplicación demo (11) – Aplicación MDI

Aplicación demo (12) – SQL con Firebird

Aplicación demo (13) – Transacciones con Firebird

Aplicación demo (14) – Paginación con Firebird

Aplicación demo (15) – Momentos de conexión a la Base de Datos

Aplicación demo (16) – Menú contextual centralizado

Aplicación demo (17) – Menú contextual en una grilla

Aplicación demo (18) – Detectando usuarios inactivos

Automatización

Como saber si Excel y Word están instalados

Verificar ortografía con WORD

Automatizando Word – Datos variables

Insertar una imagen en una planilla Excel

Clases no visuales

Usando un control TIMER en _Screen

Creando y usando DLLs en Visual FoxPro

Creando un formulario por programa

Usar FTP para enviar y recibir archivos de una computadora remota

Manejo profesional de clases

Usando el Programador de Tareas del Windows con Visual FoxPro (1) 

Usando el Programador de Tareas del Windows con Visual FoxPro (2)

Enviando e-mails con CDO

Enviar e-mails con CDO – Actualización

 Clases visuales

Crear una barra de título personalizada

Grillas de múltiples colores

Ordenando las columnas de una grilla de forma ascendente o descendente

Permitiéndole al usuario filtrar la grilla

Permitiendo al usuario personalizar el filtro de la grilla

Error con la grilla, se pierde su configuración

Controles con auto-validación

Como crear una barra de progreso personalizada

Un control Spinner novedoso

Poniendo otros controles en las celdas de las grillas

Mostrando fotografías y gráficos en las grillas

Todos los controles en una sola celda de la grilla

Como hacer titilar a una etiqueta

Como saber si existe una clase dentro de una biblioteca de clases

Creando un calendario personalizado

Creando un almanaque personalizado

Controlando una clase desde otra clase

Creando y usando menús contextuales

Búsquedas incrementales usando AUTOCOMPLETE

Insertando muchos controles muy similares

Aplicaciones en la SysTray (1)

Aplicaciones en la SysTray (2)

Aplicaciones en la SysTray (3)

Aplicaciones en la SysTray (4)

Agregándole bordes a los controles

Un TreeView en un control Grid

Un control para rango de fechas

Entendiendo bien a los Combobox

El fabuloso objeto _Screen

Menú lateral (1)

Menú lateral (2)

Agregar controles a las columnas de una grilla

Poniendo imágenes en los Headers de las grillas

Menú lateral (3)

Búsqueda incremental en una grilla (1)

Búsqueda incremental en una grilla (2)

Búsqueda incremental en una grilla (3)

Aplicaciones HTML con Visual FoxPro

Selección múltiple de archivos

Usando la Lista de Tareas

W_GRILLA. Una grilla mejorada (1)

W_GRILLA. Una grilla mejorada (2)

W_GRILLA. Una grilla mejorada (3)

Rich Text Format

Mostrando imágenes con fondos transparentes en los botones

Mostrar el contenido de un campo memo en una grilla

Tratamiento fácil de las imágenes

Controlar a un objeto desde otro objeto

Documentos

Documentos del autor sobre Visual FoxPro

Entrada de datos

Habilitando teclas de función en el método KeyPress()

Autoexpandir un combobox

Usando códigos de barras: la norma EAN-13

Formularios

Creando un formulario con forma de círculo

Oscureciendo el fondo del escritorio

Como mostrar un formulario que está minimizado

Como cambiar las propiedades de todos los formularios abiertos

10 bancos de imágenes gratuitas

Mostrando en otro formulario los datos de la grilla

Como mostrar fotografías en miniatura (thumbnail)

Poniendo gráficos a un LISTBOX o COMBOBOX

Diseñando mejores formularios

Mover controles dentro de un formulario

Mensajes de ayuda al obtener el foco

Aplicaciones MDI (1)

Aplicaciones MDI (2)

Aplicaciones MDI (3)

Aplicaciones MDI (4)

Manipulando objetos en tiempo de diseño

Formularios transparentes y  con sombras verdaderas

Seleccionando varias filas de una grilla

Skins en nuestras aplicaciones

Entendiendo las sesiones de datos

Formularios con esquinas redondeadas

Multimedia en un formulario

Funciones

PARSER. Extrayendo palabras de una cadena de texto

Obteniendo el siguiente día de semana

Uso de la función EVALUATE()

Generando un número único universal

Encriptando y desencriptando texto usando un número GUID

Las funciones STRTOFILE() y FILETOSTR()

Agregando propiedades con valores automáticos en tiempo de diseño

Agregando controles automáticamente en tiempo de diseño

Agregando múltiples controles en tiempo de diseño

Resize de contenedores en tiempo de diseño

General

Sobre el blog de VFP, técnicas avanzadas

Alcance de las variables: PUBLIC, PRIVATE, LOCAL

Usando las constantes declaradas

Mostrando e imprimiendo gráficos

Usando M. para evitar ambigüedad

Comparando en forma simplificada

Entendiendo a NULL en Visual FoxPro y en SQL

Poniéndoles iconos a los ejecutables

¿Debemos permitir que pirateen nuestras aplicaciones…o no?

Actualización remota de aplicaciones (1)

Comprimiendo archivos

Actualización remota de aplicaciones (2)

Actualización remota de aplicaciones (3)

Backups automáticos de nuestro código fuente (1)

Visual FoxPro en un entorno masivo

Entendiendo y usando JSON (1)

Entendiendo y usando JSON (2)

Hay un nuevo blog

Ejecutando código de JavaScript desde Visual FoxPro

Enviando y recibiendo datos entre JavaScript y Visual FoxPro

Un cursor con nombres de archivos y carpetas

Usando un objeto para enviar y recibir parámetros

Escribir código fuente durante el RUNTIME

Auditoría informática

Git y GitHub

Git, GitHub, y Visual FoxPro (1)

Git, GitHub, y Visual FoxPro (2)

Git, GitHub, y Visual FoxPro (3)

Git, GitHub, y Visual FoxPro (4)

Git, GitHub, y Visual FoxPro (5)

Git, GitHub, y Visual FoxPro (6)

Git, GitHub, y Visual FoxPro (7)

Herramientas

Usando códigos QR en nuestras aplicaciones

Usando códigos QR en nuestras aplicaciones (2)

Usando códigos QR en nuestras aplicaciones (3)

Protegiendo nuestras aplicaciones. Ofuscación (1)

Protegiendo nuestras aplicaciones. Ofuscación (2)

Protegiendo nuestras aplicaciones. Ofuscación (3)

Protegiendo a nuestras aplicaciones. Ofuscación (4)

Buscar texto en todo tu proyecto

Impresión

Como conocer el nombre de la impresora por defecto

Cambiando la impresora por defecto

Mejorando los informes: ReportListener (1)

Mejorando los informes: ReportListener (2)

Mejorando los informes: ReportListener (3)

Mejorando los informes: ReportListener (4)

Mostrando informes al usuario (1). ACTIVATE WINDOW

Mostrando informes al usuario (2). Instanciando una clase

Mostrando informes al usuario (3). ReportListener

Enviando un REPORT a un archivo PDF

Mejorando nuestros informes con REPORT SCULPTOR (1)

Enviar informe (report) a PDF con imágenes

Informes automáticos

Impresión múltiple de los mismos datos

Internet

Abrir una página web

Enviar e-mail sencillo

Enviando y recibiendo archivos por SFTP

Programación en 3 (o más) capas

Entendiendo la programación en 3 (o más) capas

La capa de presentación (1)

La capa de presentación (2)

La capa de lógica del negocio (1)

Registro del Windows

Impidiendo que el usuario ejecute otra aplicación

SQL

El uso de NULL en SQL

Usando IDENTIFICADORES y CÓDIGOS en nuestras tablas

Conexiones a motores SQL

¿Cómo enviar parámetros a un stored procedure?

Registrar los errores en un archivo de texto

De DBF a SQL (1). Introducción

De DBF a SQL (2). Reemplazando comandos

De DBF a SQL (3). Entendiendo a los cursores

De DBF a SQL (4). Ejemplos de usar SELECT con una sola tabla

De DBF a SQL (5). Las funciones agrupadas

De DBF a SQL (6). Agrupando filas

De DBF a SQL (7). Poniéndoles condiciones a los grupos

De DBF a SQL (8). Ordenando las filas

De DBF a SQL (9). Uniendo tablas

De DBF a SQL (10). Obteniendo las primeras filas de una tabla

De DBF a SQL (11). Relacionando una tabla con otra tabla

De DBF a SQL (12). Relacionando una tabla consigo misma

De DBF a SQL (13). Relacionando a varias tablas entre sí

De DBF a SQL (14). Más sobre el uso de DISTINCT

De DBF a SQL (15). Usando subconsultas

De DBF a SQL (16). Más sobre las subconsultas

De DBF a SQL (17). Ejemplos de subconsultas

De DBF a SQL (18). Paginación

De DBF a SQL (19). Hallando los porcentajes sobre un total

De DBF a SQL (20). Los operadores especiales de comparación

De DBF a SQL (21). La técnica de los dos cursores

De DBF a SQL (22). Optimizando el uso del operador de comparación especial IN

De DBF a SQL (23). Usando la función CAST()

De DBF a SQL (24). Buscando texto

De DBF a SQL (25). Creando tablas y cursores

De DBF a SQL (26). INSERT, UPDATE, y DELETE, con subconsultas

De DBF a SQL (27). Entendiendo Cliente/Servidor

De DBF a SQL (28). Conectándose a un Servidor

De DBF a SQL (29). Las cadenas de conexión ODBC a los motores SQL más populares

De DBF a SQL (30). Conectándose mediante ADO a las bases de datos

De DBF a SQL (31). Optimizando la escritura de los SELECT

De DBF a SQL (32). Mejorando la estética de los SELECT

De DBF a SQL (33). Usando la función SQLEXEC()

De DBF a SQL (34). Enviándole parámetros a la función SQLEXEC()

Mostrar la barra de progreso de un SELECT

El problemático SET FILTER

Motores SQL (1). Conceptos básicos

Motores SQL (2). Cliente/Servidor

Motores SQL (3). Instalación del Servidor

Motores SQL (4). Configurando al Servidor

Motores SQL (5). Comunicando al Cliente con el Servidor

Motores SQL (6). El string de conexión

Motores SQL (7). La ruta a la Base de Datos

Motores SQL (8). Un formulario de ejemplo

Usando Combobox con SQL (1)

Usando Combobox con SQL (2)

Subconsultas filtradas

Validaciones

Validar cadenas de caracteres

Para validar ¿es mejor usar LostFocus() o es mejor usar Valid()?

WebServices

SOAP y WSDL

Ejemplos con SOAP y WSDL

Capturando la pantalla de una página web

Usando la función XMLTOCURSOR()

El método GET() de HTTP

El método POST() de HTTP

Usando la función CURSORTOXML()

Usando JSON

Accediendo a Servidores restringidos

Enviando datos múltiples al Servidor

Validando e-mails

12 comentarios en “El índice del blog VFPavanzado

  1. Buenas amigo Walter, será que en el transcurso de sus publicaciones en este blog tendremos «cómo se hace» para traer datos desde «sqlserver» u otro SGBD mediante Sqlexec y ver una barra de progreso manejado totalmente desde VFP, que no sea «therm»…. Desde ya agradecido con todos los aportes.

    • Hola Ariel

      Sí, está incluida la conexión con los motores SQL más populares.

      Lo de la barra de progreso está en un artículo que empecé a escribir hace algunos meses y que por falta de tiempo nunca terminé, no tenía previsto incluirlo en esta serie pero puedo agregarlo, no hay problema.

      Saludos.

      Walter.

  2. Buen dia. Estudie el articulo de DBF a Sql. Todo me funciono: Instale Sql anywhere y conecte el foxpro, Excelente, realice las consulta desde ele sqlexec y vista remota, perfecto, pero el insert, el upddate y el delete no funciona, PORQUE ?

  3. Hola Walter…buscando en el indice no vi nada sobre XML. Será que hay información de como crear xml siguiendo un esquema específico?. Probé un ejemplo con Do (_reportoutput) with 4, lcListener que googleando encontré, pero no tengo idea de como indicarle el esquema que dicho sea de paso es de la SET (SIFEN).
    Desde ya muchas gracias.

  4. Requiero urgentemente una forma en visual FoxPro que permita:

    -Desplegar los datos de un cliente y su ubicación geográfica en un mapa con la etiqueta correspondiente a los datos del cliente.

    -Elegir la ubicación geográfica (longitud y latitud) de un cliente al hacer doble clic en un mapa de google maps e insertar en el registro del cliente.

    -Permitir elegir la capa -calles, aérea, etc.- que se requiera a la hora de hacer zoom en el mapa a efecto de poder seleccionar de manera precisa la ubicación del cliente.

    – Seleccionar la ubicación de los clientes de acuerdo con el giro que tengan sus negocios, colocando marcadores en el mapa que permitan identificarlos.

    Estoy ubicado en el centro de México y en base a esto me indican el costo, la forma de pago y el tiempo de entrega.

    Saludos

Replica a Armando Martínez Cancelar la respuesta