Visual FoxPro Hoyyyyyyyyyyy

download Visual FoxPro Hoyyyyyyyyyyy

of 21

Transcript of Visual FoxPro Hoyyyyyyyyyyy

  • 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%B3n
  • 8/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).aspx
  • 8/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).aspx
  • 8/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).aspx
  • 8/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).aspx
  • 8/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).aspx
  • 8/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