22 de junio de 2016

Tipo de dato VarChar en VFP9

La última versión de Visual FoxPro (VFP9) incluye tres tipos de datos nuevos: VarBinary, VarChar y Blob. Este artículo comenta alguna de las peculiaridades del nuevo dato VarChar.

*---------------------------------------------------------
* Método:
*  DATOVARCHAR.PRG
* Programador:
*  Ana María Bisbé York
* Fecha de Terminación:
*  07/02/05 11:09:49 AM
* Comentarios:
*       Este ejemplo fue mostrado en el IV Encuentro de Desarrolladores realizado por
*   Danysoft Internacional www.danysoft.com en Febrero 2005 en Microsoft Ibérica.
*  en la sesión Novedades de Visual FoxPro 9.0
*
*  En VFP 9.0 uno de los nuevos tipos de datos es VARCHAR, que contiene valores de caracteres
*  Se incluye por compatibilidad con SQL Server donde ya existe.
*  Es un dato de caracteres; pero en el que no hay los espacios en blanco sobrantes.
*  Se puede emplear en tablas nativas; pero no tiene compatibilidad hacia atrás.
*  Como los campos de tipo carácter, se pueden emplear en índices y su límite es 254 caracteres
*   Acepta valores nulos
*  Las funciones TYPE() y VARTYPE() devuelven "C"
*  DISPLAY/LIST STRU y AFIELDS() devuelven "V".
*  Cuando se combinan C+V = V
*  En los cuadros de textos, de forma predeterminada el valor incluye los espacios sobrantes
*  Si colocamos Format = F no los incluirá.
*
*  El siguiente código tiene como objetivo mostrar algunos aspectos relacionados:
*
*   Este código crea un cursor con dos campos cCampo de caracteres y vCampo tipo VarChar
*   Muestra el valor que devuelven las funciones VARTYPE() y LEN()
*   Muestra el resultado de realizar combinaciones con campos de caracteres
*---------------------------------------------------------
LOCAL lnCampos AS NUMBER, lnLongitudCombinacion AS NUMBER
STORE 0 TO lnCampos, lnLongitudCombinacion
CLEAR

CREATE CURSOR curVarChar(cCampo C(20), vCampo V(20))
INSERT INTO curVarChar VALUES ('Contenido campo Car', 'VarChar')
INSERT INTO curVarChar VALUES ('Campo caracteres', 'VarChar    ')
BROWSE

GO TOP
? ''
? 'Longitud de los campos'
? LEN(CCampo), LEN(VCampo)                    && Muestra 20 y 7
SKIP
? LEN(CCampo), LEN(VCampo)                    && Muestra 20 y 11

* LAs funciones TYPE y VARTYPE devuelven C
? ''
? 'VarType = ' + VARTYPE(VCampo)              && Muestra VarType = C

* La función AFIELDS devuelve V
lnCampos = AFIELDS(aCampos,'curVarChar')
? ''
? 'aCampos(2,2) = ' + aCampos(2,2)            && Muestra aCampos(2,2)= V

* Combinación C + V = V
lnLongitudCombinacion = LEN(CCampo + VCampo)
? ''
? 'Longitud combinación '+ STR(lnLongitudCombinacion) && Muestra 31 que son 20+11

Saludos,

Ana María Bisbé York

No hay comentarios. :

Publicar un comentario