Upload
omar-hernandez
View
287
Download
3
Embed Size (px)
Citation preview
8/3/2019 Visual FoxPro Hoyyyyyyyyyyy
1/21
UNIVERSIDAD DE ORIENTE
FACULTAD DE INGENIERIA Y ARQUITECTURA
CATEDRA:
TEORA DE LENGUAJE DE PROGRAMACIN
CATEDRATICO:
ING. GIRMAR RUBIO GALEAS
INTEGRANTES:
UVALDO ARISTIDES HERNANDEZ HERNANDEZ
HERBERTH MELQUISEDEC THOMAS JIMENEZEDGAR RAFAEL CHICAS VILLALTA
FECHA:
Mircoles/08/2011
8/3/2019 Visual FoxPro Hoyyyyyyyyyyy
2/21
Generalidades
Visual FoxPro es un lenguaje de programacin orientado a objetos y procedural, un Sistema
Gestor de Bases de datos o Database Management System (DBMS), y desde la versin 7.0,
un Sistema administrador de bases de datos relacionales, producido por Microsoft.
Caractersticas
Visual FoxPro ofrece 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 caractersticas se pueden enumerar:
Capacidades poderosas y muy veloces para el manejo de datos nativos y remotos.
Flexibilidad para crear todo tipo de soluciones de bases de datos.
Lenguaje de Programacin Orientado a objetos.
Utilizacin de Sentencias SQL en forma nativa.
Poderoso manejo de vistas, cursores y control completo de estructuras relacionales.
Su propio gestor de base de datos incorporado. Sin embargo, tambin puede conectarse con
servidores de base de datos, tales como Oracle, Microsoft SQL Server o MySQL.
Cuenta con un motor de generacin de informes renovado y muy flexible para soluciones ms
robustas.
Desde la versin 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.
Desde la versin 7.0, soporte de la tecnologa IntelliSense de Microsoft.
La ltima versin liberada es la 9.0.
Se plane inicialmente la salida de una nueva versin llamada 'Sedna', la cual pretenda ser un
poderoso y completo lenguaje interactuando an ms con VisualStudio.net, SQLServer2005,
SQLExpress2005 y Office12, teniendo a su vez soporte para Windows Vista. Posteriormente sesupo que no habr una prxima versin (Mensaje a la comunidad VFP). Microsoft ha cancelado su
desarrollo y lanz lo que han hecho hasta ahora como add-ons en conjunto con el service pack
2 ambos por el momento en versin Beta (SP2 y "Sedna" - Beta). Igualmente, segn las polticas
de soporte de Microsoft, ste continuar dando soporte al producto hasta el ao 2015.
http://es.wikipedia.org/wiki/Lenguaje_de_programaci%C3%B3nhttp://es.wikipedia.org/wiki/Orientado_a_objetoshttp://es.wikipedia.org/wiki/DBMShttp://es.wikipedia.org/wiki/Sistema_administrador_de_bases_de_datos_relacionaleshttp://es.wikipedia.org/wiki/Microsofthttp://es.wikipedia.org/wiki/SQLhttp://es.wikipedia.org/wiki/Oraclehttp://es.wikipedia.org/wiki/Microsoft_SQL_Serverhttp://es.wikipedia.org/wiki/MySQLhttp://es.wikipedia.org/wiki/XMLhttp://msdn2.microsoft.com/en-us/vfoxpro/bb308952.aspxhttp://msdn2.microsoft.com/es-ar/library/724fd5h9(VS.80).aspxhttp://msdn2.microsoft.com/es-ar/library/724fd5h9(VS.80).aspxhttp://www.microsoft.com/downloads/details.aspx?familyid=05a0e7c9-43c1-417f-8810-ae7d7c66bac8&displaylang=enhttp://www.microsoft.com/downloads/details.aspx?familyid=05a0e7c9-43c1-417f-8810-ae7d7c66bac8&displaylang=enhttp://msdn2.microsoft.com/es-ar/library/724fd5h9(VS.80).aspxhttp://msdn2.microsoft.com/es-ar/library/724fd5h9(VS.80).aspxhttp://msdn2.microsoft.com/en-us/vfoxpro/bb308952.aspxhttp://es.wikipedia.org/wiki/XMLhttp://es.wikipedia.org/wiki/MySQLhttp://es.wikipedia.org/wiki/Microsoft_SQL_Serverhttp://es.wikipedia.org/wiki/Oraclehttp://es.wikipedia.org/wiki/SQLhttp://es.wikipedia.org/wiki/Microsofthttp://es.wikipedia.org/wiki/Sistema_administrador_de_bases_de_datos_relacionaleshttp://es.wikipedia.org/wiki/DBMShttp://es.wikipedia.org/wiki/Orientado_a_objetoshttp://es.wikipedia.org/wiki/Lenguaje_de_programaci%C3%B3n8/3/2019 Visual FoxPro Hoyyyyyyyyyyy
3/21
Hay un movimiento MasFoxPro que est haciendo presin para que Microsoft contine o deje el
Visual FoxPro como cdigo abierto para que otra gente pueda seguir evolucionndolo.
La versin 9.0 de Visual FoxPro cuenta con el SP1 y el (ms reciente) SP2 (en ingls) en los que
hay algunas nuevas caractersticas y especialmente brindan estabilidad al producto.
Historia
Los rumores de que Microsoft planea terminar el soporte para FoxPro han sido comunes desde su
adquisicin del producto, a pesar del hecho de que ste ha tenido el tiempo de vida de soporte
ms largo para un producto de Microsoft (hasta el 2014). VFP 9 fue lanzado el 17 de diciembre del
2004 y el equipo de Fox luego trabaj en un proyecto cuyo nombre clave fue Sedna. Este fue
construido sobre el cdigo base de VFP 9 y consisti principalmente en componentes Xbase que
soportaban un nmero de escenarios interoperables con varias tecnologas de Microsoft,
incluyendo SQL Server 2005, .NET, WinFX, Windows Vista y Office 12. Lamentablemente elproyecto no prosper y fue cancelado por Microsoft.
En las FAQ oficiales sobre el producto, tambin se puede ver la fecha lmite que MS puso al
soporte de VFP basada en el ciclo de vida de soporte para sus
productos:http://msdn.microsoft.com/en-us/vfoxpro/bb190289
Una empresa llamada etecnologia "www.etecnologia.net" ha desarrollado el .NET EXTENDER que
permite utilizar el .net framework en Visual FoxPro, y han anunciado que a finales del 2009 van a
sacar su "VFP Developer Studio" herramienta que convierte a VFP en un lenguaje .Net. A 31 de
mayo del 2009, este producto ya soporta el 92% de los comandos y funciones de VFP y se puede
comprar por $250.00.
En la actualidad, a pesar de que Microsoft ha decicido no continuar con Microsoft Visual FoxPro,
existe una comunidad de desarrolladores que sigue trabajando en l, PortalFox y Mundo Visual
FoxPro son las ms importantes entre los desarrolladores de habla hispana.
La gran mayora de programadores Visual FoxPro se resisten a dejar de programar en este
lenguaje porque consideran que es una herramienta muy poderosa, verstil y robusta que les
permite crear aplicaciones tan poderosas y hasta ms estables que las creadas por otros
lenguajes.
http://www.masfoxpro.com/http://msdn.microsoft.com/vfoxpro/downloads/updates/default.aspxhttp://www.microsoft.com/downloads/details.aspx?FamilyID=05A0E7C9-43C1-417F-8810-AE7D7C66BAC8&displaylang=enhttp://es.wikipedia.org/wiki/Windows_Vistahttp://msdn.microsoft.com/en-us/vfoxpro/bb190289http://msdn.microsoft.com/en-us/vfoxpro/bb190289http://es.wikipedia.org/wiki/Windows_Vistahttp://www.microsoft.com/downloads/details.aspx?FamilyID=05A0E7C9-43C1-417F-8810-AE7D7C66BAC8&displaylang=enhttp://msdn.microsoft.com/vfoxpro/downloads/updates/default.aspxhttp://www.masfoxpro.com/8/3/2019 Visual FoxPro Hoyyyyyyyyyyy
4/21
Estructura del programa
PrembuloContiene informacion tal como: el nombre del programa, que hace, quin lo escribi, la fecha y unabreve historia sobre su edicin.
Ejemplo:*--------------------------------------------------------------------------------------**PROGRAMA : STOCK.PRG*DESCRIPCION: CONTROL DE STOCK*AUTOR : LUIS LOZADA PORTAL*FECHA : 05 DE NOVIEMBRE DE 1998*--------------------------------------------------------------------------------------*
Area de SeteosDefine los comandos SET que el programa necesita para trabajar eficientemente. En esta parte sepuede especificar la relaciones entre las bases de datos, activar los archivos indexados as comoinicializacin de las variables de memoria, etc.Ejemplo:
SET STATUS offSET HEADING offUSE personal ORDER codiNUM=0
Cuerpo de ProgramaContiene los comandos que hacen trabajar al programa.Ejemplo:
LOCATE FOR apel="VARGAS" DISPLAY nomb,apel,sbasSeccin de CierreAqu se cierran las bases de datos y se restablecen los valores de los comandos SET.Ejemplo:
USE SET STATUS onSET HEADING onRETURN
ORDENES DE ENTORNO
Para modificar el entorno de Foxpro y ajustarlo a nuestras necesidades, debemos usar las rdenes Sets
denominadas tambin Seteos.La opcin por defecto est en mayscula.
Sintaxis Propsito
SET STATUS on/OFF Activa la lnea de estado.
SET HEADINGon/off
Muestra el nombre de los campos cuandose usa las rdenes LIST o DISPLAY.
SET TALK on/offMuestra los mensajes interactivos queretornan rdenes como Replace, Index,
Copy, Calculate, Locate, etc.
SET BELL on/offEmite un sonido cuando el cursor alcanzael final de un campo.
SET SCOREBOARD on/offMuestra el estado de las teclas CapsLock,Ins y Numlock en la fila cero cuando sedesactiva la lnea de estado.
8/3/2019 Visual FoxPro Hoyyyyyyyyyyy
5/21
Funtion suma (sum1, sum2)
Public resultado as Double
Resultado=Val(sum1)+ VAL(sum2)
RETURN resultado
END FUNC
BOTON SUMAR
Public valor1, valor2 as double
Valor1= thisform.val1.value
Valor2=thisform.val2.value
Comentarios
Normas para comentar cdigo
Los comentarios son parte importante de cualquier aplicacin. Utilcelos abundantemente. Loscomentarios deben explicar por qu se han hecho algunas cosas e indicar cules son las lneas decdigo que estn afectadas. Debe explicar solamente cmo se hizo algo, en caso de estar utilizandocomplejos algoritmos o clculos.
No emplee comentarios al final de las lneas con &&. Cada comentario debe ocupar una lnea propia.
Encabezados de programa, mtodo y procedimiento.
Los encabezados de programa, mtodo y procedimiento deben indicar el nombre de la rutina, la fechaen que fue creada originalmente, el autor y una descripcin del objetivo del procedimiento o mtodo.En caso de existir parmetros y valores devueltos, incluya una descripcin de los mismos. Para losmtodos, incluya la jerarqua de objetos.
Ejemplo 1:
*********************************************************
* Mtodo........: frmQueue.cmdNext.Click* Descripcin...: Displays the next item in the selected queue
* Fecha.........: 01-Oct-2001
* Autor.... ....: Fred Flintstone
*********************************************************
* Modification Summary
*
*********************************************************
Ejemplo 2:
8/3/2019 Visual FoxPro Hoyyyyyyyyyyy
6/21
*********************************************************
* Funcin......: CalcIntrest
* Descripcin...: Calculate the interest in dollars on the loan
* Parmetros....: tnBalance: Required: The balance amount
* : tnRate: Required: The interest rate to apply
* Devuelve......: Numeric: The dollar amount of the interest
* Fecha.........: 01-Oct-2001
* Autor.........: Bullwinkle J. Moose*********************************************************
* Modification Summary (Resumen de modificaciones)
*
*********************************************************
Comentar modificaciones
Es importante poner comentarios al hacer modificaciones para saber cules fueron las modificacionesrealizadas, y por qu las realiz. La seccin Modification Summary (Resumen de modificaciones) en elencabezado explicar por qu, cundo y por quin fueron realizadas las modificaciones. En cada lugardel cdigo, donde fue realizada una modificacin, debe comentar el cdigo viejo e indicar cul es elcdigo nuevo que fue aadido. Cada modificacin debe ser numerada. Los cambios pueden ser
borrados despus de un ao; pero el Resumen de modificaciones debe permanecer.
Ejemplo:
*********************************************************
* Modification Summary
*
* /01 05-Oct-2001 George Jetson
* Changed interest calculation to include a date range factor.
* /02 10-Oct-2001 Tennessee Tuxedo
* 1. Added code to handle interest on widgets. The calculation is
different.
* 2. Changed the return value from numeric to character.
**********************************************************/01 lcNote = "This is the old line commented out "
*/01
lcNote = "This is the new line of code. "
*/02-1 lnInterest = a * b
*/02-1 lnInterest = lnInterest / 43
*/02-1 - Begin - Multiple lines are being added, so indicate they start
here
IF UPPER(tcIntType) = "WIDGETS "
lnInterest = a * c
ELSE
lnInterest = a * b
lnInterest = lnInterest / 43
ENDIF
*/02-1 - End
Las lneas de comentario deben indentarse al mismo nivel del cdigo.
Este ejemplo es incorrecto:
IF lnTotalInterest = 0
*/01 Begin
FOR lnCount = 1 TO lnTotal
8/3/2019 Visual FoxPro Hoyyyyyyyyyyy
7/21
lnTotalInterest = lnTotalInterest + laLoans[lnCount, 2]
ENDFOR
*/02 End
ENDIF
Este ejemplo es correcto:
IF lnTotalInterest = 0
*/01 Begin
FOR lnCount = 1 TO lnTotal
lnTotalInterest = lnTotalInterest + laLoans[lnCount, 2]
ENDFOR
*/02 End
ENDIF
Al comentar lneas que continan, hay que comentar cada lnea fsica.
Incorrecto:
*/01 lcString = "Esta cadena contiene mucho texto porque es un " ;+ "ejemplo de una lnea verdaderamente larga "
Correcto:
*/01 lcString = "Esta cadena contiene mucho texto porque es un " ;
*/01 + "ejemplo de una lnea verdaderamente larga "
Operadores
Los operadores permiten manipular datos del mismo tipo. En la siguiente seccin, los operadores
de Visual FoxPro se agrupan segn los siguientes tipos de datos y funciones:
Operadores para el tipo Character
Operadores para tipos Date y DateTime
Operadores para el tipo Logical Operadores relacionales
Operadores para el tipo Numeric
Puede agrupar y comparar datos de caracteres con los operadores para caracteres +, -, y $.
En la siguiente tabla se muestran los operadores de expresin de caracteres en orden de
prioridad.
http://msdn.microsoft.com/es-es/library/cc467710(v=vs.71).aspxhttp://msdn.microsoft.com/es-es/library/cc467712(v=vs.71).aspxhttp://msdn.microsoft.com/es-es/library/cc467714(v=vs.71).aspxhttp://msdn.microsoft.com/es-es/library/cc467715(v=vs.71).aspxhttp://msdn.microsoft.com/es-es/library/cc467725(v=vs.71).aspxhttp://msdn.microsoft.com/es-es/library/cc467725(v=vs.71).aspxhttp://msdn.microsoft.com/es-es/library/cc467715(v=vs.71).aspxhttp://msdn.microsoft.com/es-es/library/cc467714(v=vs.71).aspxhttp://msdn.microsoft.com/es-es/library/cc467712(v=vs.71).aspxhttp://msdn.microsoft.com/es-es/library/cc467710(v=vs.71).aspx8/3/2019 Visual FoxPro Hoyyyyyyyyyyy
8/21
Operadores para el tipo Character
Los siguientes operadores se aplican a fechas y horas.
Operadores para los tipos Date y Time
Los operadores para el tipo Logical funcionan con todos los tipos de datos y devuelven un valor
Logical. En la siguiente tabla se muestran los operadores para el tipo Logical en orden de
preferencia.
Operador Accin Cdigo
+ Concatenacin. Combina dos
cadenas, una cadena y un campo, ouna cadena y una variable.
? 'Good ' + 'morning'
- Concatenacin. Quita los espacios
finales del elemento anterior al
operador y luego combina dos
elementos.
? customer.first - customer.l
ast
$ Comparacin. Busca una expresin
de caracteres dentro de otra.
? 'father' $ 'grandfather'
? 'Main' $ customer.address
Operador Accin Cdigo
+ Suma tNewTime = tTime1 + nSecondsdNewDate = dDate1 + nDays
- Resta nSeconds = tTime1 - tTime2tNewTime = tTime1 - nSeconds
dNewDate = dDate1 - nDays
8/3/2019 Visual FoxPro Hoyyyyyyyyyyy
9/21
Operadores para el tipo Logical
Los operadores relacionales funcionan con todos los tipos de datos y devuelven un valor Logical. En
la siguiente tabla se muestran los operadores relacionales.
Operadores relacionales
Operador Accin Cdigo
< Menor que ? 23 < 54
> Mayor que ? 1 > 2
= Igual que ? cVar1 = cVar
, #, != Distinto de ? .T. .F.
= nHisAge
== Comparacin de cadenas de
caracteres
? status == "Open"
Se puede usar el operador == para realizar una comparacin exacta de cadenas de caracteres. Al
comparar dos expresiones de caracteres con el operador ==, las expresiones a ambos lados de
dicho operador se consideran iguales si contienen exactamente los mismos caracteres, incluidos los
espacios en blanco. La configuracin de SET EXACT se pasa por alto al comparar cadenas de
caracteres con el operador ==. Vea SET EXACT si desea obtener ms informacin acerca del uso del
operador == para comparar cadenas de caracteres.
Operador Accin Cdigo
( ) Grupos de expresiones cVar AND (cVar2 AND cVAR3)
NOT, ! Lgico negativo IF NOT cVarA = cVarBIF ! nVar1 = nVar2
AND AND lgico lVar0 AND lVar9
OR OR lgico inclusivo lVarX OR lVarY
8/3/2019 Visual FoxPro Hoyyyyyyyyyyy
10/21
Tambin puede usar el operador igual que (=) en esta versin de Visual FoxPro para determinar si
dos referencias a objetos hacen referencia al mismo objeto. En el siguiente ejemplo se muestra un
uso sencillo:
CLEAR ALLX = CREATEOBJECT('Form')
Y = CREATEOBJECT('Form')? X = Y && Displays false (.F.)
Z = X? X = Z && Displays true (.T.)
Los operadores para el tipo Numeric trabajan con todos los valores del tipo Numeric. En la siguiente
tabla se muestran los operadores para el tipo Numeric en orden de prioridad.
Operadores para el tipo Numeric
Operador Accin Cdigo
( ) Subexpresiones de grupo (4-3) * (12/nVar2)
**, ^ Potenciacin ? 3 ** 2? 3 ^ 2
*, / Multiplicacin y divisin ? 2 * 7? 14 / 7
% Mdulo (resto) ? 15 % 4
+, - Suma y resta ? 4 + 15
Identificadores
El Foxpro en modo programacin, es la forma como se puede almacenar un conjunto de rdenesen un archivo llamado programa, el cual posteriormente ser ejecutado.
Orden MODIFY COMMANDPropsito : Permite crear y editar un programa en Foxpro (con extensin .PRG), o tambincualquier archivo de texto.
8/3/2019 Visual FoxPro Hoyyyyyyyyyyy
11/21
Sintaxis :
MODIFY COMMAND [D:][CAMINO]NOMBRE[.EXT]Si la unidad y el camino no son especificados, se asumir la unidad y camino por defecto.cuandose usa Modify Command, Foxpro busca el archivo indicado; si el archivo no existe entonces secrea uno, de lo contrario ste ser editado. Cada vez que un archivo es grabado la versin previaes grabado en un archivo de seguridad con extensin .BAK. Al crear un programa, para grabarlo
presionaremos las teclas [Ctrl]+[W]. Si desea salir sin grabar presionaremos la tecla [Esc].
Orden DO
Propsito : Permite ejecutar un programa anteriormente creado.Sintaxis :
DO [D:][CAMINO]NOMBRE[.EXT]
Orden TYPE
Propsito : Permite visualizar el contenido de un archivo programa.
Sintaxis:TYPE[D:][CAMINO]NOMBRE[.EXT]
Declaraciones
Para empezar cierra todos los formularios y abre el formulario suma comenzaremos coneste, para empezar haz clic en el primer cuadro de texto y en propiedades dale en la carpeta
otros y luego busca la opcin "name" y cambiale el nombre a "digit1" luego colocale el
nombre de "digit2" y "digit3" a los siguientes cuadros de texto, este es como el nombre dela variable a utilizar te parece?, escoge ahora otros tres cuadros de texto y colocales el
nombre de "exp1", "exp2" y "exp3, ahora coloca el nombre de "resul1", "resul2" y result3 a
otros 3 cuadros de texto y por ltimo colocale el nombre de "resultado" al cuadro de texto
restante. si tienes dudas dale una vista al formulario suma que se te presenta en este manual.
Ahora hecho esto haz clic en la ficha "Datos" escoge el primer cuadro de texto (digit1) y enControlSource digita "Digit1" ahora busquemos la opcin "Value" dentro de esta ficha y
colocale el valor de "0.00000" esto significa que nuestro formulario podr trabajar con 5
decimales creo que esto no da lugar a confusiones amigo(a) por lo tanto, imagino que vascomprendiendo repite estos pasos con cada uno de los siguientes cuadros de texto pero en
los cuadros texto de exp1, exp2 y exp3 colocale en value "0" (cero) pues no puedes colocar
un exponente de 5.264 por decirte algo, en el cuadro de texto resultado si dejale el valor de
"0.00000" ahora debemos desactivar 4 cuadros de texto... como hago esto...? es fcil para
ello haz clic en la ficha "Todos" o en la ficha "Otros" en las propiedades busca la opcin"Enabled" (signif. activado) colocalo en falso y ya lo tenemos desactivado esto lo hars
solamente para los cuadros de texto como: "resul1", "resul2", "resul3" y "resultado"
Haz cada uno de estos pasos para el resto de formularios claro segn sean el nmero de
cuadros de texto existentes en ellos. Complicado amigo(a)? si no entiendes por favor lelode nuevo y prcticalo pues as lo podrs entender si te das por vencido hasta aqu entonces
no sers capaz de hacer lo que falta que es la codificacin para cada formulario; Si sientes
8/3/2019 Visual FoxPro Hoyyyyyyyyyyy
12/21
que esto esta en chino o en rabe pues te explicare lo que acabamos de hacer ok los tres o
dos cuadros desactivados (dependiendo del formulario) estn desactivados porque en ellos
vamos a transformar la cantidad con su respectivo exponente a un nmero real (es decir,una cantidad elevada a un determinado exponente es: resultado (que en este caso cualquier
variable "Resul1", "Resul2" o "Resul3" dependiendo con la que se este trabajando) ahora el
cuadro de texto resultado realizar una operacin con las tres variables desactivadas (estaoperacin puede ser suma, resta, multiplicacin o divisin dependiendo de el formulario en el queestaremos trabajando.
Instrucciones de Entrada/salida
Public valor1, valor2 as double
Valor1= thisform.val1.value
Valor2=thisform.val2.value
Tipos de datos
Todos los datos de Visual FoxPro tienen un tipo, como una descripcin de los valores permitidos, y
el intervalo y tamao de los valores. Una vez especificado el tipo de datos que est usando, Visual
FoxPro puede almacenar y manipular los datos de forma eficaz.
Tipo de
datos
Descripcin Tamao Intervalo
Character Cualquier texto 1 byte por carcter
hasta 254
Cualquier carcter
Currency Importes monetarios 8 bytes - 922337203685477,5807 a
922337203685477,5807
Date Datos cronolgicos formados
por mes, ao y da8 bytes Al usar formatos de fecha estrictos,
{^0001-01-01}, 1 de enero, 1 d.C. a
http://msdn.microsoft.com/es-es/library/cc483185(v=vs.71).aspxhttp://msdn.microsoft.com/es-es/library/cc483211(v=vs.71).aspxhttp://msdn.microsoft.com/es-es/library/cc483217(v=vs.71).aspxhttp://msdn.microsoft.com/es-es/library/cc483217(v=vs.71).aspxhttp://msdn.microsoft.com/es-es/library/cc483211(v=vs.71).aspxhttp://msdn.microsoft.com/es-es/library/cc483185(v=vs.71).aspx8/3/2019 Visual FoxPro Hoyyyyyyyyyyy
13/21
Las variables y las matrices contienen un subconjunto de los tipos de datos disponibles de VisualFoxPro. Los tipos de datos adicionales slo estn disponibles para los campos de la tabla. Para
agregar un campo de un tipo especfico a una tabla por medio de programacin, especifique el tipo
de campo con una letra. Para obtener ms informacin, vea la descripcin de FieldType enCREATE
TABLE - SQL.
Puede especificar el tipo de datos que se almacena en cada campo de una tabla al crear la tabla. El
tipo de datos de una variable o un elemento de matriz est determinado por el valor almacenado
en la variable o elemento de matriz. La tabla siguiente muestra los tipos de datos de Visual FoxPro.
{^9999-12-31}, 31 de diciembre, 9999
d.C.
DateTime Datos cronolgicos formados
por mes, ao, da y hora
8 bytes Al usar formatos de fecha estrictos,{^0001-01-01}, 1 de enero, 1 d.C. a
{^9999-12-31}, 31 de diciembre, 9999
d.C., ms 00:00:00 a.m. a 11:59:59 p.m.
Logical Valor booleano verdadero o
falso1 byte Verdadero (.T.) o Falso (.F.)
Numeric Enteros o fracciones 8 bytes en la
memoria;
1 a 20 bytes en una
tabla
- 0,9999999999E+19 a
0,9999999999E+20
Variant Una variable de tipo Variant
puede contener cualquier
tipo de datos de VisualFoxPro y el valor Null. Una
vez que se almacena un valor
en una variable del tipo
Variant, sta asume el tipo de
los datos que contiene.
Las variables tipo Variant
se designan con el
prefijo e en la sintaxis del
lenguaje.
Vea el tipo de datos
permitidos.
Vea el tipo de datos permitidos.
http://msdn.microsoft.com/es-es/library/cc467034(v=vs.71).aspxhttp://msdn.microsoft.com/es-es/library/cc467034(v=vs.71).aspxhttp://msdn.microsoft.com/es-es/library/cc467034(v=vs.71).aspxhttp://msdn.microsoft.com/es-es/library/cc467034(v=vs.71).aspxhttp://msdn.microsoft.com/es-es/library/cc483216(v=vs.71).aspxhttp://msdn.microsoft.com/es-es/library/cc483341(v=vs.71).aspxhttp://msdn.microsoft.com/es-es/library/cc483354(v=vs.71).aspxhttp://msdn.microsoft.com/es-es/library/cc483381(v=vs.71).aspxhttp://msdn.microsoft.com/es-es/library/cc483381(v=vs.71).aspxhttp://msdn.microsoft.com/es-es/library/cc483381(v=vs.71).aspxhttp://msdn.microsoft.com/es-es/library/cc483354(v=vs.71).aspxhttp://msdn.microsoft.com/es-es/library/cc483341(v=vs.71).aspxhttp://msdn.microsoft.com/es-es/library/cc483216(v=vs.71).aspxhttp://msdn.microsoft.com/es-es/library/cc467034(v=vs.71).aspxhttp://msdn.microsoft.com/es-es/library/cc467034(v=vs.71).aspx8/3/2019 Visual FoxPro Hoyyyyyyyyyyy
14/21
Tipos de datos de Visual FoxPro
Adems, Visual FoxPro proporciona tipos de datos que se aplican nicamente a campos de tablas.
Tipos de campos de Visual FoxPro
Sugerencia Puede utilizar la funcinTYPE( )para determinar el tipo de datos almacenado en una
variable, un elemento de matriz o un campo.
Cada tipo de datos tiene sus propias caractersticas, incluido el tamao de almacenamiento:
Tipo de
campo
Descripcin Tamao Intervalo
Double Nmero de signo
flotante de precisin
doble
8 bytes +/-4,94065645841247E-324 a +/-
8,9884656743115E307
Float Igual que Numeric 8 bytes en lamemoria;
1 a 20 bytes en una
tabla
- 0,9999999999E+19 a
0,9999999999E+20
General Referencia a un objeto
OLE
4 bytes en una tabla Limitado por la memoria disponible
Integer Valores enteros 4 bytes -2147483647 a 2147483647
Memo Referencia a un bloque
de datos
4 bytes en una tabla Limitado por la memoria disponible
Character
(Binario)
Datos de tipo Character
que desea mantener
sin modificacin en las
pginas de cdigos
1 byte por carcter
hasta 254
Cualquier carcter
Memo (Binario) Datos de campo Memo
que desea mantener
sin modificacin en las
pginas de cdigos
4 bytes en una tabla Limitado por la memoria disponible
http://msdn.microsoft.com/es-es/library/cc451229(v=vs.71).aspxhttp://msdn.microsoft.com/es-es/library/cc451229(v=vs.71).aspxhttp://msdn.microsoft.com/es-es/library/cc451229(v=vs.71).aspxhttp://msdn.microsoft.com/es-es/library/cc483232(v=vs.71).aspxhttp://msdn.microsoft.com/es-es/library/cc483321(v=vs.71).aspxhttp://msdn.microsoft.com/es-es/library/cc483325(v=vs.71).aspxhttp://msdn.microsoft.com/es-es/library/cc483328(v=vs.71).aspxhttp://msdn.microsoft.com/es-es/library/cc483348(v=vs.71).aspxhttp://msdn.microsoft.com/es-es/library/cc483348(v=vs.71).aspxhttp://msdn.microsoft.com/es-es/library/cc483328(v=vs.71).aspxhttp://msdn.microsoft.com/es-es/library/cc483325(v=vs.71).aspxhttp://msdn.microsoft.com/es-es/library/cc483321(v=vs.71).aspxhttp://msdn.microsoft.com/es-es/library/cc483232(v=vs.71).aspxhttp://msdn.microsoft.com/es-es/library/cc451229(v=vs.71).aspx8/3/2019 Visual FoxPro Hoyyyyyyyyyyy
15/21
Diferencias de almacenamiento de tipos de datos
Clases
Todas las propiedades, eventos y mtodos de un objeto se especifican en la definicin de clase.
Adems, las clases tienen las siguientes caractersticas que las hacen especialmente tiles para crear
cdigo reutilizable y fcil de mantener:
Encapsulamiento
Subclases
Herencia
Ocultar la complejidad innecesaria
Cuando instale un telfono en la oficina, lo ms probable es que no le interese el funcionamiento
interno del aparato para la recepcin de llamadas, la realizacin o la finalizacin de conexiones con
centralitas electrnicas o la conversin de las pulsaciones de tecla en seales electrnicas. Lo nico
que necesitar saber es que puede levantar el auricular, marcar los nmeros apropiados y hablarcon la persona con la que desea hablar. La complejidad de realizar esa conexin queda oculta. La
ventaja de ignorar los detalles internos de un objeto para poder centrarse en los aspectos del
objeto que necesita utilizar se denomina abstraccin.
El encapsulamiento, que empaqueta el cdigo de mtodos y propiedades en un mismo objeto,
contribuye a la abstraccin. Por ejemplo, las propiedades que determinan los elementos de un
cuadro de lista y el cdigo que se ejecuta al elegir un elemento de la lista pueden encapsularse en
un nico control que se agrega a un formulario.
Aprovechar la eficacia de las clases existentes
Una subclase puede tener toda la funcionalidad de una clase existente, adems de la funcionalidad
y los controles adicionales que quiera darle. Si la clase es un telfono bsico, podr tener subclases
que tengan toda la funcionalidad del telfono original y todas las caractersticas especializadas que
desee darles.
La creacin de subclases es un modo de reducir la cantidad de cdigo que hay que escribir. Puede
comenzar definiendo un objeto que sea similar al deseado y personalizarlo.
8/3/2019 Visual FoxPro Hoyyyyyyyyyyy
16/21
Simplificar el mantenimiento de cdigo
Con la herencia, si realiza un cambio en una clase, ese cambio se reflejar en todas las subclases que
se basen en ella. Esta actualizacin automtica ahorra tiempo y trabajo. Por ejemplo, si un fabricante
de telfonos quisiera cambiar los telfonos de dial por telfonos de botones, se ahorrara mucho
trabajo si pudiera hacer el cambio en el diagrama original y hacer que todos los telfonosfabricados anteriormente con ese diagrama heredaran automticamente la nueva caracterstica, en
lugar de tener que agregarla a todos los telfonos existentes individualmente.
La herencia no funciona con el hardware, pero s en el software. Si descubre un error en una clase,
en lugar de tener que cambiar el cdigo de todas las subclases podr corregirlo una nica vez en la
clase y el cambio se propagar a todas las subclases pertenecientes a ella.
Contenedores y no contenedores
Los dos tipos principales de clases de Visual FoxPro y por extensin, de objetos de Visual FoxPro,
son las clases de contenedor y las clases de control.
Clases de contenedor
Los contenedores pueden incluir otros objetos y permiten el acceso a los objetos que contienen.
Por ejemplo, si crea una clase de contenedor que consta de dos cuadros de lista y dos botones de
comando y, a continuacin, agrega a un formulario un objeto basado en esta clase, cada objeto
individual podr manipularse en tiempo de ejecucin y en tiempo de diseo. Puede cambiar
fcilmente las posiciones de los cuadros de lista o los ttulos de los botones de comando. Tambin
puede agregar objetos al control en tiempo de diseo; por ejemplo, puede agregar etiquetas para
identificar los cuadros de lista.
La tabla siguiente muestra los posibles componentes de cada clase de contenedor:
Contenedor Puede contener
Grupos de botones de comando Botones de comando
Contenedor Cualquier control
Control Cualquier control
Custom Cualquier control, marco de pgina, contenedor, personalizado
Conjuntos de formularios Formularios, barras de herramientas
Formularios Marcos de pgina, cualquier control, contenedores, personalizado
Columnas de cuadrcula Encabezados y cualquier objeto excepto conjuntos de formularios,formularios, barras de herramientas, cronmetros y otras columnas
Cuadrculas Columnas de cuadrcula
8/3/2019 Visual FoxPro Hoyyyyyyyyyyy
17/21
Grupos de botones de opcin Botones de opcin
Marcos de pgina Pginas
Pginas Cualquier control, contenedores, personalizado
Proyecto Archivos, servidoresBarras de herramientas Cualquier control, marcos de pgina, contenedor
Clases de control
Las clases de control estn ms encapsuladas que las clases de contenedor, pero por esa misma
razn es posible que sean menos flexibles. Las clases de control no tienen unmtodo AddObject.
La secuencia del video realizado
Paso 1
Daremos click en Nuevo Proyecto
Paso 2 Guardamos Proyecto
http://msdn.microsoft.com/es-es/library/cc484413(v=vs.71).aspxhttp://msdn.microsoft.com/es-es/library/cc484413(v=vs.71).aspxhttp://msdn.microsoft.com/es-es/library/cc484413(v=vs.71).aspxhttp://msdn.microsoft.com/es-es/library/cc484413(v=vs.71).aspx8/3/2019 Visual FoxPro Hoyyyyyyyyyyy
18/21
Paso 3 Creamos Formulario
Paso 4 Click en Nuevo
8/3/2019 Visual FoxPro Hoyyyyyyyyyyy
19/21
Paso 5 Click en Nuevo Proyecto
Paso 6 Nos aparecer el formulario y llenaremos el formulario con los campos que ocuparemos
8/3/2019 Visual FoxPro Hoyyyyyyyyyyy
20/21
Paso 7 Damos doble click en el Botn sumar y lo codificaremos de la siguiente manera
Paso 8 Creamos la Funcin
8/3/2019 Visual FoxPro Hoyyyyyyyyyyy
21/21
Paso 9 Teniendo la ventana, codificaremos la Funcin y la guardaremos con el nombre de sumar