Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 24

Visual FoxPro

Visual FoxPro es un lenguaje de programación procedural, orientado a


objetos que posee un Sistema Gestor de Bases de datos o Database
Management System (DBMS) y Sistema administrador de bases de datos
relacionales, producido por Microsoft.

Características

Visual FoxPro provee a los desarrolladores un conjunto de herramientas para


crear aplicaciones de bases de datos para el escritorio, entornos
cliente/servidor, tablet PC o para la Web.

Entre sus características se pueden enumerar:

 Capacidades para el manejo de datos nativos y remotos.


 Flexibilidad para crear soluciones de bases de datos.
 Lenguaje de Programación Orientado a objetos.
 Utilización de Sentencias SQL en forma nativa.
 Manejo de vistas, cursores y control completo de estructuras relacionales.
 Su propio gestor de base de datos incorporado. Sin embargo, también
puede conectarse con servidores de base de datos, tales
como Oracle, Microsoft SQL Server oMySQL.
 Cuenta con un motor de generación de informes renovado y flexible para
soluciones más robustas.
 Desde la versión 9.0, amplio soporte de XML, tanto como fuente de datos
(por ej., servicios Web basados en XML) como por generar reportes en
formato XML.

La última versión liberada es la 9.0. Esta cuenta con el SP1 y el (más


reciente) SP2 (en inglés) en los que hay algunas nuevas características y
especialmente brindan estabilidad al producto.

En la actualidad, a pesar de que Microsoft ha decidido no continuar con


Microsoft Visual FoxPro, existe una comunidad de desarrolladores que sigue
trabajando en él, PortalFox y Mundo Visual FoxPro son las más importantes
entre los desarrolladores de habla hispana. Tambien encontramos una
comunidad muy activa de desarrolladores en los grupos de Google [1] donde
podemos encontrar a muchos programadores que siguen desarrollando
software para las distintas versiones de Windows.-

Historia

Visual FoxPro proviene de FoxPro, que a su vez deriva de FoxBASE, creado


por Fox Software en 1984; inicialmente un clon de dBase, acabó superándolo
y, junto a Clipper, convirtiéndose en una de las estrellas de los
lenguajes xBase.

Cuando se presentó FoxPro 2.0 se incluyeron varias tecnologías que


revolucionaron el mercado de desarrollo de bases de datos las cuales son:

 La adición de Tecnología Rushmore hizo posible que tablas tuvieran


millones de registros sin la necesidad de pasar a tecnologías más caras
 Las instrucciones SQL que reemplazaban procedimientos completos. SQL
fue, y todavía es, el lenguaje de los datos
 La presentación de medios tipo WYSIWYG (What you see is what you get)
que significa: "lo que tu ves es lo que consigues" que abrió el camino a
diseñadores de pantallas e informes.

Microsoft compró Fox Software en junio de 1992 por 173 millones de dólares.
En el momento de la compra el desarrollo de FoxPro 2.5 estaba casi terminado,
añadiéndole la capacidad de generar ejecutables para Windows. Las versiones
de FoxPro 2.6 para Windows, Mac y Unix se consideran las últimas versiones
de FoxPro.

Visual FoxPro 3.0

En junio de 19951 aparece Visual FoxPro 3.0, conocido durante su desarrollo


como Taz, es la primera versión Visual y se considera un punto de ruptura al
evolucionar de un lenguaje procedural a un lenguaje orientado a objetos. Fue
lanzado en Standard Edition (versión recortada sin archivos de runtime
distribuibles) y Professional Edition, con el runtime licenciado y el juego
completo de componentes. Requiere como mínimo de un compatible IBM
PC con microprocesador Intel 80386 ejecutando Windows 3.1 / Windows NT
3.5 o superiores, 8 Megabytes de memoria RAM (se recomiendan 12 MB), de
15 a 50 MB de espacio libre en el disco duro, mouse o equivalente y tarjeta
gráfica VGA o superior. Tiene las siguientes características:2

 El contenedor de base de datos, también conocido como DBC, añadió el


soporte para procedimientos almacenados, reglas de datos asociadas a
tablas y un conjunto de funciones de datos adicionales.
 Las vistas, que son cursores SQL actualizables, añadieron un método
completamente nuevo de acceso a datos para su procesamiento.
 Una implementación completa de programación orientada a objetos
 Soporte de Object Linking and Embedding y ActiveX

Más adelante aparecerá Visual FoxPro 3.0b3 que aporta soporte a los
lenguajes de doble byte (Double Byte Character Set, como el chino o el
japonés) y mejoras en el soporte de ODBC. Además el logotipo para de utilizar
una fuente serif a una sans-serif bold, que utilizará en adelante.

Visual FoxPro 3.0 for Macintosh, conocido durante su desarrollo


como Speedy aparece el mismo año. Será la última versión de Visual FoxPro
para Macintosh. Requiere un equipo Power Macintosh con
un microprocesador PowerPC PPC 601 o superior, 8 MB de RAM, (16 MB de
RAM recomendado), 80 MB espacio en disco disponible (instalación completa)
y sistema operativo System 7.1.2 o posterior.

Visual FoxPro 5.0

En octubre de 1996 aparece Visual FoxPro 5.0, conocido durante su


desarrollo como RoadRunner. Aunque hubo un desarrollo de Visual FoxPro 4.0
conocido como Renard, Microsoft decidió cuando finalizó su fase beta que
todos los componentes principales de Microsoft Visual Studio tuvieran el mismo
número de versión, por lo que todo el trabajo se pasó a la versión 5.0 Presenta
un cambio en la estructura de los proyectos y otros archivos por lo que debe de
realizarse una conversión desde versiones anteriores.4 Trae como novedades:

 Integración con Visual SourceSafe


 Creación desde VFP de aplicaciones Web
 Un nuevo depurador mejorado
 Capacidad de crear y usar servidores COM (Component Object Model que
significa Modelo de Objetos Componentes).
 Mejora del soporte de ActiveX

Visual FoxPro 6.0

El 18 de mayo de 1998 aparece Visual FoxPro 6.0, conocido durante su


desarrollo como Tahoe. Tras FoxPro 2.6 para Windows es la versión con que
más aplicaciones FoxPro se han realizado. Se incluye con Microsoft Visual
Studio 6. Requiere de un compatible IBM PC con microprocesador Intel 80486-
DX a 66 MHz o superior (se recomienda un Intel Pentium) ejecutando Windows
95/Windows 98/Windows NT 4.0 con Service Pack 3 o superior;
16 Megabytes (32 recomendados) de memoria RAM para Windows95/98; 24
MB (32 recomendados) para Windows NT 4.0; Internet Explorer 4.01 con
Service Pack 1 (se incluye en el paquete); 85 MB de espacio libre en el disco
duro para una instalación típica, 90 MB para una completa; 43 a 59 MB
adicionales si debe instalar IE 4.0; de 57 a 493 MD para el MSDN; unidad
de CD-ROM, mouse o equivalente y tarjeta gráfica VGAo superior (se
recomienda Super VGA). 20

Aporta mejoras para Internet y una nueva galería de componentes y clases.

Visual FoxPro 7.0

El 21 de junio de 2001 aparece Visual FoxPro 7.0, conocido durante su


desarrollo como Sedona. Trae como novedades:5

 Soporte de la tecnología IntelliSense


 Mejoras del control del Entorno de desarrollo integrado (IDE) y un más
rápido acceso al código fuente.
 Más de 50 comandos, funciones y variables del sistema se han mejorado o
añadido a Visual FoxPro 7.0, algunas de las cuales incluyen nuevas
capacidades para enlazar eventos a otros componentes COM.
 Mejora del soporte de interoperabilidad con componentes Component
Object Model como Microsoft BizTalk Server
 Soporte de servicios web XML, permitiendo la exportación de datos de
Visual FoxPro a XML y la importación de datos XML en tablas.
 Nuevo Explorador de objetos
 Administrador de la lista de tareas
 mejor rendimiento

Visual FoxPro 8.0

El 1 de febrero de 2003 aparece Visual FoxPro 8.0, conocido durante su


desarrollo como Toledo. Trae como novedades:6

 Manejo de errores estructurado, mediante TRY... CATCH... FINALLY,


escalado de excepciones usando THROW y gestión del uso de objetos de
excepción.
 Clase CursorAdapter para el acceso universal a datos en formato Visual
FoxPro, XML, Microsoft SQL Server 2000, ODBC y OLE DB
 Soporte de incremento automático en tablas Visual FoxPro
 Soporte de Themes de Windows XP
 Diseño de vistas mediante SELECT SQL conmutando entre consulta / vista
y salida de código fuente.
 Controles avanzados con capacidad de orientación de pestañas en los
marcos de página, cambio automático de ancho de columnas, etc.
 Soporte GDI+ mejorado pudiendo usar y rotar imágenes en formularios en
formato BMP, JPG, GIF normal y animado, TIFF, WMF y EMF y otros
 Bindeo de eventos
 Importación y exportación de XML jerárquico con el apoyo de DiffGrams
entre cursores de Visual FoxPro y DataSets de ADO.NET
 Publicar y usar XML Web services basados en SOAP compatible
con .NET via HTTP utilizando Microsoft SOAP Toolkit 3.0 (incluido).
 OLE DB proporciona acceso a datos Visual FoxPro como Microsoft Visual
Studio .NET y Microsoft Office XP.
 Microsoft SQL Server 2000 Desktop Engine (MSDE) para crear soluciones
de escritorio y compartidas compatibles con Microsoft SQL Server 2000 y
migrar a SQL Server 2000 directamente sin modificar el código.
 InstallShield Express para Visual FoxPro, para crear instaladores de
programas.
Visual FoxPro 9.0

El 17 de diciembre del 2004 aparece Visual FoxPro 9.0, conocido durante su


desarrollo como Europa con un amplio soporte a XML y una mejora notable en
los reportes permitiendo detalles en múltiples bandas, la rotación de texto, y el
encadenamiento de informe. Los informes de salida soportados incluyen XML,
HTML, formatos de imagen, y personalización de la salida de impresión.

En marzo de 2007, Microsoft anunció que no habrá VFP 10, 7 con lo que VFP9
es la última versión comercial de Visual FoxPro. Su soporte está garantizado
hasta 2015 y se han publicado dos Service Packs, el 8 de diciembre de 2005 y
el 11 de octubre de 2007. Se trata del soporte más largo para un producto de
Microsoft.

A finales de marzo de 2007, se origina una campaña grassroots entre la


comunidad hispana de usuarios de FoxPro en MasFoxPro8 para firmar una
petición a Microsoft para continuar con la actualización de Visual FoxPro o
liberarlo a la comunidad como Open Source. El 3 de abril de 2007, el
movimiento tuvo eco en la prensa especializada9

También el 3 de abril de 2007 Microsoft respondió a las solicitudes de los


peticionarios, con esta declaración de Alan Griver:

"Somos muy conscientes de la comunidad FoxPro y esto jugó un papel


importante en el anuncio del 13 de marzo. Nunca es una decisión fácil anunciar
que no vamos a sacar otra versión de un producto y es algo que consideramos
con mucho cuidado.

"No estamos anunciando el fin de FoxPro. Obviamente, las aplicaciones de


FoxPro seguirán funcionando. Por algunas de nuestras estimaciones internas,
hay más aplicaciones que se ejecutan en FoxPro 2.6 que en VFP y FoxPro 2.6
no ha recibido soporte en muchos años. Visual FoxPro 9 será soportado por
Microsoft hasta el año 2015.

"Para que Microsoft continuara evolucionando la base de FoxPro, tendríamos


que comenzar por la creación de un entorno de desarrollo de 64 bits lo que
implicaría una reescritura casi completa del producto principal. También hemos
invertido en la creación de una base de datos escalable con SQL Server,
incluyendo la libremente disponible SQL Server Express Edition. En cuanto a la
formación de una asociación con terceras partes, hemos escuchado de una
serie de grandes clientes FoxPro que esto haría imposible para ellos seguir
utilizando FoxPro, ya que ya no sería de un proveedor aprobado. Nos pareció
que poner el entorno en código abierto en CodePlex, equilibra las necesidades
de la comunidad y los grandes clientes, y era el mejor camino a seguir."

Sedna

En el momento del anuncio del fin de la vida de FoxPro, el trabajo en la


próxima versión con nombre en código Sedna que había comenzado sobre la
parte superior de la base de código VFP9 ya había comenzado. "Sedna" es un
conjunto de ampliaciones para VFP 9.0 de los componentes xBase para
soportar una serie de escenarios de interoperabilidad con varias tecnologías de
Microsoft, incluyendo SQL Server 2005, .NET Framework, Windows
Vista, Microsoft Office 2007, Windows Search y Team Foundation
Server (TFS). Microsoft liberó Sedna bajo licencia Shared Source en CodePlex.
Microsoft ha aclarado que el núcleo de VFP seguirá siendo de código cerrado.
Sedna fue lanzado el 25 de enero 2008.10 A partir de marzo de 2008, todos los
componentes xBase de VFP 9 SP2 (incluyendo Sedna) están disponibles para
el desarrollo comunitario en CodePlex.

Sedna contiene seis componentes: VistaDialogs4COM, Upsizing Wizard, Data


Explorer, NET4COM, MY para VFP y VS 2005 Extension para VFP.

Información de Versiones

Compatibilidad de Sistemas Operativos


Versiones con Soporte Windows
VFP VFP
Versión VFP 3.0 VFP 7.0 VFP 8.0 VFP 9.0
5.0 6.0
Windows
Si No No No No No
3.x
Windows
Si Si Si Si Si No11
NT 4.0
Windows Sólo
Si Si Si No No
95 ejecutable
Windows Sólo Sólo
Si Si Si Si
98 ejecutable ejecutable
Windows Si Si Si Si Sólo Sólo
Me ejecutable ejecutable
Windows
Si Si Si Si Si Si
2000
Windows
Si Si Si Si Si Si
XP
Windows
Server Si Si Si Si Si Si
2003
Windows Modo de
Si Si Si Si Si
Vista compatibilidad
Windows 7 No Si Si Si Si Si
Windows 8 No No No Si Si Si

Visual FoxPro 9.0 Información general

Con su motor de cursor local, estrecho acoplamiento entre el lenguaje y los


datos y características de gran alcance, Visual FoxPro 9.0 es una gran
herramienta para la construcción de soluciones de bases de datos de todos los
tamaños. Su lenguaje orientado a objetos centrada en los datos ofrece a los
desarrolladores un robusto conjunto de herramientas para la creación de
aplicaciones de bases de datos para el escritorio, entornos cliente-servidor o la
Web. Los desarrolladores tendrán las herramientas necesarias para la gestión
de datos ?? de organizar tablas de información, ejecutar consultas, y la
creación de un sistema de gestión de base de datos relacional integrada
(DBMS) para la programación de una aplicación de gestión de datos totalmente
desarrollado para los usuarios finales.

 Data-Manipulación e Interoperabilidad. Crear soluciones compatibles


con .NET XML y servicios Web XML jerárquicos. Intercambiar datos con
SQL Server a través de mejores capacidades de lenguaje SQL y tipos
de datos recién admitidos.

 Extensibles Herramientas para desarrolladores de


productividad. Mejore sus interfaces de usuario con formas acoplables
usuario, auto-anclaje de los controles, y soporte mejorado
imagen. Personalice la ventana Propiedades con sus propiedades
favoritas, editores personalizados, fuentes y ajustes de color.
 Flexibilidad para construir todo tipo de soluciones de bases de
datos. Construir y desplegar independiente y remota aplicaciones para
Tablet PCs basados en Windows. Crear y acceder a los componentes
COM y Servicios Web XML compatibles con la tecnología Microsoft
.NET.

 Informes Características del sistema. Extensible nueva arquitectura


de salida proporciona un control preciso de la salida de los datos del
informe y el formato. Diseño con múltiples bandas detalle, rotación de
texto, y el informe de encadenamiento. Informes de salida soportados
incluyen en XML, HTML, formatos de imagen, y de varias páginas
personalizable ventana de vista previa de impresión.Compatible con
versiones anteriores de Visual FoxPro informa existente.

Nuestra Primera Aplicación


Práctica Nº 2

En este ejercicio vamos a crear un formulario para


calcular la edad de una persona a partir de su fecha de
nacimiento.

Para el desarrollo de esta Práctica, proceda a ubicar


los siguientes controles en el formulario:

2 etiquetas

2 cajas de texto

3 botones de comando
Luego, proceda a establecer las propiedades según se
indica a continuación:

Form1

Name FrmEdad

Caption

MaxButton .F.-Falso

MinButton .F.-Falso

Label1

Name LblFecNac

Caption Fecha de nacimiento:

Label2

Name LblEdad

Caption Su edad es:

Text1

Name TxtFecNac

Enabled .T.-Verdadero

Text2

Name TxtEdad
Enabled .F.-Falso

Command1

Name CmdAceptar

Caption \<Aceptar

Command2

Name CmdLimpiar

Caption \<Limpiar

Command3

Name CmdSalir

Caption \<Salir

Luego de establecidas las propiedades de los


controles, proceda a ingresar el siguiente código:

Objeto: FrmEdad Procedimiento: Load

Set Date French

Set Century On

Objeto: FrmEdad Procedimiento: Init


cNomDia = Cdow(Date())

cDia = Str(Day(Date()), 2)

cMes = Cmonth(Date())

cAnno = Str(Year(Date()), 4)

cFecha = cNomDia + “ ” + cDia + “ de ” + cMes + “ del ” +


cAnno

Thisform.Caption = cFecha

Thisform.TxtFecNac.Setfocus

Thisform.Refresh

Objeto: CmdAceptar Procedimiento: Click

dFecNac = Ctod(Thisform.TxtFecNac.Value)

nEdad = Int ((Date() - dFecNac) / 365)

Thisform.TxtEdad.Value = Str(nEdad) + “ años”

Thisform.Refresh

Objeto: CmdLimpiar Procedimiento: Click

Thisform.TxtFecNac.Value = “”

Thisform.TxtEdad.Value = “”

Thisform.TxtFecNac.Setfocus

Thisform.Refresh
Objeto: CmdSalir Procedimiento: Click

Release Thisform

Práctica Nº 4

El ejercicio consiste en crear una Práctica que


permita leer una fracción y de como resultado la fracción
simplificada. Esto es, que halle la fracción irreductible
equivalente.

Para el desarrollo de esta Práctica proceda a crear un


nuevo formulario y luego vaya al Menú Formulario y elija la
opción Crear conjunto de formularios (no se preocupe, pues
no se apreciará nada en especial). Nuevamente vaya al Menú
Formulario y elija la opción Agregar nuevo formulario. El
Diseñador de formularios debe presentar una apariencia
similar a la figura mostrada:
A continuación proceda a ubicar los siguientes
controles sobre el primer formulario (Form1):

2 etiquetas

2 cajas de texto

2 botones de comando

Seguidamente debe establecer las propiedades de los


objetos según se indica:

Form1

Name FrmIngreso

Caption Ingreso de datos

MaxButton .F.-Falso

MinButton .F.-Falso

Label1
Name LblNumerador

Caption Numerador?

Label2

Name LblDenominador

Caption Denominador?

Text1

Name TxtNumerador

Value 0

Text2

Name TxtDenominador

Value 0

Command1

Name CmdSimplificar

Caption Simplificar

Default .T.-Verdadero

Command2
Name CmdSalir

Cancel .T.-Verdadero

Caption Salir

A continuación proceda a ingresar el código que se


muestra:

Objeto: CmdSimplificar Procedimiento: Click

nNumerador = Thisformset.FrmIngreso.TxtNumerador.Value

nDenominador = Thisformset.FrmIngreso.TxtDenominador.Value

If nNumerador < nDenominador Then

nC = nNumerador

Else

nC = nDenominador

EndIf

Do While (nNumerador % nC != 0) Or (nDenominador % nC != 0)

nC = nC - 1

EndDo

nNumerador = nNumerador / nC

nDenominador = nDenominador / nC

Thisformset.FrmIngreso.Hide

Thisformset.FrmSalida.Show

Thisformset.Refresh
Objeto: CmdSalir Procedimiento: Click

Release Thisformset

Luego proceda a ubicar los siguientes controles sobre


el segundo formulario (Form2):

1 etiqueta

1 caja de texto

1 botón de comando

Seguidamente debe establecer las propiedades de los


objetos según se indica:

Form2

Name FrmSalida

Caption Salida

MaxButton .F.-Falso

MinButton .F.-Falso

Label1
Name LblFraccion

Caption Fracción simplificada:

Text1

Name TxtFraccion

Alignment 2-Centro

Command1

Name CmdVolver

Caption Volver

A continuación proceda a ingresar el código que se


muestra:

Objeto: FrmSalida Procedimiento: Activate

cNumerador = Str(nNumerador)

cDenominador = Str(nDenominador)

cFraccion = cNumerador + “ / ” + cDenominador

Thisformset.FrmSalida.TxtFraccion.Value = cFraccion

Thisformset.Refresh

Objeto: CmdVolver Procedimiento: Click


Thisformset.FrmSalida.Hide

Thisformset.FrmIngreso.Show

Thisformset.Refresh

Finalmente proceda a ingresar el código que se indica


a continuación:

Objeto: Formset1 Procedimiento: Load

Public nNumerador

Public nDenominador

Public nC

Objeto: Formset1 Procedimiento: Init

Thisformset.FrmSalida.Hide

Thisformset.Refresh
Ejemplo de Calculadora

Aquí les mostraremos como programar una calculadora básica en visual


FoxPro 9.0 y también a programar una marquesina.

Programación

Formulario
Esta parte nos servirá para la programación de la marquesina.
Form1 Activate
PUBLIC c,c1,p,letras
c1=""
p=0
c=""
letras="Calculadora"

Esto es para validar las variables asignadas a cada operación.


Form1 Load
PUBLIC n1
PUBLIC n2
PUBLIC operacion
PUBLIC suma
PUBLIC resta
PUBLIC multiplicacion
PUBLIC division
PUBLIC respuesta
PUBLIC exponente
PUBLIC cuadrado

Esto es para validar la marquesina, es decir, para que las letras del label se
muevan.
Timer
p=p+1
c=SUBSTR(letras,p,1)
c1=c1+c
thisform.label1.Caption=c1
IF p=LEN(letras) then
label1=""
c1=""
p=0
ENDIF

Numeración:
Para ello necesitaremos 10 botones que correspondan a la numeración, es
decir, botones del 0 al 9
y los programaremos de la siguiente manera:
thisform.txt.Value=thisform.txt.Value+"0"
thisform.txt.Value=thisform.txt.Value+"1"
thisform.txt.Value=thisform.txt.Value+"2"
thisform.txt.Value=thisform.txt.Value+"4"
thisform.txt.Value=thisform.txt.Value+"5"
thisform.txt.Value=thisform.txt.Value+"6"
thisform.txt.Value=thisform.txt.Value+"7"
thisform.txt.Value=thisform.txt.Value+"8"
thisform.txt.Value=thisform.txt.Value+"9"
thisform.txt.Value=thisform.txt.Value+"."
Cada numero en cada botón. Y también para la coma decimal.
Operaciones:
Suma
n1=VAL(thisform.txt.Value)
operacion="suma"
thisform.txt.Value=""

Resta
n1=VAL(thisform.txt.Value)
operacion="resta"
thisform.txt.Value=""

Multiplicación
n1=VAL(thisform.txt.Value)
operacion="multiplicacion"
thisform.txt.Value=""

División
n1=VAL(thisform.txt.Value)
operacion="division"
thisform.txt.Value=""

Raíz Cuadrada
n1=VAL(THISFORM.txt.Value)
operacion="raiz cuadrada"
THISFORM.txt.VALUE=""

Exponente cuadrado
n1=VAL(THISFORM.txt.Value)
operacion="cuadrado"
THISFORM.txt.VALUE=""

Exponente
n1=VAL(THISFORM.txt.Value)
operacion="exponente"
THISFORM.txt.VALUE=""

Botón Igual:
n2=VAL(thisform.txt.Value)
IF operacion="suma" then
respuesta=n1+n2
ELSE
IF operacion="resta" then
respuesta=n1-n2
ELSE
IF operacion="multiplicacion" then
respuesta=n1*n2
ELSE
IF operacion="division" then
respuesta=n1/n2
ELSE
IF operacion="raiz cuadrada" THEN
respuesta=SQRT (n1)
ELSE
IF operacion="exponente" THEN
respuesta=(n1^n2)
ELSE
IF operacion="cuadrado" THEN
respuesta=(n1^2)
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
thisform.txt.Value=respuesta

Aquí les dijo como programar el salir pero con condición, para que nos de
la opción si desea
o no salir, y si el caso es no continuar en el programa.

Botón Salir:
men=MESSAGEBOX("desea salir?",4,"aviso")
IF men=6 then
thisform.Release
ELSE
MESSAGEBOX("continuamos")
Endif

Botón Otro o AC:


thisform.txt.Value=""

También podría gustarte