Está en la página 1de 107

Instituto de Educacion Superior 'San Pedro'

)81&,21(6'(
9)3
Instituto de Educacion Superior 'San Pedro'
? | ?? (Comando)
Evala expresiones y muestra los resultados en la pantalla de Fox.
Sintaxis
? [expresin] Imprime los resultados en una nueva lnea.
?? [expresin] Imprime los resultados en la misma lnea.
Comentario
? y ?? evalan expresiones y envan los resultados a la ventana principal de Visual
FoxPro, a una ventana activa definida por el usuario o a la impresora.
EjempIo
? 15 * (10+10)
? 'Bienvenidos a '
?? 'Visual FoxPro'
& (Comando)
Llamado macrosustitutor, sustituye cierta cantidad de lneas de comando por una
variable asignada.
Sintaxis
&<variable> Imprime los resultados en una nueva lnea.
Comentario
? y ?? evalan expresiones y envan los resultados a la ventana principal de Visual
FoxPro, a una ventana activa definida por el usuario o a la impresora.
EjempIo
? 15 * (10+10)
? 'Bienvenidos a '
?? 'Visual FoxPro'
Instituto de Educacion Superior 'San Pedro'
FUNCIONES DE FECHA Y HORA
Las siguientes funciones generan y manipulan datos de fecha y hora.
CDOW( ) (Funcin) CMONTH( ) (Funcin)
CTOD( ) (Funcin) CTOT( ) (Funcin)
DATE( ) (Funcin) DATETIME( ) (Funcin)
DAY( ) (Funcin) DMY( ) (Funcin)
DOW( ) (Funcin) DTOC( ) (Funcin)
DTOS( ) (Funcin) DTOT( ) (Funcin)
EMPTY( ) (Funcin) FDATE( ) (Funcin)
FTIME( ) (Funcin) GOMONTH( ) (Funcin)
HOUR( ) (Funcin) MDY( ) (Funcin)
MINUTE( ) (Funcin) MONTH( ) (Funcin)
SEC( ) (Funcin) SECONDS( ) (Funcin)
SET HOURS (Comando) SET MARK TO (Comando)
SET SECONDS (Comando)
SYS(1) (Funcin) - Fecha de sistema
Juliano
SYS(2) (Funcin) - Segundos
transcurridos desde media noche
SYS(10) (Funcin) - Cadena de nmero
de da
SYS(11) (Funcin) - Nmero de da
Juliano
TIME( ) (Funcin)
TTOC( ) (Funcin) TTOD( ) (Funcin)
WEEK( ) (Funcin) YEAR( ) (Funcin)
Instituto de Educacion Superior 'San Pedro'
CDOW( ) (Funcin)
Devuelve el da de la semana a partir de una expresin de Date o de DateTime dada.
Sintaxis: CDOW(dExpresin | tExpresin)
VaIor devueIto: Character
Argumentos dExpresin
Especifica la fecha para la que CDOW( ) devuelve el da.
tExpresin
Especifica la DateTime para la que CDOW( ) devuelve el da.
Comentarios: CDOW( ) la funcin de caracteres del da de la semana,
devuelve el nombre del da de la semana a partir de una expresin de Date.
EjempIo de CDOW( ) (Funcin)
STORE {^1998-02-16} TO gdDate
CLEAR
? CDOW(gdDate) && Muestra Lunes.
CMONTH( ) (Funcin)
Devuelve el nombre del mes a partir de una expresin de fecha o de una propiedad
DateTime dada.
Sintaxis: CMONTH(dExpresin | tExpresin)
Tipos devueItos: Character
Argumentos: dExpresin
Especifica la expresin de fecha a partir de la cual CMONTH( )
devuelve el nombre del mes.
tExpresin
Especifica la expresin de DateTime de la cual CMONTH( )
devuelve el nombre del mes.
Comentarios: CMONTH( ) devuelve el nombre del mes como una cadena en el
formato de nombre apropiado.
EjempIo de CMONTH( ) (Funcin)
? CMONTH(DATE( ))
STORE {^1998-02-16} TO gdFechaPrev
? 'Su pago venci en ', CMONTH(gdFechaPrev)
Instituto de Educacion Superior 'San Pedro'
STORE gdFechaPrev+60 TO gdFechaFinal
? 'Debe pagar en ', CMONTH(gdFechaFinal)
CTOD( ) (Funcin)
Convierte una expresin de caracteres en una expresin de fecha.
Sintaxis: CTOD(cExpresin)
Tipos devueItos: Date
Argumentos: cExpresin
Especifica una expresin de caracteres para la cual CTOD( )
devuelve un valor de tipo Date.
Comentarios: Observe que CTOD( ) puede crear valores ambiguos de Date y
generar un error de compilacin cuando SET STRICTDATE est establecido en 2.
Utilice DATE( ) en su lugar para crear valores no ambiguos de Date.
CTOT( ) (Funcin)
Devuelve un valor DateTime a partir de una expresin de caracteres.
Sintaxis: CTOT(cExpresinCarcter)
Tipo devueIto: DateTime
Argumentos: cExpresinCarcter
Especifica la expresin de caracteres a partir de la cual se devuelve
un valor DateTime.
Comentarios: Observe que CTOT( ) puede crear valores ambiguos de Date y
generar un error de compilacin cuando SET STRICTDATE est establecido en 2.
Utilice DATETIME( ) en su lugar para crear valores no ambiguos de Date.
DATE( ) (Funcin)
Devuelve la fecha actual del sistema, que est controlada por el sistema operativo, o
crea un valor Date compatible con el milenio.
Sintaxis: DATE([nAo, nMes, nDa])
Tipos devueItos: Date
Argumentos: nAo
Especifica el ao devuelto en el valor Date compatible con el
milenio. nAo puede tener un valor entre 100 y 9999.
Instituto de Educacion Superior 'San Pedro'
nMes
Especifica el mes devuelto en el valor Date compatible con el
milenio. nMes puede tener un valor entre 1 y 12.
nDa
Especifica el da devuelto en el valor Date compatible con el milenio.
nDa puede ser un valor entre 1 y 31.
Comentarios: DATE( ) devuelve la actual fecha del sistema si se ejecuta sin
argumentos opcionales. Incluya los argumentos opcionales para que devuelva un valor
Date compatible con el milenio.
Ningn comando o funcin de Microsoft Visual FoxPro puede cambiar directamente la
fecha del sistema.
EjempIo de DATE( ) (Funcin)
El ejemplo siguiente muestra la fecha actual del sistema con y sin el siglo, y despus,
muestra una fecha preparada para el milenio.
CLEAR
SET CENTURY OFF
? DATE( ) && Muestra la fecha de hoy sin el siglo.
SET CENTURY ON
? DATE( ) && Muestra la fecha de hoy con el siglo.
? DATE(1998, 02, 16) && Muestra una valor Date preparado para
el milenio.
DATETIME( ) (Funcin)
Devuelve la fe cha y la hora actuales como un valor DateTime o crea un valor
DateTime compatible preparado para el milenio.
Sintaxis: DATETIME([nAo, nMes, nDa [, nHoras [, nMinutos [,
nSegundos]]]])
Tipos devueItos: DateTime
Argumentos: nAo
Especifica el ao devuelto en un valor DateTime compatible con el
milenio. nAo puede tener un valor entre 100 y 9999.
nMes
Especifica el mes devuelto en un valor DateTime compatible con el
milenio. nMes puede tener un valor entre 1 y 12.
nDa
Instituto de Educacion Superior 'San Pedro'
Especifica el da devuelto en un valor DateTime compatible con el
milenio. nDa puede tener un valor entre 1 y 31.
nHoras
Especifica las horas devueltas en un valor DateTime compatible con
el milenio. nHoras puede tener un valor entre 0 (medianoche) y 23
(11 p.m.). Toma el valor predeterminado 0 si se omite.
nMinutos
Especifica los minutos devueltos en un valor DateTime compatible
con el milenio. nMinutos puede tener un valor entre 0 y 59. Toma el
valor predeterminado 0 si se omite.
nSegundos
Especifica los segundos devueltos en un valor DateTime compatible
con el milenio. nSegundos puede tomar un valor entre 0 y 59. Toma
el valor predeterminado 0 si se omite.
Comentarios: DATETIME( ) devuelve la fecha actual del sistema si se ejecuta sin
ningn argumento opcional.
Incluya los argumentos opcionales para devolver un valor DateTime compatible con el
milenio.
EjempIo de DATETIME( ) (Funcin)
Este primer ejemplo almacena el valor DateTime para el Ao Nuevo en una variable
de memoria llamada tNuevoAo y almacena el valor actual de DateTime en una
variable de memoria llamada tHoy. Se muestra el nmero de segundos que hay entre
el valor actual de DateTime y el Ao Nuevo.
El segundo ejemplo usa DATETIME( ) para crear un valor DateTime compatible con el
milenio.
tNuevoAo = DATETIME(YEAR(DATE( ) ) + 1, 1, 1) && Prximo ao
nuevo.
tHoy = DATETIME( )
nSegNuevoAo = tNuevoAo - tHoy
CLEAR
? "Hay " + ALLTRIM (STR(nSegNuevoAo)) ;
+ " segundos hasta el prximo ao nuevo."
CLEAR
SET CENTURY ON
SET DATE TO AMERICAN
? DATETIME(1998, 02, 16, 12, 34, 56) && Muestra 02/16/1998
12:34:56 p.m.
DAY( ) (Funcin)
Instituto de Educacion Superior 'San Pedro'
Devuelve el nmero del da del mes correspondiente a una expresin de Date o de
DateTime dada.
Sintaxis: DAY(dExpresin | tExpresin)
Tipos devueItos: Numeric
Argumentos: dExpresin
Especifica una fecha a partir de la cual DAY( ) devuelve un da del
mes. dExpresin puede ser un literal de fecha, una variable de
memoria de tipo Date, un elemento de matriz o un campo de fecha.
tExpresin
Especifica una fecha a partir de la cual DAY( ) devuelve un da del
mes. dExpresin puede ser un literal de fecha, una variable de
memoria de tipo Date, un elemento de matriz o un campo de fecha.
Comentarios: DAY( ) devuelve un nmero entre 1 y 31.
EjempIo de DAY( ) (Funcin)
STORE {^1998-03-05} TO gdFechaAct
CLEAR
? CDOW(gdFechaAct) && Muestra jueves.
? DAY(gdFechaAct) && Muestra 5.
? 'Esta fecha es ', CMONTH(gdFechaAct),STR(DAY(gdFechaAct),2)
DMY( ) (Funcin)
Devuelve una expresin de caracteres con el formato da-mes-ao (por ejemplo, 31 de
mayo de 1995) a partir de una expresin de tipo Date o DateTime. El nombre del mes
no se abrevia.
Sintaxis: DMY(dExpresin | tExpresin)
Tipos devueItos: Character
Argumentos: dExpresin
Especifica la expresin Date a partir de la cual DMY( ) devuelve una
cadena de caracteres con el formato da-mes-ao.
tExpresin
Especifica la expresin DateTime a partir de la cual DMY( )
devuelve una cadena de caracteres con el formato da-mes-ao.
Comentarios: Si SET CENTURY est establecido en OFF, DMY( ) devolver una
cadena de caracteres en formato dd mes aa (por ejemplo, 16 febrero 98). Si SET
Instituto de Educacion Superior 'San Pedro'
CENTURY est establecido en ON, el formato ser dd mes aaaa (por ejemplo, 16
febrero 1998).
EjempIo de DMY( ) (Funcin)
CLEAR
SET CENTURY OFF
? DMY(DATE( ))
SET CENTURY ON
? DMY(DATE( ))
DOW( ) (Funcin)
Devuelve el nmero del da de la semana a partir de una expresin Date o DateTime
dada.
Sintaxis: DOW(dExpresin | tExpresin [, nPrimerDaSemana])
Tipos devueItos: Numeric
Argumentos: dExpresin
Especifica la expresin Date a partir de la cual DOW( ) devuelve el
nmero del da.
tExpresin
Especifica la expresin DateTime a partir de la cual DOW( )
devuelve el nmero de da.
nPrimerDaSemana
Especifica el primer da de la semana. nPrimerDaSemana puede
ser uno de los valores siguientes.
nPrimerD
aSemana
Descripcin
0 DOW( ) usa el da que est seleccionado actualmente en
el cuadro de lista "La semana comienza en", que aparece
en la ficha Regional del cuadro de dilogo Opciones.
1 Domingo. Es el valor predeterminado cuando se omite
nPrimerDaSemana y es el primer da de la semana usado
en versiones anteriores de FoxPro.
2 Lunes
3 Martes
4 Mircoles
5 Jueves
Instituto de Educacion Superior 'San Pedro'
6 Viernes
7 Sbado
DTOC( ) (Funcin)
Devuelve una fecha de tipo Character a partir de una expresin de tipo Date o
DateTime.
Sintaxis: DTOC(dExpresin | tExpresin [, 1])
Tipos devueItos: Character
Argumentos: dExpresin
Especifica una variable de memoria, un elemento de matriz o un
campo de tipo Date para los que DTOC( ) devuelve una fecha de
tipo Character.
tExpresin
Especifica una variable de memoria, un elemento de matriz o un
campo de tipo DateTime para los cuales DTOC( ) devuelve una
fecha de tipo Character.
1
Devuelve la fecha en un formato adecuado para la indexacin. Esto
es particularmente til para mantener los registros de la tabla en
secuencia cronolgica.
Por ejemplo, para ordenar los registros de la tabla por orden de
entrada, podr utilizar este comando:
INDEX ON DTOC(gdFechaFact, 1) + gnHoraFact TAG IndHora
gdFechaFact y gnIndHora son los campos que contienen la fecha y
la hora en que se escribieron los datos en el registro.
Comentarios: DTOC( ) devuelve una cadena de caracteres correspondiente a la
expresin de Date o de DateTime. El formato de fecha viene determinado por SET
CENTURY y SET DATE.
EjempIo de DTOC( ) (Funcin)
SET STRICTDATE TO 1
STORE CTOD('10/31/95') TO gdEstaFecha
CLEAR
? DTOC(gdEstaFecha)
Instituto de Educacion Superior 'San Pedro'
STORE DTOC DTOC({^1998-10-31}+90) TO gcFechaCad
? 'Sus 90 das de garanta caducan: ', gcFechaCad
? DTOC DTOC({^1998-10-31},1)
DTOT( ) (Funcin)
Devuelve un valor de DateTime a partir de una expresin de Date.
Sintaxis: DTOT(dExpresinFecha)
Tipos devueItos: DateTime
Argumentos: dExpresinFecha
Especifica la expresin de Date a partir de la cual se devuelve un
valor de DateTime.
Comentarios: El formato del valor DateTime que DTOT( ) devuelve depende del
valor actual de SET DATE y SET MARK. Si no se suministra un siglo, se adopta el
siglo XX.
DTOT( ) agrega una hora predeterminada de medianoche (12:00:00 a.m.) a la fecha
para producir un valor vlido de DateTime.
EjempIo de DTOT( ) (Funcin)
? DTOT({^1998-02-16}) && Muestra 16/02/1998 12:00:00am
FDATE( ) (Funcin)
Devuelve la ltima modificacin DATE o DATETIME de un archivo.
Sintaxis: FDATE(cNombreArchivo [, nTipo])
Tipos devueItos: Date
Argumentos: cNombreArchivo
Especifica el nombre del archivo cuya ltima fecha de modificacin
devuelve FDATE( ). cNombreArchivo puede incluir una ruta de
acceso con el nombre del archivo. Si no se incluye una ruta de
acceso con el nombre de archivo, Visual FoxPro busca el archivo en
el directorio predeterminado y en los directorios especificados con
SET PATH.
nTipo
Especifica que FDATE( ) devuelva la ltima modificacin de fecha o
fecha y hora del archivo especificado con cNombreArchivo. Si nTipo
es 0, se devuelve la ltima modificacin de fecha. Incluir 0 es lo
mismo que omitir nTipo. Si nTipo es 1, se devuelve la ltima
modificacin de fecha y hora.
Instituto de Educacion Superior 'San Pedro'
Comentarios: El sistema operativo asigna al archivo el valor de fecha o de fecha y
hora que devuelve FDATE( ).
Utilice LUPDATE( ) para determinar la ltima fecha de modificacin de una tabla
abierta.
EjempIo de FDATE( ) (Funcin)
El ejemplo siguiente usa FDATE( ) para mostrar la ltima modificacin de fecha y hora
de Foxuser.dbf, el archivo de recursos de Visual FoxPro.
? FDATE('FOXUSER.DBF',1) && Muestra la ltima de modificacin
&& de fecha y hora.
FTIME( ) (Funcin)
Devuelve la hora de la ltima modificacin de un archivo.
Sintaxis: FTIME(cNombreArchivo)
Tipos devueItos: Character
Argumentos: cNombreArchivo
Especifica el nombre del archivo cuya ltima hora de modificacin
devuelve FTIME( ). cNombreArchivo puede incluir una ruta de
acceso con el nombre del archivo. Si no se incluye una ruta de
acceso con el nombre de archivo, Visual FoxPro busca el archivo en
el directorio predeterminado y en los directorios especificados con
SET PATH.
Comentarios: La hora que devuelve FTIME( ) es la que el sistema operativo
asigna al archivo.
EjempIo de FTIME( ) (Funcin)
El ejemplo siguiente usa FTIME( ) para mostrar la hora de la ltima modificacin
realizada en FOXUSER.DBF, el archivo de recursos de Visual FoxPro.
? FTIME('FOXUSER.DBF') && Muestra la hora de la ltima
modificacin.
GOMONTH( ) (Funcin)
Devuelve la fecha que es un nmero especificado de meses antes o despus de una
expresin de fecha o de fecha-hora determinada.
Sintaxis: GOMONTH(dExpresin | tExpresin, nNmeroMeses)
Tipos devueItos: Date
Argumentos: dExpresin
Instituto de Educacion Superior 'San Pedro'
Especifica una expresin de fecha para la cual GOMONTH( )
devuelve la fecha.
tExpresin
Especifica una expresin de fecha-hora para la cual GOMONTH( )
devuelve la fecha.
nNmeroMeses
Especifica el nmero de meses a partir de la expresin de fecha o
de fecha-hora. Si nNmeroMeses es positivo, GOMONTH( )
devolver una fecha que es nNmeroMeses meses despus de la
expresin. Si nNmeroMeses es negativo, GOMONTH( ) devolver
una fecha que es nNmeroMeses meses anterior a la expresin.
EjempIo de GOMONTH( ) (Funcin)
SET CENTURY ON
STORE GOMONTH({^1998-02-16}, 5) TO gdPlazo
CLEAR
? gdPlazo && Muestra 16/07/1998
? GOMONTH({^1998-12-31}, 2) && Muestra 28/02/1999
? GOMONTH({^1998-12-31}, -2) && Muestra 31/10/1998
HOUR( ) (Funcin)
Devuelve la hora de una expresin DateTime.
Sintaxis: HOUR(tExpresin)
Argumentos: tExpresin
Especifica una expresin DateTime a partir de la cual HOUR( )
devuelve la hora.
Tipos devueItos: Numeric
Comentarios: HOUR( ) devuelve un valor numrico basado en un formato de 24
horas y no se ve afectado por el valor actual de SET HOURS. Por ejemplo, si SET
HOURS es 12 o 24, el comando siguiente devuelve 13:
? HOUR({^1998-02-16 1:00p })
EjempIo de HOUR( ) (Funcin)
El ejemplo siguiente muestra la parte de hora de la hora actual y la parte de hora de
una hora especificada.
CLEAR
? HOUR(DATETIME( ))
? HOUR({^1998-02-16 10:42a}) && Muestra 10
Instituto de Educacion Superior 'San Pedro'
MDY( ) (Funcin)
Devuelve la expresin de tipo Date o DateTime especificada en formato mes-da-ao
con el nombre completo del mes.
Sintaxis: MDY(dExpresin | tExpresin)
Tipos devueItos: Character
Argumentos: dExpresin
Especifica la expresin de tipo Date que se va a devolver en formato
mes-da-ao.
tExpresin
Especifica la expresin de tipo DateTime que se va a devolver en
formato mes-da-ao.
Comentarios: Si SET CENTURY est establecido en OFF, la expresin
alfanumrica resultante tendr el formato Mes DD, AA. Si CENTURY est establecido
en SET ON, el formato ser Mes DD, AAAA.
EjempIo de MDY( ) (Funcin)
El ejemplo siguiente crea una funcin definida por el usuario que devuelve una fecha
con el da de la semana correspondiente.
SET CENTURY OFF
CLEAR
? Longdate({^1998-02-16}) && Muestra lunes, 16 de Febrero, 98
SET CENTURY ON
? Longdate({^1998-02-16}) && Muestra lunes, 16 de Febrero, 1998
*** LongDate ***
FUNCTION longdate
PARAMETERS gdDate
RETURN CDOW(gdDate) + ', ' + MDY(gdDate)
MINUTE( ) (Funcin)
Devuelve los minutos de una expresin DateTime.
Sintaxis: MINUTE(tExpresin)
Tipos devueItos: Numeric
Argumentos: tExpresin
Instituto de Educacion Superior 'San Pedro'
Especifica la expresin DateTime a partir de la cual se devuelve la
parte de minutos.
EjempIo de MINUTE( ) (Funcin)
El siguiente ejemplo muestra la parte de minutos de la hora actual y la parte de
minutos de una hora especfica.
CLEAR
? MINUTE(DATETIME( ))
? MINUTE({^1998-02-16 10:42am}) && Muestra 42
MONTH( ) Function
Devuelve el nmero de mes de una expresin determinada de tipo Date o DateTime.
Sintaxis: MONTH(dExpresin | tExpresin)
Tipos devueItos: Numeric
Argumentos: dExpresin
Especifique la expresin Date de la que quiere que MONTH( ) le
devuelva el nmero de mes..
tExpresin
Especifique la expresin DateTime de la que quiere que MONTH( )
le devuelva el nmero de mes.
Comentarios: MONTH( ) devuelve un nmero de 1 a 12. Enero es el mes 1, y
diciembre es el mes 12.
EjempIo de MONTH( ) (Funcin)
CLEAR
? DATE( ) && Muestra la fecha de hoy
? MONTH(DATE( )) && Muestra el nmero de mes
STORE {^1998-05-03} TO gdBuy
STORE MONTH(gdBuy + 31) TO gdMonth
? gdMonth && Muestra 6
SEC( ) Funcin
Devuelve los segundos de una expresin DateTime.
Sintaxis: SEC(tExpresin)
Tipo devueIto: Numeric
Argumentos: tExpresin
Instituto de Educacion Superior 'San Pedro'
Especifica la expresin DateTime de la que SEC( ) devuelve los
segundos. Si tExpresin slo contiene una fecha y no una hora,
Visual FoxPro agregar la hora predeterminada de medianoche
(12:00:00 A.M.) a tExpresin.
EjempIo de SEC( ) (Funcin)
El ejemplo siguiente muestra la parte de segundos de la hora actual y la hora de
segundos de una hora determinada.
CLEAR
? SEC(DATETIME( ))
? SEC({^1998-08-21 10:42:16am}) && Muestra 16
SECONDS( ) (Funcin)
Devuelve el nmero de segundos que han transcurrido desde la medianoche.
Sintaxis: SECONDS( )
Tipos devueItos: Numeric
Comentarios: SECONDS( ) devuelve un valor numrico en formato decimal, con
una resolucin de 1 milisegundo. Si est ejecutando Windows NT, la resolucin ser
de 10 milisegundos.
EjempIo de SECONDS( ) (Funcin)
CLEAR
? SECONDS( )
? SECONDS( )/(60 * 60)
SET HOURS (Comando)
Establece el formato de la hora del reloj del sistema a 12 24 horas.
Sintaxis: SET HOURS TO [12 | 24]
Argumentos: TO 12
(Predeterminado) Especifica el formato de 12 horas.
TO 24
Especifica el formato de 24 horas.
Comentarios: Utilice SET HOURS TO sin 12 ni 24 para regresar al formato de 12
horas predeterminado.
TIME( ) devuelve siempre un valor en formato 24 horas y no se ve afectado por SET
HOURS. El valor devuelto por DATETIME( ) se determina mediante la configuracin
actual de SET HOURS.
Instituto de Educacion Superior 'San Pedro'
SET HOURS alcanza la sesin de datos actual.
SET MARK TO (Comando)
Especifica un delimitador que se usar cuando se muestren las expresiones de fecha.
Sintaxis: SET MARK TO [cDelimitador]
Argumentos: cDelimitador
Es el carcter que quiere utilizar como delimitador de fecha.
Comentarios: SET MARK TO especifica el carcter que separa el
mes, el da y el ao de las fechas que se muestran.
Utilice SET MARK TO sin cDelimitador para restablecer el
delimitador a la barra diagonal ( / ) predeterminada.
SET MARK TO tiene como alcance la sesin actual de datos.
SET SECONDS (Comando)
Especifica si se muestran los segundos en la parte de hora de los valores FechaHora.
Sintaxis: SET SECONDS ON | OFF
Argumentos: ON
(Predeterminado) Especifica que se muestren los segundos de los
valores FechaHora.
OFF
Especifica que no se muestren los segundos en valores FechaHora.
Comentarios: SET SECONDS tiene como alcance la sesin de datos actual.
SYS(1) - Fecha juIiana deI sistema
Devuelve la fecha actual del sistema como una cadena de caracteres del nmero de
da Juliano.
Sintaxis: SYS(1)
Tipos devueItos: Character
Comentarios: El valor devuelto por SYS(1) es vlido en EE.UU. Las versiones de
Visual FoxPro de cualquier sistema datan de una fecha posterior al 14 de Septiembre
de 1752 y anterior al 31 de Diciembre de 9999.
Instituto de Educacion Superior 'San Pedro'
SYS(2) - Segundos desde medianoche
Devuelve el nmero de segundos transcurridos desde la medianoche.
Sintaxis: SYS(2)
Tipos devueItos: Character
SYS(2) - EjempIo de Segundos desde medianoche
? TIME( )
? SYS(2)
SYS(10) - Cadena de nmero de da JuIiano
Convierte un nmero de da Juliano en una cadena de caracteres.
Sintaxis: SYS(10, nNmeroDaJuliano)
Tipos devueItos: Character
Comentarios: SYS(10) devuelve una fecha de tipo Carcter a partir de un nmero
de da del calendario nNmeroDaJuliano.
SYS(10) - EjempIo de Ia cadena de nmero de da JuIiano
? SYS(1)
? SYS(10,VAL(SYS(1)))
SYS(11) - Nmero de da JuIiano
Convierte la expresin de fecha o la cadena de caracteres con formato de fecha en un
nmero de da Juliano.
Sintaxis: SYS(11, dExpresin | tExpresin | cExpresin)
Tipos devueItos: Character
Comentarios: SYS(11) devuelve un nmero de da Juliano a partir de una
expresin de fecha dExpresin, una expresin de fecha y hora tExpresin o una
expresin de tipo Character cExpresin en un formato de fecha. El nmero de da se
devuelve como una cadena de caracteres.
SYS(11) - EjempIo deI Nmero de da JuIiano
? SYS(11, {^1998-06-06})
? SYS(11,'06/06/1998')
TIME( ) (Funcin)
Instituto de Educacion Superior 'San Pedro'
Devuelve la hora actual del sistema en formato de 24 horas, en una cadena de 8
caracteres (HH:MM:SS).
Sintaxis: TIME([nExpresin])
Tipos devueItos: Character
Argumentos: nExpresin
La hora devuelta incluir centsimas de segundo si se incluye
nExpresin. La expresin numrica nExpresin puede ser cualquier
valor. No obstante, la resolucin mxima real es de
aproximadamente 1/18 de segundo. Utilice SECONDS( ) para
obtener mayor resolucin.
TTOC( ) (Funcin)
Devuelve un valor de tipo Character a partir de una expresin DateTime.
Sintaxis: TTOC(tExpresin [, 1 | 2])
Tipos devueItos: Character
Argumentos: tExpresin
Especifica una expresin de tipo DateTime a partir de la cual
TTOC( ) devuelve un valor de tipo Character. tExpresin slo
contiene una hora, Visual FoxPro agregar la fecha predeterminada
de 30/12/1899 a tExpresin. Si tExpresin slo contiene una fecha,
Visual FoxPro agregar la hora predeterminada de medianoche
(12:00:00 a.m.) a tExpresin.
1
Especifica que TTOC( ) devuelve un cadena de caracteres con un
formato adecuado para la creacin de ndices. La cadena de
caracteres tiene un formato aaaa:mm:dd:hh:mm:ss de 14 caracteres
que no se ve afectado por la configuracin actual de SET
CENTURY o SET SECONDS.
2
Especifica que TTOC( ) devuelva una cadena Character consistente
slo en el periodo de tiempo de la expresin DateTime. Los valores
establecidos para SET SECONDS y para SET DATE especifican si
se incluye la cantidad de segundos en la cadena de caracteres.
Tenga en cuenta que, si SET DATE est establecido en LONG o en
SHORT, el formato de la cadena de caracteres se determinar por
el formato establecido para la hora en el Panel de control.
EjempIo de TTOC( ) (Funcin)
Instituto de Educacion Superior 'San Pedro'
El ejemplo siguiente crea una variable de tipo DateTime llamada gtDtime. TYPE( )
muestra T, lo que indica que la variable es de tipo DateTime. TTOC( ) se usa para
convertir la variable a un tipo Character y TYPE( ) muestra ahora C para indicar que la
variable es de tipo Character despus de la conversin.
STORE DATETIME( ) TO gtDtime && Crea una variable de memoria de
tipo DateTime.
CLEAR
? "gtDtime es de tipo: "
?? TYPE('gtDtime') && Muestra T, el valor de tipo DateTime.
gtDtime = TTOC(gtDtime) && Convierte gtDtime a un valor de
tipo Character.
? "gtDtime es ahora de tipo: "
?? TYPE('gtDtime') && Muestra C, un valor de tipo Character.
TTOD( ) (Funcin)
Devuelve un valor de tipo Date a partir de una expresin de DateTime.
Sintaxis: TTOD(tExpresin)
Tipos devueItos: Date
Argumentos: tExpresin
Especifica una expresin de fecha y hora a partir de la cual TTOD( )
devuelve un valor de Fecha. tExpresin debe evaluarse como una
fecha y hora vlida. Si tExpresin slo contiene una hora, Visual
FoxPro agrega la fecha predeterminada de 30/12/1899 a tExpresin
y devuelve esta fecha predeterminada.
EjempIo de TTOD( ) (Funcin)
El ejemplo siguiente crea una variable de tipo DateTime llamada gtDtime. TYPE( )
muestra T, lo que indica que la variable es de tipo DateTime. TTOD( ) se usa para
convertir la variable a un tipo Date y TYPE( ) muestra ahora D para indicar que la
variable de memoria es de tipo Date despus de la conversin.
STORE DATETIME( ) TO gtDtime && Crea una variable de memoria de
tipo DateTime.
CLEAR
? "gtDtime es de tipo: "
?? TYPE('gtDtime') && Muestra T, el valor de tipo DateTime.
gtDtime = TTOD(gtDtime) && Convierte gtDtime a un valor de
tipo Fecha.
? "gtDtime es ahora de tipo: "
?? TYPE('gtDtime') && Muestra D, un valor de tipo Date.
WEEK( ) (Funcin)
Devuelve un nmero que representa la semana del ao a partir de una expresin de
tipo Date o DateTime.
Instituto de Educacion Superior 'San Pedro'
Sintaxis: WEEK(dExpresin | tExpresin [, nPrimeraSemana] [,
nPrimerDaSemana])
Tipos devueItos: Numeric
Argumentos: dExpresin | tExpresin
Especifica la expresin Date o DateTime para la cual WEEK( )
devuelve la semana del ao.
Si omite los argumentos opcionales nPrimeraSemana y
nPrimerDaSemana, WEEK( ) utilizar el domingo como primer da
de la semana.
nPrimeraSemana
Especifica los requisitos para la primera semana del ao.
nPrimeraSemana puede tener uno de los valores siguientes.
nPrimeraSe
mana
Descripcin
0 WEEK( ) devuelve la semana seleccionada actualmente en el
cuadro de lista Primera semana deI ao de la ficha
InternacionaI, en el cuadro de dilogo Opciones.
1 La primera semana contiene 1 de enero. ste es el valor
predeterminado cuando se omite nPrimeraSemana.
2 La mitad mayor (cuatro das) de la primera semana est en el
ao actual.
3 La primera semana tiene siete das.
nPrimerDaSemana
Especifica el primer da de la semana. nPrimerDaSemana puede
tener uno de los valores siguientes.
nPrimerDaSemana Descripcin
0 WEEK( ) devuelve el da seleccionado actualmente
en el cuadro de lista La semana empieza en de la
ficha InternacionaI, en el cuadro de dilogo
Opciones.
1 Domingo. ste es el valor predeterminado cuando se
omite nPrimerDaSemana y es el primer da de la
semana empleado en versiones anteriores de
FoxPro.
2 Lunes
Instituto de Educacion Superior 'San Pedro'
3 Martes
4 Mircoles
5 Jueves
6 Viernes
7 Sbado
Comentarios: WEEK( ) devuelve un nmero del 1 al 53 que representa la semana
del ao. Por ejemplo, WEEK( ) devuelve 1 para la primera semana del ao, 2 para la
segunda semana del ao, y as sucesivamente. Observe que una semana puede
dividirse entre aos: la primera semana del ao puede estar en el ao actual y en el
anterior.
EjempIo de WEEK( ) (Funcin)
En el ejemplo siguiente se muestra la semana del ao correspondiente a la fecha de
hoy y para una fecha especificada.
CLEAR
? WEEK(DATE( ))
? WEEK({^1998-02-16}) && Muestra 8
YEAR( ) (Funcin)
Devuelve el ao a partir de la expresin de fecha, o fecha y hora especificada.
Sintaxis: YEAR(dExpresin | tExpresin)
Tipos devueItos: Numeric
Argumentos: dExpresin
Especifica una expresin de fecha a partir de la cual YEAR( )
devuelve el ao. dExpresin puede ser una funcin que devuelve
una fecha o una variable de memoria, un elemento de matriz o un
campo de tipo Date. Tambin puede ser una cadena de fecha literal,
por ejemplo: {^1998-06-06}.
tExpresin
Especifica una expresin de tipo DateTime hora a partir de la cual
YEAR( ) devuelve el ao.
Comentarios: YEAR( ) siempre devuelve el ao con el siglo. La configuracin de
CENTURY (ON u OFF) no afecta al valor devuelto.
Ejemplo de YEAR( ) (Funcin)
CLEAR
? YEAR(DATE( ))
Instituto de Educacion Superior 'San Pedro'
FUNCIONES NUMRICAS
Las siguientes funciones operan sobre datos numricos o devuelven datos numricos.
% (Operador) ABS( ) (Funcin)
ACOS( ) (Funcin) ASIN( ) (Funcin)
ATAN( ) (Funcin) ATN2( ) (Funcin)
BETWEEN( ) (Funcin) BITAND( ) (Funcin)
BITCLEAR( ) (Funcin) BITLSHIFT( ) (Funcin)
BITNOT( ) (Funcin) BITOR( ) (Funcin)
BITRSHIFT( ) (Funcin) BITSET( ) (Funcin)
BITTEST( ) (Funcin) BITXOR( ) (Funcin)
CALCULATE (Comando) CEILING( ) (Funcin)
COS( ) (Funcin) DTOR( ) (Funcin)
EMPTY( ) (Funcin) EXP( ) (Funcin)
FLOOR( ) (Funcin) FV( ) (Funcin)
INLIST( ) (Funcin) INT( ) (Funcin)
LOG( ) (Funcin) LOG10( ) (Funcin)
MAX( ) (Funcin) MIN( ) (Funcin)
MOD( ) (Funcin) PAYMENT( ) (Funcin)
PI( ) (Funcin) PV( ) (Funcin)
RAND( ) (Funcin) ROUND( ) (Funcin)
RTOD( ) (Funcin) SET DECIMALS (Comando)
SIGN( ) (Funcin) SIN( ) (Funcin)
Instituto de Educacion Superior 'San Pedro'
SQRT( ) (Funcin) TAN( ) (Funcin)
VAL( ) (Funcin)
Instituto de Educacion Superior 'San Pedro'
% (Operador)
Devuelve el resto que se obtiene de dividir una expresin numrica por otra expresin
numrica.
Sintaxis: nDividendo % nDivisor
Argumentos: nDividendo
Especifica el dividendo (la expresin numrica que se divide). El
nmero de decimales de nDividendo determina el nmero de
decimales del resultado.
nDivisor
Especifica el divisor (la expresin numrica que divide al dividendo
nDividendo). Se devolver un nmero positivo si nDivisor es positivo
y un nmero negativo si nDivisor es negativo. nDivisor no puede ser
cero.
Comentario: El operador mdulo % y MOD( ) devuelven el mismo resultado.
El operador mdulo (%) es un operador aritmtico. + (suma), - (resta), *
(multiplicacin), / (divisin) y ^ (exponenciacin) son otros operadores aritmticos.
Cuando estos operadores se combinan en una expresin numrica, % tiene la misma
prioridad que * y /.
% (Operador) EjempIo
? 36 % 10 && Muestra 6
? (4*9) % (90/9) && Muestra 6
? 25.250 % 5,0 && Muestra 0,250
? IIF(YEAR(DATE( )) % 4 = 0, 'Este ao hay Juegos Olmpicos de
verano.';
, 'Este ao no hay Juegos Olmpicos de verano.')
ABS( ) (Funcin)
Devuelve el valor absoluto de la expresin numrica especificada.
Sintaxis: ABS(nExpresin)
Tipos devueItos: Numeric
Argumentos: nExpresin
Especifica la expresin numrica cuyo valor absoluto devuelve
ABS( ).
EjempIo de ABS( ) (Funcin)
Instituto de Educacion Superior 'San Pedro'
? ABS(-45) && Muestra 45
? ABS(10-30) && Muestra 20
? ABS(30-10) && Muestra 20
STORE 40 TO gnNumber1
STORE 2 TO gnNumber2
? ABS(gnNumber2-gnNumber1) && Muestra 38
ACOS( ) (Funcin)
Devuelve el arco coseno de una expresin numrica especificada.
Sintaxis: ACOS(nExpresin)
Tipos devueItos: Numeric
Argumentos: nExpresin
Especifica la expresin numrica cuyo arco coseno devuelve
ACOS( ). El valor de nExpresin puede estar comprendido entre 1
y +1. El valor que devuelve ACOS( ) est comprendido entre 0 y pi
(3,141592). El nmero de decimales que devuelve ACOS( ) est
determinado por SET DECIMALS.
Utilice RTOD( ) para convertir radianes a grados.
Comentarios: El arco coseno se devuelve en radianes.
EjempIo de ACOS( ) (Funcin)
CLEAR
? RTOD(ACOS(0)) && Muestra 90,00
STORE -1 to gnArcongulo
? RTOD(ACOS(gnArcongulo)) && Muestra 180,00
? RTOD(ACOS(SQRT(2)/2)) && Muestra 45,00
ASIN( ) (Funcin)
Devuelve en radianes el arco seno de una expresin numrica.
Sintaxis: ASIN(nExpresin)
Tipo devueIto: Numeric
Argumentos: nExpresin
Especifica la expresin numrica cuyo arco seno devuelve ASIN( ).
El valor de nExpresin puede oscilar entre +1 y 1, y el valor que
ASIN( ) devuelve puede ir desde pi/2 hasta +pi/2 ( 1,57079 hasta
1,57079). El nmero de decimales que se presentan en el resultado
puede especificarse mediante SET DECIMALS.
Comentarios: Utilice RTOD( ) para convertir radianes en grados.
Instituto de Educacion Superior 'San Pedro'
EjempIo de ASIN( ) (Funcin)
CLEAR
? RTOD(ASIN(0)) && Devuelve 0.00
STORE 1 to gnAngArc
? RTOD(ASIN(gnAngArc)) && Devuelve 90.00
? RTOD(ASIN(SQRT(2)/2)) && Devuelve 45.00
ATAN( ) (Funcin)
Devuelve el arcotangente en radianes de una expresin numrica.
Sintaxis: ATAN(nExpresin)
Tipos devueItos: Numeric
Argumentos: nExpresin
Especifica una expresin numrica cuyo arcotangente devuelve
ATAN( ). nExpresin puede ser cualquier valor. El valor devuelto por
ATAN( ) puede oscilar entre pi/2 y +pi/2 (1,57079 y 1,57079). El
nmero de decimales que se muestran del valor devuelto por
ATAN( ) est determinado por SET DECIMALS.
Comentarios: Utilice RTOD( ) para convertir radianes en grados.
EjempIo de ATAN( ) (Funcin)
CLEAR
? ATAN(0) && Muestra 0.00
STORE PI( )/2 to gnngulo
? ATAN(gnngulo) && Muestra 1.00
? ATAN(PI( )/2) && Muestra 1.00
? ATAN(DTOR(90)) && Muestra 1.00
ATN2( ) (Funcin)
Devuelve el arcotangente en los cuatro cuadrantes de los valores especificados.
Sintaxis: ATN2(nCoordenadaY, nCoordenadaX)
Tipos devueItos: Numeric
Argumentos: nCoordenadaY
Especifica la coordenada y.
nCoordenadaX
Especifica la coordenada x.
Instituto de Educacion Superior 'San Pedro'
Comentarios: ATN2( ) devuelve el ngulo (en radianes) existente entre la lnea y =
0 y la lnea que conecta las coordenadas especificadas y el origen (0, 0) del sistema
de coordenadas.
El valor de ATN2( ) debe estar entre - pi/2 y + pi/2.
El valor devuelto por ATN2( ) puede convertirse a grados mediante RTOD( ). El
nmero de decimales que se muestran con el resultado pueden especificarse con SET
DECIMALS.
EjempIo de ATN2( ) (Funcin)
CLEAR
? PI( ) && Muestra 3.14
? ATN2(0,-1) && Muestra 3.14
STORE COS(PI( )) TO gnCoordX
STORE SIN(PI( )) TO gnCoordY
? ATN2(gnCoordY,gnCoordX) && Muestra 3.14
? ATN2(gnCoordY,gnCoordX)/PI( ) && Muestra 1.00
BITAND( ) (Funcin)
Devuelve el resultado de una operacin AND a nivel de bits realizada en dos valores
numricos.
Sintaxis: BITAND(nExpresin1, nExpresin2)
Tipos devueItos: Numeric
Argumentos: nExpresin1, nExpresin2
Especifica los valores numricos en que se realiza la operacin
AND a nivel de bits. Si nExpresin1 y nExpresin2 no son enteros,
se convertirn en enteros antes de que se realice la operacin AND
a nivel de bits.
Comentarios: BITAND( ) compara cada bit de nExpresin1 con el bit
correspondiente de nExpresin2. Si los bits de nExpresin1 y nExpresin2 son 1, el bit
de resultado correspondiente se establecer como 1; de lo contrario, el bit de resultado
correspondiente se establecer como 0.
La tabla siguiente muestra el resultado de una operacin AND a nivel de bits de los
bits nExpresin1 y nExpresin2 correspondientes:
Bit nExpresin1 Bit nExpresin2 Bit resuItante
0 0 0
0 1 0
1 1 1
1 0 0
Instituto de Educacion Superior 'San Pedro'
EjempIo de BITAND( ) (Funcin)
x = 3 && 0011 binario
y = 6 && 0110 binario
? BITAND(x,y) && Devuelve 2, 0010 binario.
BITCLEAR( ) (Funcin)
Borra un bit especificado (establece el bit como 0) en un valor numrico y devuelve el
valor resultante.
Sintaxis: BITCLEAR(nExpresin1, nExpresin2)
Tipos devueItos: Numeric
Argumentos: nExpresin1
Especifica el valor numrico en el que se desactiva un bit. Si
nExpresin1 no es un entero, se convertir en entero antes de que
se establezca su bit.
nExpresin2
Especifica la posicin de bit de nExpresin1 que se desactiva.
nExpresin2 puede ir de 0 a 31; 0 es el bit de la derecha.
EjempIo de BITCLEAR( ) (Funcin)
x = 7 && 0111 binario
y = 1 && 2 posicin de bit (0 = 1 posicin de bit)
? BITCLEAR(x,y) && Devuelve 5, 0101 binario.
BITLSHIFT( ) (Funcin)
Devuelve el resultado de desplazar un nmero especfico de posiciones hacia la
izquierda los bits de un valor numrico.
Sintaxis: BITLSHIFT(nExpresin1, nExpresin2)
Tipos devueItos: Numeric
Argumentos: nExpresin1
Especifica el valor numrico cuyos bits se desplazan a la izquierda.
Si nExpresin1 no es un entero, se convertir en un entero antes de
desplazar sus bits.
nExpresin2
Especifica el nmero de posiciones de bit que se van a desplazar. Si
nExpresin2 no es un entero, se convertir en un entero.
Instituto de Educacion Superior 'San Pedro'
EjempIo de BITLSHIFT( ) (Funcin)
x = 5 && 0101 binario
y = 1 && Desplaza bits 1 posicin hacia la izquierda.
? BITLSHIFT(x,y) && Devuelve 10, 1010 binario.
BITNOT( ) (Funcin)
Devuelve el resultado de una operacin NOT a nivel de bits realizada sobre un valor
numrico.
Sintaxis: BITNOT(nExpresin)
Tipos devueItos: Numeric
Argumentos: nExpresin
Especifica el valor numrico en que se lleva a cabo la operacin
NOT a nivel de bits. Si nExpresin no es un entero, se convertir en
un entero antes de que se desplacen sus bits.
Comentarios: BITNOT( ) devuelve el complemento a nivel de bits de nExpresin.
El valor numrico devuelto por BITNOT( ) representa nExpresin con cada bit con el
valor 0 desplazado a 1 y cada bit con valor 1 desplazado a 0.
La tabla siguiente muestra el resultado de una operacin NOT a nivel de bits sobre
nExpresin:
Bit de nExpresin Bit resuItante
0 1
1 0
EjempIo de BITNOT( ) (Funcin)
x = 5 && 0101 binario.
? BITNOT(x) && Devuelve -6.
BITOR( ) (Funcin)
Devuelve el resultado de una operacin OR inclusiva a nivel de bits realizada sobre
dos valores numricos.
Sintaxis: BITOR(nExpresin1, nExpresin2)
Tipos devueItos: Numeric
Argumentos: nExpresin1, nExpresin2
Instituto de Educacion Superior 'San Pedro'
Especifica los valores numricos en los que se lleva a cabo la
operacin OR inclusiva a nivel de bits. Si nExpresin1 y
nExpresin2 no son enteros, se convertirn en enteros antes de que
se realice la operacin OR inclusiva a nivel de bits.
Comentarios: BITOR( ) compara cada bit de nExpresin1 con el bit
correspondiente de nExpresin2. Si algn bit de nExpresin1 o de nExpresin2 es 1,
el bit de resultado correspondiente se establecer como 1; de lo contrario, el bit de
resultado correspondiente se establecer como 0.
La tabla siguiente muestra el resultado de una operacin OR inclusiva sobre los
correspondientes bits de nExpresin1 y nExpresin2:
Bit de nExpresin1 Bit de nExpresin2 Bit resuItante
0 0 0
0 1 1
1 0 1
1 1 1
EjempIo de BITOR( ) (Funcin)
x = 5 && 0101 binario.
y = 6 && 0110 binario.
? BITOR(x,y) && Devuelve 7, 0111 binario.
BITRSHIFT( ) (Funcin)
Devuelve el resultado de desplazar un nmero especfico de posiciones hacia la
derecha los bits de un valor numrico.
Sintaxis: BITRSHIFT(nExpresin1, nExpresin2)
Tipos devueItos: Numeric
Argumentos: nExpresin1
Especifica el valor numrico cuyos bits se desplazan hacia la
derecha. Si nExpresin1 no es un entero, se convertir en un entero
antes de que se desplacen sus bits.
nExpresin2
Especifica el nmero de posiciones de bit que se van a desplazar. Si
nExpresin2 no es un entero, se convertir en un entero.
EjempIo de BITRSHIFT( ) (Funcin)
x = 5 && 0101 binario.
Instituto de Educacion Superior 'San Pedro'
y = 1 && Desplaza los bits 1 posicin hacia la derecha.
? BITRSHIFT(x,y) && Devuelve 2, 0010 binario.
BITSET( ) (Funcin)
Establece como 1 el bit de un valor numrico y devuelve el valor resultante.
Sintaxis: BITSET(nExpresin1, nExpresin2)
Tipos devueItos: Numeric
Argumentos: nExpresin1
Especifica el valor numrico en el que se establece un bit. Si
nExpresin1 no es un entero, se convertir en un entero antes de
que se establezca su bit.
nExpresin2
Especifica la posicin de bit de nExpresin1 que se establece como
1. nExpresin2 puede ir de 0 a 31; 0 es el bit ms a la derecha.
EjempIo de BITSET( ) (Funcin)
x = 5 && 0101 binario.
y = 1 && 2 posicin de bit (0 = 1 posicin de bit)
? BITSET(x,y) && Devuelve 7, 0111 binario.
BITXOR( ) (Funcin)
Devuelve el resultado de una operacin OR exclusiva a nivel de bits realizada sobre
dos valores numricos.
Sintaxis: BITXOR(nExpresin1, nExpresin2)
Tipos devueItos: Numeric
Argumentos: nExpresin1, nExpresin2
Especifica los valores numricos sobre los que se lleva a cabo la
operacin OR exclusiva a nivel de bits. Si nExpresin1 y
nExpresin2 no son enteros, se convertirn en enteros antes de que
se realice la operacin OR exclusiva a nivel de bits.
Comentarios: BITXOR( ) compara cada bit de nExpresin1 con el bit
correspondiente de nExpresin2. Si un bit es 0 y el otro 1, el bit de resultado
correspondiente se establecer como 1. De lo contrario, el bit de resultado
correspondiente se establecer como 0.
La tabla siguiente muestra el resultado de una operacin OR exclusiva sobre los bits
correspondientes de nExpresin1 y nExpresin2:
Instituto de Educacion Superior 'San Pedro'
Bit de nExpresin1 Bit de nExpresin2 Bit de resuItado
0 0 0
0 1 1
1 0 1
1 1 0
EjempIo de BITXOR( ) (Funcin)
x = 5 && 0101 binario.
y = 6 && 0110 binario.
? BITXOR(x,y) && Devuelve 3, 0011 binario.
CALCULATE (Comando)
Realiza operaciones financieras y estadsticas en campos de una tabla o expresiones
que utilicen campos.
Sintaxis: CALCULATE eListaExpresiones
[Alcance] [FOR lExpresin1] [WHILE lExpresin2]
[TO ListaVariablesMemoria | TO ARRAY NombreMatriz]
[NOOPTIMIZE]
Argumentos: eListaExpresiones
Especifica las expresiones que pueden contener cualquier
combinacin de las siguientes funciones:
AVG(nExpresin)
CNT( )
MAX(eExpresin)
MIN(eExpresin)
NPV(nExpresin1, nExpresin2 [, nExpresin3])
STD(nExpresin)
SUM(nExpresin)
VAR(nExpresin)
Las funciones de la lista eListaExpresiones estn separadas con
comas. Estas funciones son especficas de CALCULATE y se
describen detalladamente ms adelante en esta seccin. No deben
confundirse con funciones independientes de nombre similar. Por
ejemplo, CALCULATE MIN( ) no es lo mismo que MIN( ).
Instituto de Educacion Superior 'San Pedro'
Alcance
Especifica un intervalo de registros utilizados en el clculo.
Solamente se incluyen en dicho clculo los registros incluidos en el
intervalo. Las clusulas de alcance son: ALL, NEXT nRegistros,
RECORD nNmeroRegistros y REST.
El alcance predeterminado de CALCULATE es ALL (todos los
registros).
FOR lExpresin1
Especifica que slo los registros que satisfacen la condicin lgica
lExpresin1 se incluirn en el clculo. La inclusin de FOR permite
incluir registros en el clculo de manera condicional, al filtrar los
registros no deseados.
Rushmore optimizar una consulta CALCULATE ... FOR si
lExpresin1 es una expresin optimizable. Para obtener el mejor
rendimiento, utilice una expresin optimizable en la clusula FOR.
WHILE lExpresin2
Especifica una condicin por la cual los registros se incluyen en el
clculo siempre y cuando la expresin lgica lExpresin2 d como
resultado verdadero (.T.).
TO ListaVariablesMemoria
Especifica una o varias variables donde se almacenan los
resultados del clculo. Si una variable especificada no existe, Visual
FoxPro la crear automticamente con el nombre que usted
especifique.
TO ARRAY NombreMatriz
Especifica el nombre de la matriz donde se pueden almacenar los
resultados del clculo. Si el nombre de matriz especificado no
existe, Visual FoxPro crear automticamente una matriz con este
nombre. Si la matriz existe pero no es suficientemente grande para
contener todos los resultados, Visual FoxPro aumentar
automticamente su tamao para dar cabida a la informacin.
NOOPTIMIZE
Desactiva la optimizacin Rushmore de CALCULATE.
AVG(nExpresin)
Calcula la media aritmtica de nExpresin. Slo se incluyen en el
resultado los registros que cumplan las condiciones de Alcance y de
las clusulas opcionales FOR o WHILE.
Instituto de Educacion Superior 'San Pedro'
CNT( )
Devuelve el nmero de registros de la tabla. Slo se incluyen en el
resultado los registros que cumplan las condiciones de Alcance y de
las clusulas opcionales FOR o WHILE.
MAX(eExpresin)
Devuelve el valor mayor o el ms reciente de eExpresin. En la
clusula MAX( ) es posible especificar cualquier campo (Character,
Date, DateTime, Numeric, Float, Integer, Double o Currency) o
cualquier expresin vlida que utilice campos de estos tipos. Slo se
incluyen en el resultado los registros que cumplan las condiciones
de Alcance y de las clusulas opcionales FOR o WHILE.
MIN(eExpresin)
Devuelve el valor menor o el ms antiguo de eExpresin. En
eExpresin es posible especificar cualquier campo (Character, Date,
DateTime, Numeric, Float, Integer, Double o Currency) o cualquier
expresin vlida que utilice campos de estos tipos. Slo se incluyen
en el resultado los registros que cumplan las condiciones de
Alcance y de las clusulas opcionales FOR o WHILE.
NPV(nExpresin1, nExpresin2 [, nExpresin3])
Calcula el valor neto actual de una serie de flujos de caja futuros
descontados a una tasa de inters peridica constante.
nExpresin1 es la tasa de inters expresada como valor decimal.
nExpresin2 es un campo, expresin de campo o expresin
numrica que representa una serie de flujos de caja. Cada flujo de
caja puede ser positivo o negativo. En los casos en que
nExpresin2 sea un campo, el valor del campo en cada registro de
la tabla se considerar un flujo de caja.
nExpresin3 es una inversin inicial opcional. Si no se incluye la
inversin inicial, se supondr que sta ocurre al final del primer
periodo. Esta inversin inicial es el primer registro del campo y es
negativa para representar una retirada de caja.
Slo se incluyen en el resultado los registros que cumplan las
condiciones de Alcance y de las clusulas opcionales FOR o
WHILE.
STD(nExpresin)
Calcula la desviacin tpica de nExpresin. La desviacin tpica
mide el grado en que los valores de los campos o expresiones que
utilizan campos difieren del promedio de todos los valores. Cuanto
menor sea la desviacin tpica, menos varan los valores con
respecto al promedio. Slo se incluyen en el resultado los registros
Instituto de Educacion Superior 'San Pedro'
que cumplan las condiciones de Alcance y de las clusulas
opcionales FOR o WHILE.
SUM(nExpresin)
Calcula el total de la suma de los valores de nExpresin. Slo se
incluyen en el resultado los registros que cumplan las condiciones
de Alcance y de las clusulas opcionales FOR o WHILE.
VAR(nExpresin)
Calcula la varianza del promedio de nExpresin. Cuanto menor sea
la varianza, menos varan los valores con respecto al promedio.
Slo se incluyen en el resultado los registros que cumplan las
condiciones de Alcance y de las clusulas opcionales FOR o
WHILE.
Comentarios: Los registros que contienen el valor nulo no se incluyen en las
operaciones que realiza CALCULATE.
EjempIo de CALCULATE (Comando)
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'data\testdata')
USE orders && Abre la tabla Orders.
SET TALK ON
CLEAR
CALCULATE AVG(order_amt), MIN(order_amt), MAX(order_amt)
CALCULATE STD(order_amt), VAR(order_amt) TO gnStd, gnVar
CEILING( ) (Funcin)
Devuelve el entero ms prximo que sea mayor o igual que la expresin numrica
especificada.
Sintaxis: CEILING(nExpresin)
Tipos devueItos: Numeric
Argumentos: nExpresin
Especifica el nmero cuyo prximo entero mayor devuelve
CEILING( ).
Comentarios: CEILING redondea un nmero con parte fraccional hasta el prximo
entero mayor.
EjempIo de CEILING( ) (Funcin)
STORE 10.1 TO num1
STORE -10.9 TO num2
? CEILING(num1) && Muestra 11
? CEILING(num2) && Muestra -10
Instituto de Educacion Superior 'San Pedro'
? CEILING(10.0) && Muestra 10
? CEILING(-10.0) && Muestra -10
COS( ) (Funcin)
Devuelve el coseno de una expresin numrica.
Sintaxis: COS(nExpresin)
Tipos devueItos: Numeric
Argumentos: nExpresin
Especifica la expresin numrica cuyo coseno devuelve COS( ).
nExpresin puede ser cualquier valor.
Comentarios: COS( ) devuelve el coseno de nExpresin en radianes. Utilice
DTOR( ) para convertir un ngulo de grados a radianes. El nmero de posiciones
decimales que devuelve COS( ) se puede especificar mediante SET DECIMALS. El
valor devuelto por COS( ) vara entre 1 y 1.
EjempIo de COS( ) (Funcin)
CLEAR
? COS(0) && Muestra 1.00
? COS(PI( )) && Muestra -1.00
? COS(DTOR(180)) && Muestra -1.00
STORE PI( ) * 3 TO gnngulo
? COS(gnngulo) && Muestra -1.00
EXP( ) (Funcin)
Devuelve el valor de e
x
donde x es una expresin numrica especificada.
Sintaxis: EXP(nExpresin)
Tipos devueItos: Numeric
Argumentos: nExpresin
Especifica el exponente, x, en la expresin exponencial ex
Comentarios: El valor de e, la base de los logaritmos naturales, es
aproximadamente 2,71828. El nmero de lugares decimales que se muestran con
EXP( ) se especifica con SET DECIMALS.
EjempIo de EXP( ) (Funcin)
? EXP(0) && Muestra 1.00
? EXP(1) && Muestra 2.72
FLOOR( ) (Funcin)
Instituto de Educacion Superior 'San Pedro'
Devuelve el entero ms prximo que sea menor o igual que la expresin numrica
especificada.
Sintaxis: FLOOR(nExpresin)
Tipos devueItos: Numeric
Argumentos: nExpresin
Especifica la expresin numrica para la cual FLOOR( ) devuelve el entero ms
prximo que sea menor o igual que la expresin numrica.
EjempIo de FLOOR( ) (Funcin)
STORE 10.9 TO gnNumber1
STORE -10.1 TO gnNumber2
CLEAR
? FLOOR(gnNumber1) && Muestra 10
? FLOOR(gnNumber2) && Muestra -11
? FLOOR(10.0) && Muestra 10
? FLOOR(-10.0) && Muestra -10
FV( ) (Funcin)
Devuelve el valor futuro de una inversin.
Sintaxis: FV(nPago, nTipoInters, nPeriodos)
Tipos devueItos: Numeric
Argumentos: nPago
Especifica el pago peridico constante (que puede ser negativo o
positivo).
nTipoInters
Especifica el tipo de inters peridico. Si el tipo de inters es anual
pero los pagos son mensuales, divida el tipo de inters anual entre
12.
nPeriodos
Especifica el nmero de periodos durante los que se harn pagos.
FV( ) asume que los pagos peridicos se harn al final de cada
periodo.
Comentarios: FV( ) calcula el valor futuro de una serie de pagos constantes
peridicos que devengan inters compuesto fijo. El valor futuro es el total de todos los
pagos ms los intereses.
EjempIo de FV( ) (Funcin)
Instituto de Educacion Superior 'San Pedro'
STORE 500 TO gnPago && Pago mensual.
STORE .075/12 TO gnInters && 7,5% de tasa de inters anual.
STORE 48 TO gnPeriodos && Cuatro aos (48 meses).
CLEAR
? FV(gnPago, gnInters, gnPeriodos) && Muestra 27887,93
INT( ) (Funcin)
Evala una expresin numrica y devuelve la parte entera de dicha expresin.
Sintaxis: INT(nExpresin)
Tipos devueItos: Numeric
Argumentos: nExpresin
Especifica la expresin numrica cuya parte entera devuelve INT( ).
EjempIo de INT( ) (Funcin)
CLEAR
? INT(12.5) && Muestra 12
? INT(6.25 * 2) && Muestra 12
? INT(-12.5) && Muestra -12
STORE -12.5 TO gnNmero
? INT(gnNmero) && Muestra -12
LOG( ) (Funcin)
Devuelve el logaritmo natural (base e) de la expresin numrica especificada.
Sintaxis: LOG(nExpresin)
Tipos devueItos: Numeric
Argumentos: nExpresin
Especifica la expresin numrica para la cual LOG( ) devuelve el
valor de x en la ecuacin ex = nExpresin. nExpresin debe ser
mayor que 0.
Comentarios: La base del logaritmo natural es la constante e. El nmero de
lugares decimales del resultado se especifica mediante SET DECIMALS.
EjempIo de LOG( ) (Funcin)
CLEAR
? LOG(1) && Muestra 0.00
STORE EXP(2) TO gneCuad
? LOG(gneCuad) && Muestra 2.00
LOG10( ) (Funcin)
Instituto de Educacion Superior 'San Pedro'
Devuelve el logaritmo comn (base 10) de la expresin numrica especificada.
Sintaxis: LOG10(nExpresin)
Tipos devueItos: Numeric
Argumentos: nExpresin
Especifica la expresin numrica para la cual LOG10( ) devuelve el
valor de x en la ecuacin 10x = nExpresin. nExpresin debe ser
mayor que 0.
Comentarios: La base del logaritmo comn es 10. El nmero de lugares decimales
que tendr el resultado se especifica mediante SET DECIMALS.
EjempIo de LOG10( ) (Funcin)
CLEAR
? LOG10(10) && Muestra 1.00
STORE 100 TO gnBaseDiez
? LOG10(gnBaseDiez) && Muestra 2.00
? LOG10(gnBaseDiez^2) && Muestra 4.00
MAX( ) (Funcin)
Evala un conjunto de expresiones y devuelve la expresin con el valor mximo.
Sintaxis: MAX(eExpresin1, eExpresin2 [, eExpresin3 ...])
Tipos devueItos: Character, Numeric, Currency, Double, Float, Date o DateTime
Argumentos: eExpresin1, eExpresin2 [, eExpresin3 ...]
Especifique las expresiones de las que desea que MAX( ) devuelva
la expresin con el valor ms elevado. Todas las expresiones deben
ser del mismo tipo de datos.
EjempIo de MAX( ) (Funcin)
El siguiente ejemplo utiliza APPEND BLANK para crear una tabla con 10 registros que
contienen valores aleatorios y, a continuacin, emplea MIN( ) y MAX( ) para mostrar
los valores mximo y mnimo de la tabla.
CLOSE DATABASES
CREATE TABLE Random (cValor N(3))
FOR nItem = 1 TO 10 && Agrega 10 registros.
APPEND BLANK
REPLACE cValor WITH 1 + 100 * RAND( ) && Inserta valores
aleatorios.
ENDFOR
CLEAR
LIST && Muestra los valores.
gnMaximum = 1 && Inicializa el valor mnimo.
Instituto de Educacion Superior 'San Pedro'
gnMinimum = 100 && Inicializa el valor mximo.
SCAN
gnMinimum = MIN(gnMinimum, cValor)
gnMaximum = MAX(gnMaximum, cValor)
ENDSCAN
? 'El valor mnimo es: ', gnMinimum && Muestra el valor mnimo.
? 'El valor mximo es: ', gnMaximum && Muestra el valor mximo.
MIN( ) (Funcin)
Evala un conjunto de expresiones y devuelve la expresin que tenga el valor mnimo.
Sintaxis: MIN(eExpresin1, eExpresin2 [, eExpresin3 ...])
Tipos devueItos: Character, Numeric, Currency, Double, Float, Date o DateTime
Argumentos: eExpresin1, eExpresin2 [, eExpresin3 ...]
Especifican el conjunto de expresiones a partir del cual desea que
MIN( ) devuelva la expresin cuyo valor es menor. Todas las
expresiones deben ser del mismo tipo.
EjempIo de MIN( ) (Funcin)
El siguiente ejemplo utiliza APPEND BLANK para crear una tabla con 10 registros que
contienen valores aleatorios y, a continuacin, usa MIN( ) y MAX( ) para mostrar los
valores mximo y mnimo de la tabla.
CLOSE DATABASES
CREATE TABLE Random (cValue N(3))
FOR nItem = 1 TO 10 && Agrega 10 registros.
APPEND BLANK
REPLACE cValue WITH 1 + 100 * RAND( ) && Inserta valores
aleatorios.
ENDFOR
CLEAR
LIST && Muestra los valores.
gnMaximum = 1 && Inicializa el valor mnimo.
gnMinimum = 100 && Inicializa el valor mximo.
SCAN
gnMinimum = MIN(gnMinimum, cValue)
gnMaximum = MAX(gnMaximum, cValue)
ENDSCAN
? 'El valor mnimo es: ', gnMinimum && Muestra el valor mnimo.
? 'El valor mximo es: ', gnMaximum && Muestra el valor mximo.
MOD( ) (Funcin)
Divide una expresin numrica por otra expresin numrica y devuelve el resto.
Sintaxis: MOD(nDividendo, nDivisor)
Tipos devueItos: Numeric
Instituto de Educacion Superior 'San Pedro'
Argumentos: nDividendo
Especifica el dividendo. El nmero de lugares decimales en
nDividendo determina el nmero de lugares decimales en el
resultado.
nDivisor
Especifica el divisor. Si nDivisor es positivo, se devolver un nmero
positivo, si nDivisor es negativo se devolver un nmero negativo.
Comentarios: La funcin de mdulo MOD( ) y el operador % devuelven resultados
idnticos.
EjempIo de MOD( ) (Funcin)
CLEAR
? MOD(36,10) && Muestra 6
? MOD((4*9), (90/9)) && Muestra 6
? MOD(25.250,5.0) && Muestra 0.250
? IIF(MOD(YEAR(DATE( )), 4) = 0, 'Este ao, Juegos Olmpicos de
verano';
, 'No hay Juegos Olmpicos de verano')
PAYMENT( ) (Funcin)
Devuelve el importe de cada pago peridico de un prstamo a inters fijo.
Sintaxis: PAYMENT(nPrincipal, nTipoInters, nPagos)
Tipos devueItos: Numeric
Argumentos: nPrincipal
Especifica el principal inicial del prstamo.
nTipoInters
Especifica el tipo de inters fijo por periodo. Si en el prstamo se
hacen los pagos mensualmente pero el tipo de inters es anual,
divida por 12 el tipo de inters anual.
nPagos
Especifica el nmero total de pagos a realizar en el prstamo.
Comentarios: PAYMENT( ) asume un tipo de inters peridico constante y que los
pagos se hacen al final de cada periodo.
EjempIo de PAYMENT( ) (Funcin)
STORE 100000 to gnPrincipal && Principal inicial de
$100.000.
Instituto de Educacion Superior 'San Pedro'
STORE .105/12 TO gnInters && Tasa de inters anual del 10,5%.
STORE (20*12) TO gnPagos && 20 aos de pagos mensuales.
CLEAR
? PAYMENT(gnPrincipal, gnInters, gnPagos) && Muestra 998,38
PI( ) (Funcin)
Devuelve la constante numrica pi.
Sintaxis: PI( )
Tipos devueItos: Numeric
Comentarios: La constante numrica pi (3,141592) es la proporcin entre el radio
de la circunferencia de un crculo y su dimetro.
El nmero de lugares decimales mostrados en el valor devuelto por PI( ) est
determinado por SET DECIMALS
EjempIo de PI( ) (Funcin)
CLEAR
? PI( ) && Muestra 3,14
STORE 2.30 TO gnRadio
STORE PI( ) * gnRadio^2 TO gnrea
? gnrea && Muestra 16,6190
PV( ) (Funcin)
Devuelve el valor actual de una inversin.
Sintaxis: PV(nPago, nTasaInters, nPagosTotal)
Tipos devueItos: Numeric
Argumentos: nPago
Especifica la cantidad de pago peridico. nPago puede calificar con
un nmero negativo o positivo. PV( ) da por supuesto que los pagos
se realizan al final de cada periodo.
NTipoInters
Especifica la tasa de inters peridico. Si la tasa de inters de una
inversin es anual y los pagos se realizan mensualmente, divida la
tasa de inters anual entre 12.
NPagosTotal
Especifica el nmero total de pagos.
Comentarios: PV( ) calcula el valor actual como de pagos peridicos iguales a un
tipo de inters peridico constante.
Instituto de Educacion Superior 'San Pedro'
EjempIo de PV( ) (Funcin)
STORE 500 to gnPago && Pagos peridicos mensuales
STORE .075/12 TO gnInters && Tasa de inters anual del 7.5%
STORE 48 TO gnPeriodos && Cuatro aos (48 meses)
CLEAR
? PV(gnPagos, gnInters, gnPeriodos) && Muestra 20679.19
RAND( ) (Funcin)
Devuelve un nmero aleatorio entre 0 y 1.
Sintaxis: RAND([nValorSemilla])
Tipos devueItos: Numeric
Argumentos: nValorSemilla
Especifica el valor semilla que determina la secuencia de valores que devuelve
RAND( ).
RAND( ) devuelve la misma secuencia de nmeros aleatorios si utiliza el mismo valor
semilla para nValorSemilla la primera vez que ejecuta la funcin RAND( ) seguida de
llamadas posteriores a la funcin RAND( ) sin nValorSemilla.
Si nValorSemilla es negativo la primera vez que ejecuta RAND( ), se usar un valor
semilla a partir del reloj del sistema. Para obtener la serie ms aleatoria de nmeros,
utilice inicialmente RAND( ) con un argumento negativo y, despus, ejecute RAND( )
sin ningn argumento.
Si omite nValorSemilla, RAND( ) utilizar de forma predeterminada el valor semilla
100.001.
EjempIo de RAND( ) (Funcin)
El ejemplo siguiente usa RAND( ) para crear una tabla con 10 registros que contienen
valores aleatorios y, luego, usa MIN( ) y MAX( ) para mostrar los valores mximo y
mnimo de la tabla.
En el segundo ejemplo, a continuacin, se muestra un nmero aleatorio que se
encuentra entre dos valores, 1 y 10.
CLOSE DATABASES
CREATE TABLE Random (cValue N(3))
FOR nItem = 1 TO 10 && Agrega 10 registros.
APPEND BLANK
REPLACE cValue WITH 1 + 100 * RAND( ) && Inserta valores
aleatorios.
ENDFOR
CLEAR
LIST && Muestra los valores.
gnMaximum = 1 && Inicializa el valor mnimo.
gnMinimum = 100 && Inicializa el valor mximo.
SCAN
Instituto de Educacion Superior 'San Pedro'
gnMinimum = MIN(gnMinimum, cValue)
gnMaximum = MAX(gnMaximum, cValue)
ENDSCAN
? 'El valor mnimo es: ', gnMinimum && Muestra el valor mnimo.
? 'El valor mximo es: ', gnMaximum && Muestra el valor mximo.
CLEAR
gnLower = 1
gnUpper = 10
? INT((gnUpper - gnLower + 1) * RAND( ) + gnLower)
ROUND( ) (Funcin)
Devuelve una expresin numrica redondeada a un nmero especificado de cifras
decimales.
Sintaxis: ROUND(nExpresin, nLugaresDecimales)
Tipos devueItos: Numeric
Argumentos: nExpresin
Especifica la expresin numrica cuyo valor desea redondear.
nDecimalPlaces
Especifica el nmero de cifras decimales con los que se redondea
nExpresin.
Si nLugaresDecimales es negativo, ROUND( ) devuelve un nmero
entero que contiene nLugaresDecimales ceros a la izquierda del
separador decimal. Por ejemplo, si nLugaresDecimales es 2, la
primera y la segunda cifra a la izquierda del separador decimal del
valor sern cero.
Comentarios: El valor devuelto por ROUND( ) tiene el mismo nmero de lugares
decimales que nLugaresDecimales. ROUND( ) pasa por alto el nmero de cifras
decimales especificado por SET DECIMALS.
EjempIo de ROUND( ) (Funcin)
SET DECIMALS TO 4
SET FIXED ON && Fija la presentacin de decimales
CLEAR
? ROUND(1234.1962, 3) && Muestra 1234,1960
? ROUND(1234.1962, 2) && Muestra 1234,2000
? ROUND(1234.1962, 0) && Muestra 1234,0000
? ROUND(1234.1962, -1) && Muestra 1230,0000
? ROUND(1234.1962, -2) && Muestra 1200,0000
? ROUND(1234.1962, -3) && Muestra 1000,0000
SET FIXED OFF && Restaura los valores predeterminados de inicio
SET DECIMALS TO 2
Instituto de Educacion Superior 'San Pedro'
RTOD( ) (Funcin)
Convierte radianes en grados.
Sintaxis: RTOD(nExpresin)
Tipos devueItos: Numeric
Argumentos: nExpresin
Especifica la expresin numrica que representa los radianes que
RTOD( ) convierte en grados.
Comentarios: RTOD( ) convierte el valor (en radianes) de una expresin numrica
a su valor equivalente en grados.
RTOD( ) es til cuando se trabaja con funciones trigonomtricas de Visual FoxPro
tales como COS( ), SIN( ), TAN( ).
Utilice DTOR( ) para convertir grados en radianes.
EjempIo de RTOD( ) (Funcin)
CLEAR
? RTOD(ACOS(0)) && Muestra 90.00
STORE -1 to gnArcAngle
? RTOD(ACOS(gnArcAngle)) && Muestra 180.00
? RTOD(ACOS(SQRT(2)/2)) && Muestra 45.00
SET DECIMALS (Comando)
Especifica el nmero de decimales que se mostrarn en las expresiones numricas.
Sintaxis: SET DECIMALS TO [nLugaresDecimales]
Argumentos: nLugaresDecimales
Especifica el nmero mnimo de decimales a mostrar. El valor
predeterminado es dos decimales. El nmero mximo de decimales
es 18 y el mnimo es cero.
Comentarios: SET DECIMALS especifica el nmero mnimo de decimales que se
utilizarn para mostrar los resultados de divisin, multiplicacin, y funciones
trigonomtricas y financieras.
SET DECIMALS tiene como alcance la sesin actual de datos.
SIGN( ) (Funcin)
Devuelve el valor numrico 1, 1 0 si la expresin numrica especificada da como
resultado un valor positivo, negativo o 0, respectivamente.
Instituto de Educacion Superior 'San Pedro'
Sintaxis: SIGN(nExpresin)
Tipos devueItos: Numeric
Argumentos: nExpresin
Especifica la expresin numrica que evala SIGN( ). SIGN( )
devuelve 1 si nExpresin da como resultado un nmero positivo, 1
si nExpresin da como resultado un nmero negativo y 0 si
nExpresin da como resultado 0.
EjempIo de SIGN( ) (Funcin)
STORE 10 TO gnNm1
STORE -10 TO gnNm2
STORE 0 TO gnCero
CLEAR
? SIGN(gnNm1) && Muestra 1
? SIGN(gnNm2) && Muestra -1
? SIGN(gnCero) && Muestra 0
SIN( ) (Funcin)
Devuelve el seno de un ngulo.
Sintaxis: SIN(nExpresin)
Tipos devueItos: Numeric
Argumentos: nExpresin
Especifica el ngulo cuyo seno devuelve SIN( ). nExpresin puede
asumir cualquier valor y el valor devuelto por SIN( ) vara entre 1 y
1.
Nota nExpresin se da en radianes. Utilice DTOR( ) para convertir un ngulo de
grados a radianes. El nmero de lugares decimales mostrados por SIN( ) puede
especificarse con SET DECIMALS.
EjempIo de SIN( ) (Funcin)
CLEAR
? SIN(0) && Muestra 0,00
? SIN(PI( )/2) && Muestra 1,00
? SIN(DTOR(90)) && Muestra 1,00
SQRT( ) (Funcin)
Devuelve la raz cuadrada de la expresin numrica especificada.
Instituto de Educacion Superior 'San Pedro'
Sintaxis: SQRT(nExpresin)
Tipos devueItos: Numeric
Argumentos: nExpresin
Especifica la expresin numrica que se va a evaluar con SQRT( ).
nExpresin no puede ser un nmero negativo.
Comentarios: El nmero de lugares decimales del valor devuelto por SQRT( ) es
la mayor configuracin actual de lugares decimales y el nmero de lugares decimales
contenidos en nExpresin. La configuracin actual de lugares decimales se especifica
con SET DECIMALS.
EjempIo de SQRT( ) (Funcin)
CLEAR
? SQRT(4) && Muestra 2,00
? SQRT(2*SQRT(2)) && Muestra 1,68
TAN( ) (Funcin)
Esta funcin trigonomtrica devuelve la tangente de un ngulo.
Sintaxis: TAN(nExpresin)
Tipos devueItos: Numeric
Argumentos: nExpresin
Especifica el ngulo en radianes para el que TAN( ) devuelve la
tangente. Para convertir un ngulo de grados a radianes, utilice
DTOR( ). El nmero de lugares decimales que devolver TAN( )
puede especificarse con SET DECIMALS.
EjempIo de TAN( ) (Funcin)
CLEAR
? TAN(0) && Muestra 0,00
? TAN(PI( )/4) && Muestra 1,00
? TAN(PI( )*3/4) && Muestra -1,00
VAL( ) (Funcin)
Devuelve un valor numrico a partir de una expresin de caracteres compuesta de
nmeros.
Sintaxis: VAL(cExpresin)
Tipos devueItos: Numeric
Argumentos: cExpresin
Instituto de Educacion Superior 'San Pedro'
Especifica una expresin de caracteres compuesta de hasta 16
nmeros. Si en cExpresin se incluyen ms de 16 nmeros, se
redondear.
Comentarios: VAL( ) devuelve los nmeros de la expresin de caracteres de
izquierda a derecha hasta que encuentra un carcter no numrico (se pasan por alto
los espacios en blanco iniciales). VAL( ) devuelve 0 si el primer carcter de la
expresin de caracteres no es un nmero, ni un signo ms (+) ni un signo menos (-).
VAL( ) se puede utilizar para convertir en valores numricos las cadenas de caracteres
devueltas por las funciones SYS( ) de Visual FoxPro.
EjempIo de VAL( ) (Funcin)
CLEAR
STORE '12' TO A
STORE '13' TO B
? VAL(A) + VAL(B) && Muestra 25,00
STORE '1.25E3' TO C
? 2 * VAL(C) && Muestra 2500,00
Instituto de Educacion Superior 'San Pedro'
FUNCIONES LOGICAS
Las siguientes funciones generan y manipulan datos de tipo lgicos.
$ (Operador) BETWEEN( ) (Funcin)
BITTEST( ) (Funcin) DELETED( ) (Funcin)
EMPTY( ) (Funcin) FOUND( ) (Funcin)
IIF( ) (Funcin) INLIST( ) (Funcin)
ISALPHA( ) (Funcin) ISDIGIT( ) (Funcin)
ISLEADBYTE( ) (Funcin) ISLOWER( ) (Funcin)
ISUPPER( ) (Funcin) LIKE( ) (Funcin)
LIKEC( ) (Funcin) SEEK( ) (Funcin)
Instituto de Educacion Superior 'San Pedro'
$ (Operador)
Devuelve verdadero (.T.) si una expresin de caracteres est contenida dentro de otra
expresin de caracteres; de lo contrario, devuelve falso (.F.).
Sintaxis: cBuscar $ cBuscarEn
Tipos devueItos: Logical
Argumentos: cBuscar
Especifica la expresin buscada en cBuscarEn.
cBuscarEn
Especifica la expresin en que se busca para comprobar si contiene
cBuscar.
Si en cBuscarEn se encuentra cBuscarEn, $ devolver verdadero
(.T.); de lo contrario, devolver falso (.F.). cBuscar y cBuscarEn
pueden ser variables de memoria o elementos de matriz de tipo
carcter, campos de tipo carcter, literales de cadena de caracteres
o campos memo de cualquier longitud.
Los campos memo pueden manipularse de la misma forma que las
expresiones de caracteres, los campos de tablas, las variables de
memoria o los elementos de matriz. Por ejemplo, si MEMO_FLD es
un campo memo, lo siguiente ser aceptable:
LIST FOR 'FOX' $ UPPER(memo_fld)
Comentarios: Si no se encuentra la expresin de caracteres, se devolver falso
(.F.). El operador $ distingue maysculas de minsculas y no es optimizable mediante
Rushmore.
EjempIo de $ (Operador)
El ejemplo siguiente crea una tabla llamada pruebmemo que contiene un campo
memo. Se anexan tres registros a la tabla y se utiliza LIST para mostrar los tres
registros. El signo dlar ($) se usa para enumerar los registros que contienen la
cadena "ZORRO". Despus se eliminan los archivos creados para el ejemplo.
CLOSE DATABASES
CLEAR
CREATE TABLE pruebmemo (Text C(3), Memo M)
INSERT INTO pruebmemo (Text, Memo) VALUES ('Zorro', 'Zorro')
INSERT INTO pruebmemo (Text, Memo) VALUES ('Gato', 'Gato')
INSERT INTO pruebmemo (Text, Memo) VALUES ('ZORRO', 'ZORRO')
LIST FIELDS Memo, Text FOR 'ZORRO' $ UPPER(Memo)
USE
DELETE FILE pruebmemo.dbf
DELETE FILE pruebmemo.fpt
Instituto de Educacion Superior 'San Pedro'
BETWEEN( ) (Funcin)
Determina si el valor de una expresin queda dentro de los valores de otras dos
expresiones del mismo tipo de datos.
Sintaxis: BETWEEN(eValorPrueba, eValorInferior, eValorSuperior)
Tipos devueItos: Logical o valor nulo
Argumentos: eValorPrueba
Especifica la expresin cuyo valor comprueba BETWEEN( ). Si el
valor de eValorPrueba es mayor o igual que el valor de
eValorInferior, y menor o igual que el valor de eValorSuperior,
BETWEEN( ) devolver verdadero (.T.). De lo contrario,
BETWEEN( ) devolver falso (.F.). BETWEEN( ) devuelve el valor
nulo si eValorInferior o eValorSuperior son el valor nulo.
eValorInferior
Especifica el valor inferior del intervalo que evala BETWEEN( ).
eValorSuperior
Especifica el valor superior del intervalo que evala BETWEEN( ).
Comentarios: BETWEEN( ) devuelve el valor verdadero (.T.) si el valor de una
expresin de tipo Character, Date, DateTime, Numeric, Float, Integer, Double o
Currency est dentro de los valores de otras dos expresiones del mismo tipo de datos.
Si el valor de la expresin no queda dentro de los valores de las otras dos
expresiones, BETWEEN( ) devolver falso (.F.). BETWEEN( ) devuelve el valor nulo si
eValorInferior o eValorSuperior son el valor nulo.
EjempIo de BETWEEN( ) (Funcin)
El ejemplo siguiente explora la tabla orders para buscar todos los registros cuyos
valores del campo order_amt estn comprendidos entre 950 y 1000, ambos inclusive,
y muestra los campos cust_id field y order_amt.
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'data\testdata')
USE orders && Abre la tabla orders.
CLEAR
SCAN FOR BETWEEN(order_amt,950,1000)
? cust_id, order_amt
ENDSCAN
BITTEST( ) (Funcin)
Devuelve verdadero (.T.) si un bit especificado en un valor numrico se establece
como 1; de lo contrario, devuelve falso (.F.).
Instituto de Educacion Superior 'San Pedro'
Sintaxis: BITTEST(nExpresin1, nExpresin2)
Tipos devueItos: Logical
Argumentos: nExpresin1
Especifica el valor numrico en el que se comprueba un bit. Si
nExpresin1 no es un entero, se convertir en un entero antes de
comprobar su bit.
nExpresin2
Especifica la posicin de bit de nExpresin1 que se comprueba.
nExpresin2 puede ir de 0 a 31; 0 es el bit situado ms a la derecha.
EjempIo de BITTEST( ) (Funcin)
El ejemplo siguiente usa BITTEST( ) para determinar si una serie de enteros son
pares. Si un entero es par, la funcin IsEven devuelve verdadero (.T.); de lo contrario,
devuelve falso (.F.).
CLEAR
? 'Es par 2? '
?? IsEven(2) && Par, se devuelve .T.
? 'Es par 3? '
?? IsEven(3) && No es par, se devuelve .F.
? 'Es par 0? '
?? IsEven(0) && Par, se devuelve .T.
? 'Es par -13? '
?? IsEven(-13) && No es par, se devuelve .F.
Function IsEven
PARAMETER nInteger
RETURN NOT BITTEST(nInteger, 0)
DELETED( ) (Funcin)
Devuelve un valor lgico que indica si el registro actual est marcado para su
eliminacin.
Sintaxis: DELETED([cAliasTabla | nreaTrabajo])
Tipos devueItos: Logical
Argumentos: cAliasTabla | nreaTrabajo
Puede comprobar el estado del registro actual de una tabla abierta
en otra rea de trabajo si especifica el nmero de rea de trabajo
con nreaTrabajo o el alias de la tabla con cAliasTabla. Si una tabla
no est abierta en el rea de trabajo que especifique, DELETED( )
devolver falso.
Si omite cAliasTabla y nreaTrabajo, el estado de eliminado que se
devuelve es el del registro actual del rea de trabajo actual.
Instituto de Educacion Superior 'San Pedro'
Comentarios: Si el registro est marcado para eliminacin, DELETED( ) devolver el
valor verdadero (.T.); de lo contrario, DELETED( ) devolver el valor falso (.F.).
Los registros pueden marcarse para su eliminacin con DELETE y DELETE - SQL, y
puede quitarse la marca con RECALL.
Las consultas que comprueban el estado de eliminado de los registros pueden
optimizarse mediante Rushmore si la tabla est indexada sobre DELETED( ).
EjempIo de DELETED( ) (Funcin)
El ejemplo siguiente abre la tabla customer de la base de datos testdata. Se usa
DELETE - SQL para marcar para eliminacin todos los registros cuyo campo country
contenga EE.UU. Se usa DELETED( ) para mostrar todos los registros marcados para
eliminar. RECALL ALL se usa para quitar las marcas de todos los registros marcados
para eliminar.
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'Data\testdata')
USE customer && Abre la tabla Customer.
DELETE FROM customer WHERE country = 'USA' && Marca para
eliminar.
CLEAR
LIST FIELDS company, country FOR DELETED( ) && Muestra los
registros marcados.
RECALL ALL && Quita las marcas de todos los registros
&& marcados para eliminar.
EMPTY( ) (Funcin)
Determina si una expresin est vaca o no.
Sintaxis: EMPTY(eExpresin)
Tipo devueIto: Logical
Argumentos: eExpresin
Especifica la expresin evaluada por EMPTY( ).
La expresin que incluya puede ser una expresin de caracteres,
numrica, de fecha o lgica, o el nombre de un campo memo o
general de una tabla abierta. EMPTY( ) devuelve verdadero (.T.)
cuando las expresiones de los tipos de datos siguientes contienen
los datos indicados:
Tipo de expresin Se evaIa como
Carcter La cadena vaca, espacios en blanco,
tabulaciones, retornos de carro o avances
de lnea o cualquier combinacin de
stos.
Instituto de Educacion Superior 'San Pedro'
Numeric 0
Currency 0
Flota 0
Integer 0
Double 0
Date Vaco (p.e., CTOD(''))
DateTime Vaco (p.e., CTOD(''))
Logical Falso (.F.)
Memo Vaco (sin contenido)
General Vaco (sin objeto OLE)
Picture Vaco (sin imagen)
El programa de ejemplo siguiente demuestra cmo usar TYPE( ) y ISNULL( ) para
determinar si una referencia de objeto de variable de memoria es vlida.
goMyForm = CREATEOBJECT('Form')
WAIT WINDOW IIF(TYPE('goMyForm') = 'O' AND !ISNULL(goMyForm), ;
'goMyForm tiene una referencia de objeto vlida',;
'goMyForm no tiene una referencia de objeto vlida')
Comentarios: EMPTY( ) devuelve verdadero (.T.) si la expresin eExpresin est
vaca. Si la expresin no est vaca, EMPTY() devolver falso (.F.).
EjempIo de EMPTY( ) (Funcin)
El ejemplo siguiente abre la tabla customer de la base de datos testdata. Se usa FOR
... ENDFOR para crear un bucle en el cual se usa EMPTY( ) para determinar si TAG( )
devuelve la cadena vaca. El nombre de cada etiqueta de ndice estructural se muestra
con su estado de candidato.
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'data\testdata')
USE customer && Abre la tabla customer
FOR nCount = 1 TO 254
IF !EMPTY(TAG(nCount)) && Comprueba si es la cadena vaca
? TAG(nCount) && Muestra el nombre de la etiqueta
? CANDIDATE(nCount) && Muestra el estado de candidato
ELSE
EXIT && Sale del bucle si no se encuentran otras
etiquetas
ENDIF
ENDFOR
FOUND( ) (Funcin)
Instituto de Educacion Superior 'San Pedro'
Devuelve verdadero (.T.) si CONTINUE, FIND, INDEXSEEK( ), LOCATE o SEEK
tienen xito.
Sintaxis: FOUND([nreaTrabajo | cAliasTabla])
Tipos devueItos: Logical
Argumentos: nreaTrabajo
Especifica el rea de trabajo de la tabla para la cual FOUND( )
devuelve un valor indicando el xito del ltimo CONTINUE, FIND,
INDEXSEEK( ), LOCATE o SEEK.
FOUND( ) devolver falso (.F.) si una tabla no est abierta en el
rea de trabajo especificada.
cAliasTabla
Especifica el alias de la tabla para la cual FOUND( ) devuelve un
valor indicando el xito del ltimo CONTINUE, FIND,
INDEXSEEK( ), LOCATE o SEEK.
Visual FoxPro genera un mensaje de error si especifica un alias de
tabla que no existe.
Comentarios: FOUND( ) devuelve un valor lgico que indica si el comando
CONTINUE, FIND, INDEXSEEK( ), LOCATE o SEEK ejecutado ms recientemente se
ejecut con xito o el puntero se mueve en la tabla relacionada. FOUND( ) devuelve
verdadero (.T.) si la bsqueda tiene xito, de lo contrario devuelve falso (.F.).
Si omite los argumentos opcionales, FOUND( ) devuelve un valor indicando el xito del
ltimo CONTINUE, FIND, INDEXSEEK( ), LOCATE o SEEK para la tabla abierta en el
rea de trabajo seleccionada actualmente.
Sugerencia Esta funcin es til para determinar si una tabla secundaria tiene un
registro que coincide con el registro primario.
EjempIos de FOUND( ) (Funcin)
En el ejemplo siguiente se cuentan todos los clientes de Alemania.
SET TALK OFF
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'Data\testdata')
USE customer && Abre la tabla Customer
STORE 0 TO gnCount
LOCATE FOR UPPER(country) = 'ALEMANIA'
DO WHILE FOUND( )
gnCount = gnCount + 1
CONTINUE
ENDDO
WAIT WINDOW 'Total de clientes de Alemania: ' ;
+ LTRIM(STR(gnCount)) NOWAIT
Instituto de Educacion Superior 'San Pedro'
IIF( ) (Funcin)
Devuelve uno de los dos valores dependiendo del valor de una expresin lgica.
Sintaxis: IIF(lExpresin, eExpresin1, eExpresin2)
Tipos devueItos: Character, Numeric, Currency, Date, o DateTime
Argumentos: lExpresin
Especifica la expresin lgica evaluada por IIF( ).
eExpresin1, eExpresin2
Si lExpresin se evala verdadera (.T.), se devolver eExpresin1.
Si lExpresin se evala falsa (.F.), se devolver eExpression2.
Comentarios: Esta funcin, conocida tambin como IF Inmediato, evala una
expresin lgica y devuelve a continuacin una de las dos expresiones. Si la expresin
lgica se evala como verdadera (.T.), IIF( ) devolver la primera expresin. Si la
expresin lgica se evala como falsa (.F.), IIF( ) devolver la segunda expresin.
Sugerencia Esta funcin puede utilizarse en lugar de IF ... ENDIF para expresiones
condicionales simples y es especialmente til en expresiones de etiquetas e informes
que especifican condicionalmente el contenido de campos. La funcin IIF( ) se ejecuta,
adems, considerablemente ms rpido que la estructura IF ... ENDIF equivalente.
EjempIo de IIF( ) (Funcin)
Este ejemplo utiliza IIF( ) para comprobar si el campo notes en employee est vaco.
Si est vaco, se mostrar "No hay descripcin"; de lo contrario, se mostrar el
contenido del campo memo.
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'Data\testdata')
USE employee && Abre la tabla Employee
CLEAR
SCAN
? IIF(EMPTY(notes), 'No hay descripcin', notes) && Est
vaco el campo memo?
ENDSCAN
INLIST( ) (Funcin)
Determina si una expresin coincide con otra perteneciente a un conjunto de
expresiones.
Sintaxis: INLIST(eExpresin1, eExpresin2 [, eExpresin3 ...])
Tipos devueItos: Logical o valor nulo
Argumentos: eExpresin1
Instituto de Educacion Superior 'San Pedro'
Especifica la expresin que INLIST( ) busca en el conjunto de
expresiones.
eExpresin2 [, eExpresin3 ...]
Especifica el conjunto de expresiones dnde debe buscar. Es
necesario incluir como mnimo una expresin (eExpresin2) y se
admiten un mximo de 24 (eExpresin2, eExpresin3, etc).
Todas las expresiones de la lista deben ser del mismo tipo de datos.
Comentarios: INLIST( ) devuelve verdadero (.T.) si encuentra la expresin en el
conjunto de expresiones. De lo contrario, INLIST( ) devolver falso (.F.). Se devuelve
el valor nulo si eExpresin1 es el valor nulo. Tambin se devuelve el valor nulo si
eExpresin1 no es el valor nulo, eExpresin1 no coincide con otra expresin y al
menos una de las otras expresiones es el valor nulo.
ISALPHA( ) (Funcin)
Determina si el carcter de la izquierda de una expresin de caracteres es alfabtico.
Sintaxis: ISALPHA(cExpresin)
Tipos devueItos: Logical
Argumentos: cExpresin
Especifica la expresin de caracteres evaluada por ISALPHA( ). Los
caracteres situados a la derecha del primer carcter de cExpresin
se pasan por alto.
Comentarios: ISALPHA( ) devuelve verdadero (.T.) si el carcter situado ms a la
izquierda de la expresin de caracteres especificada es alfabtico. Si no lo es,
ISALPHA( ) devuelve falso (.F.).
EjempIo de ISALPHA( ) (Funcin)
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'Data\testdata')
USE Customer && Abre la tabla customer.
CLEAR
DISPLAY contact
? ISALPHA(contact) && Muestra.T.
DISPLAY maxordamt
? ISALPHA(cust_id) && Muestra.F.
ISDIGIT( ) (Funcin)
Determina si el carcter de la izquierda de la expresin de caracteres especificada es
un dgito (0 a 9).
Sintaxis: ISDIGIT(cExpresin)
Instituto de Educacion Superior 'San Pedro'
Tipos devueltos: Logical
Argumentos: cExpresin
Especifica la expresin de caracteres comprobada por ISDIGIT( ).
Los caracteres situados tras el primero en cExpresin se pasan por
alto.
Comentarios: ISDIGIT( ) devuelve verdadero (.T.) si el carcter ms a la izquierda
de la expresin de caracteres especificada es un dgito (0 a 9); de lo contrario,
ISDIGIT( ) devuelve falso (.F.).
EjempIo de ISDIGIT( ) (Funcin)
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'Data\testdata')
USE orders && Abre la tabla Orders.
CLEAR
DISPLAY cust_id
? ISDIGIT(cust_id) && Muestra.F.
DISPLAY order_dsc
? ISDIGIT(ALLTRIM(STR(order_dsc))) && Muestra.T.
ISLEADBYTE( ) (Funcin)
Devuelve verdadero (.T.) si el primer byte de una expresin de caracteres es el byte
inicial de un carcter de dos bytes.
Sintaxis: ISLEADBYTE(cExpresin)
Tipos devueItos: Logical
Argumentos: cExpresin
Especifica la expresin de caracteres que ISLEADBYTE( ) evala.
Se ignorarn todos los bytes despus del primero en el primer
carcter de cExpression.
Comentarios: ISLEADBYTE( ) devuelve verdadero (.T.) si el primer byte del primer
carcter de una expresin de caracteres es el byte inicial en un carcter de dos bytes.
Si ISLEADBYTE( ) devuelve falso (.F.) se debe a que se est examinando un carcter
de un solo byte.
Esta funcin es til para manipular conjuntos de caracteres de doble byte en idiomas
como el Hiragana y el Katakana.
ISLOWER( ) (Funcin)
Determina si el carcter ms a la izquierda de la expresin de caracteres especificada
es una letra minscula.
Sintaxis: ISLOWER(cExpresin)
Instituto de Educacion Superior 'San Pedro'
Tipos devueItos: Logical
Argumentos: cExpresin
Especifica la expresin de caracteres comprobada por ISLOWER( ).
ISLOWER( ) pasa por alto los caracteres situados tras el primer
carcter de cExpresin.
Comentarios: ISLOWER( ) devuelve verdadero (.T.) si el carcter ms a la
izquierda de la expresin de caracteres especificada es una letra minscula; de lo
contrario, ISLOWER( ) devuelve falso (.F.).
EjempIo de ISLOWER( ) (Funcin)
CLEAR
? ISLOWER('redmond') && Muestra.T.
? ISLOWER('Redmond') && Muestra.F.
ISUPPER( ) (Funcin)
Determina si el primer carcter de una expresin de caracteres es alfabtico y est en
maysculas.
Sintaxis: ISUPPER(cExpresin)
Tipos devueItos: Logical
Argumentos: cExpresin
Especifica la expresin de caracteres evaluada por ISUPPER( ). Se
pasan por alto los caracteres situados detrs del primer carcter de
cExpresin.
Comentarios: ISUPPER( ) devuelve verdadero (.T.) si el primer carcter de una
expresin de caracteres es alfabtico y est en maysculas; de lo contrario,
ISUPPER( ) devuelve falso (.F.).
EjempIo de ISUPPER( ) (Funcin)
? ISUPPER('Redmond') && Muestra .T.
? ISUPPER('redmond') && Muestra .F.
LIKE( ) (Funcin)
Determina si una expresin de caracteres coincide con otra expresin de caracteres.
Sintaxis: LIKE(cExpresin1, cExpresin2)
Tipos devueItos: Logical
Argumentos: cExpresin1
Instituto de Educacion Superior 'San Pedro'
Especifica la expresin de caracteres que LIKE( ) compara con
cExpresin2. cExpresin1 puede contener caracteres comodn,
tales como * y ?. El signo de interrogacin (?) coincide con cualquier
carcter nico de cExpresin2 y el asterisco (*) coincide con
cualquier nmero de caracteres. Puede mezclar y combinar
cualquier nmero de caracteres comodn que desee en
cExpresin1.
cExpresin2
Especifica la expresin de caracteres que LIKE( ) compara con
cExpresin1. cExpresin2 debe coincidir con cExpresin1 letra por
letra para que LIKE( ) devuelva verdadero (.T.).
Comentarios: LIKE( ) devuelve verdadero (.T.) si cExpresin1 coincide con
cExpresin2; de lo contrario, devuelve falso (.F.).
SET COMPATIBLE determina la forma en que LIKE( ) evala cExpresin1 y
cExpresin2. Si SET COMPATIBLE est establecido en ON o DB4, se eliminarn
todos los espacios en blanco finales de cExpresin1 y cExpresin2 antes de
compararlos. Si SET COMPATIBLE est establecido en OFF o FOXPLUS, en la
comparacin se usarn todos los espacios en blanco finales de cExpresin1 y
cExpresin2.
EjempIo de LIKE( ) (Funcin)
En el ejemplo siguiente se muestran todos los nombres de productos de la tabla
products cuyas dos primeras letras sean "Ch".
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'Data\testdata')
USE products && Abre la tabla Products.
CLEAR
? 'Todos los nombres de productos cuyas dos primeras letras sean
Ch:'
?
SCAN FOR LIKE('Ch*', prod_name)
? prod_name
ENDSCAN
USE
LIKEC( ) (Funcin)
Determina si una expresin de caracteres concuerda con otra expresin de caracteres.
Sintaxis: LIKEC(cExpresin1, cExpresin2)
Tipos devueItos: Logical
Argumentos: cExpresin1
Especifica la expresin de caracteres que LIKEC( ) compara con
cExpresin2. cExpresin1 puede contener comodines tales como * y
Instituto de Educacion Superior 'San Pedro'
?. Un signo de interrogacin (?) concuerda con cualquier carcter en
cExpresin2 y un asterisco (*) concuerda con cualquier nmero de
caracteres. Puede mezclar y combinar el nmero de comodines que
desee en cExpresin1.
cExpresin2
Especifica la expresin de caracteres que LIKEC( ) compara con
cExpresin1. cExpresin2 tiene que concordar con cExpresin1
carcter a carcter para que LIKE( ) devuelva verdadero (.T.).
Comentarios: LIKEC( ) se ha diseado para expresiones que contienen caracteres
de doble byte. Si la expresin slo contiene caracteres de un byte, LIKEC( ) es
equivalente a LIKE( ).
LIKEC( ) determina si una expresin de caracteres concuerda con otra expresin de
caracteres. LIKEC( ) devuelve verdadero (.T.) si cExpresin1 concuerda con
cExpresin2; de lo contrario, devolver falso (.F.).
SET COMPATIBLE determina cmo LIKEC( ) compara espacios en blanco en
cExpresin1 y en cExpresin2. Si SET COMPATIBLE est establecido en ON o DB4,
se eliminarn todos los espacios en blanco finales de cExpresin1 y cExpresin2
antes de compararlas. Si SET COMPATIBLE est establecido en OFF o FOXPLUS,
todos los espacios en blanco finales en cExpresin1 y cExpresin2 se utilizarn en la
comparacin.
Esta funcin es til para manipular juegos de caracteres de doble byte de idiomas
como el Hiragana y el Katakana.
SEEK( ) (Funcin)
Busca en una tabla indizada la primera aparicin de un registro cuya clave de ndice
coincida con una expresin especificada. SEEK( ) devuelve un valor lgico que indica
si la bsqueda ha tenido xito.
Sintaxis: SEEK(eExpresin [, nreaTrabajo | cAliasTabla
[, nNmerondice | cNombreArchivondiceIDX | cNombreEtiqueta]])
Tipos devueItos: Logical
Argumentos: eExpresin
Especifica la expresin clave de ndice que quiere que SEEK( )
busque
nreaTrabajo
Especifica el nmero del rea de trabajo de la tabla en la que se
est buscando la clave de ndice.
cAliasTabla
Especifica el alias de la tabla en la que se busca.
Instituto de Educacion Superior 'San Pedro'
Si omite nreaTrabajo y cAliasTabla, se busca en la tabla del rea
de trabajo seleccionada actualmente.
nNmerondice
Especifica el nmero del archivo o etiqueta de ndice que se utiliza
para buscar la clave de ndice. nNmerondice hace referencia a los
archivos de ndice tal y como aparecen en USE o SET INDEX.
Primero se numeran los archivos de ndice .idx abiertos en el orden
en el que aparecen en USE o SET INDEX. A continuacin se
enumeran las etiquetas del archivo .cdx estructural (si existe) en el
orden en el que se crearon. Por ltimo, se enumeran las etiquetas
de cualquier archivo .cdx independiente abierto en el orden en que
se crearon. Para obtener ms informacin sobre la numeracin de
ndice, vea SET ORDER.
cNombreArchivondiceIDX
Especifica un archivo .idx que se utiliza para buscar la clave de
ndice.
cNombreEtiqueta
Especifica una etiqueta de un archivo .cdx que se utiliza para buscar
la clave de ndice. El nombre de etiqueta puede proceder de un
archivo .cdx estructural o de cualquier archivo .cdx independiente
abierto.
Nota El archivo .idx tiene preferencia si existen nombres
duplicados de etiquetas y archivos .idx.
Comentarios: Solamente puede utilizar SEEK( ) con una tabla que tenga un
conjunto de orden de ndice, y solamente puede buscar una clave de ndice. La
coincidencia debe ser exacta a menos que SET EXACT est ajustado como OFF.
Si se encuentra una coincidencia, SEEK( ) devolver verdadero (.T.) y el puntero de
registro se situar en el registro coincidente. Si no se encuentra ninguna coincidencia,
SEEK( ) devolver falso (.F.) y el puntero de registro se desplazar hasta el final del
archivo. Ejecutar SEEK( ) equivale a ejecutar SEEK y FOUND( ) en sucesin.
Si omite los argumentos nNmerondice, NombreArchivondiceIDX y cNombreEtiqueta,
SEEK( ) utiliza el ndice o la etiqueta de ndice de control principal para buscar la clave
de ndice.
EjempIo de SEEK( ) (Funcin)
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'Data\testdata')
USE customer ORDER cust_id && Abre la tabla Customer
? SEEK('CHOPS') && Devuelve .T., registro encontrado
Instituto de Educacion Superior 'San Pedro'
FUNCIONES DE CADENA
Las siguientes funciones operan sobre datos de tipo Character.
ALLTRIM( ) (Funcin) ASC( ) (Funcin)
AT( ) (Funcin) AT_C( ) (Funcin)
ATC( ) (Funcin) ATCC( ) (Funcin)
ATCLINE( ) (Funcin) ATLINE( ) (Funcin)
CHR( ) (Funcin) CHRTRAN( ) (Funcin)
CHRTRANC( ) (Funcin) CPCONVERT( ) (Funcin)
DIFFERENCE( ) (Funcin) EVALUATE( ) (Funcin)
LEFT( ) (Funcin) LEFTC( ) (Funcin)
LEN( ) (Funcin) LENC( ) (Funcin)
LIKE( ) (Funcin) LIKEC( ) (Funcin)
LOWER( ) (Funcin) LTRIM( ) (Funcin)
NORMALIZE( ) (Funcin) OCCURS( ) (Funcin)
PADC( ) (Funcin) PADL( ) (Funcin)
PADR( ) (Funcin) PROPER( ) (Funcin)
RAT( ) (Funcin) RATC( ) (Funcin)
RATLINE( ) (Funcin) REPLICATE( ) (Funcin)
RIGHT( ) (Funcin) RIGHTC( ) (Funcin)
RTRIM( ) (Funcin) SOUNDEX( ) (Funcin)
SPACE( ) (Funcin) STR( ) (Funcin)
STRCONV( ) (Funcin) STRTOFILE( ) Function
Instituto de Educacion Superior 'San Pedro'
STRTRAN( ) (Funcin) STUFF( ) (Funcin)
STUFFC( ) (Funcin) SUBSTR( ) (Funcin)
SUBSTRC( ) (Funcin)
SYS(2007) (Funcin) - Valor de suma de
comprobacin
TRANSFORM( ) (Funcin) TRIM( ) (Funcin)
TXTWIDTH( ) (Funcin) TYPE( ) (Funcin)
UPPER( ) (Funcin) VARTYPE( ) (Funcin)
Instituto de Educacion Superior 'San Pedro'
ALLTRIM( ) (Funcin)
Elimina los espacios en blanco iniciales y finales de la expresin de caracteres
especificada y devuelve la expresin recortada como una cadena de caracteres.
Sintaxis: ALLTRIM(cExpresin)
Tipo devueIto: Character
Argumentos: cExpresin Especifica la expresin de caracteres de la que se
eliminan los espacios en blanco iniciales y finales.
Comentarios: ALLTRIM( ) se puede utilizar para asegurar que los espacios en
blanco se eliminan de los datos escritos por un usuario.
EjempIo de ALLTRIM( ) (Funcin)
El siguiente ejemplo utiliza AFONT( ) para crear una matriz que contenga los nombres
de todas las fuentes disponibles. ALLTRIM( ) se utiliza para eliminar todos los
espacios en blanco iniciales y finales de los nombres de fuente. Se muestra el nombre
recortado de cada fuente, junto con un ejemplo de dicha fuente. Si hay ms de 10
fuentes instaladas, solamente se muestran las 10 primeras.
CLEAR
=AFONT(gaFontArray) && Matriz que contiene nombres de fuente.
gnNumFonts= ALEN(gaFontArray) && Nmero de fuentes.
IF gnNumFonts > 10
gnNumFonts = 10 && Muestra las 10 primeras fuentes.
ENDIF
FOR nCount = 1 TO gnNumFonts
? ALLTRIM(gaFontArray(nCount)) && Muestra el nombre de
fuente.
?? ' ste es un ejemplo de ' ;
+ ALLTRIM(gaFontArray(nCount)) FONT gaFontArray(nCount), 8
ENDFOR
ASC( ) (Funcin)
Devuelve el cdigo ANSI del carcter situado ms a la izquierda en una expresin de
caracteres.
Sintaxis: ASC(cExpresin)
Tipo devueIto: Numeric
Argumentos: cExpresin
Especifica la expresin de caracteres que contiene el carcter cuyo
valor ANSI devuelve ASC(). ASC( ) pasa por alto los caracteres
que aparezcan despus del primer carcter de cExpresin.
Instituto de Educacion Superior 'San Pedro'
Comentarios: ASC( ) devuelve la posicin del carcter en la tabla de caracteres de
la pgina de cdigos actual. Cada carcter tiene un valor ANSI nico entre 0 y 255.
EjempIo de ASC( ) (Funcin)
El siguiente ejemplo muestra los caracteres A a J y utiliza ASC() para mostrar sus
valores ANSI correspondientes.
STORE 'ABCDEFGHIJ' TO gcANSI && 10 caracteres.
CLEAR
FOR nCOUNT = 1 TO 10
? SUBSTR(gcANSI, nCount,1) && Muestra un carcter.
?? ASC(SUBSTR(gcANSI, nCount)) && Muestra el valor ANSI.
ENDFOR
AT( ) (Funcin)
Devuelve la posicin numrica inicial de la primera aparicin de una expresin de
caracteres o de un campo memo en otra expresin de caracteres o campo memo; se
cuenta desde el carcter situado ms a la izquierda.
Sintaxis: AT(cExpresinBsqueda, cExpresinBuscada [, nAparicin])
Tipo devueIto: Numeric
Argumentos: cExpresinBsqueda
Especifica la expresin de caracteres que AT( ) busca en
cExpresinBuscada.
cExpresinBuscada
Especifica la expresin de caracteres que cExpresinBsqueda
busca.
Tanto cExpresinBsqueda como cExpresinBuscada pueden ser
campos memo de cualquier tamao.
nAparicin
Especifica qu aparicin (primera, segunda, tercera, etc.) de
cExpresinBsqueda se busca en cExpresinBuscada. De forma
predeterminada, AT( ) busca la primera aparicin de
cExpresinBsqueda (nAparicin = 1). Si incluye nAparicin, podr
buscar otras apariciones adicionales de cExpresinBsqueda en
cExpresinBuscada. AT( ) devolver 0 si nAparicin es mayor que el
nmero de veces que cExpresinBsqueda aparece en
cExpresinBuscada.
Comentarios: AT( ) busca en la segunda expresin de caracteres la primera
aparicin de la primera expresin de caracteres. Luego devuelve un valor entero que
indica la posicin del primer carcter de la expresin de caracteres encontrada. Si la
expresin de caracteres no se encuentra, AT( ) devolver 0.
Instituto de Educacion Superior 'San Pedro'
La bsqueda realizada por AT( ) distingue maysculas de minsculas. Para realizar
una bsqueda que no distinga entre ambas, utilice ATC( ).
EjempIo de AT( ) (Funcin)
STORE 'Ha llegado el momento de los buenos' TO gcString
STORE 'de los' TO gcFindString
CLEAR
AT(gcFindString,gcString) && Muestra 23.
STORE 'DE' TO gcFindString
AT(gcFindString,gcString) && Muestra 0; distingue maysculas y
&& minsculas.
AT_C( ) (Funcin)
Devuelve la posicin numrica inicial de la primera aparicin de una expresin de
caracteres o un campo memo en otra expresin de caracteres o campo memo; se
cuenta a partir del carcter situado ms a la izquierda.
Sintaxis: AT_C(ExpresinBsqueda,ExpresinBuscada [Aparicin])
Tipo devueIto: Numeric
Argumentos: ExpresinBsqueda
Especifica la expresin de caracteres que AT_C( ) intenta encontrar
en ExpresinBuscada.
ExpresinBuscada
Especifica la expresin de caracteres que busca
ExpresinBsqueda.
Tanto ExpresinBsqueda como Expresin Buscada pueden ser
campos memo de cualquier tamao.
Aparicin
Especifica qu aparicin (primera, segunda, tercera, etc.) de
ExpresinBsqueda se intenta encontrar en ExpresinBuscada. De
forma predeterminada, AT_C( ) busca la primera aparicin de
ExpresinBsqueda (Aparicin = 1). Si incluye Aparicin, podr
buscar otras apariciones adicionales de ExpresinBsqueda en
ExpresinBuscada. AT_C( ) devuelve 0 si Aparicin es mayor que el
nmero de veces que aparece ExpresinBsqueda en
ExpresinBuscada.
Comentarios: AT_C( ) examina la segunda expresin de caracteres en busca de la
primera aparicin de la primera expresin de caracteres. Despus devuelve un entero
que indica la posicin del primer carcter en la expresin de caracteres que ha
encontrado. Si no se encuentra la expresin de caracteres, AT_C( ) devuelve 0.
Instituto de Educacion Superior 'San Pedro'
AT_C( ) se dise para expresiones que contengan caracteres de dos bytes. Si la
expresin contiene slo caracteres de un byte, AT_C( ) equivale a AT( ).
En la bsqueda que realiza AT_C( ) se distingue entre maysculas y minsculas. Para
realizar una bsqueda que no distinga entre maysculas y minsculas, utilice ATCC( ).
Esta funcin es til para manipular juegos de caracteres de doble byte para idiomas
como Hiragana y Hatakana.
ATC( ) (Funcin)
Devuelve la posicin numrica inicial de la primera aparicin de una expresin de
caracteres o un campo memo en otra expresin de caracteres o campo memo, sin
distinguir entre maysculas y minsculas en dichas dos expresiones.
Sintaxis: ATC(ExpresinBsqueda, ExpresinBuscada [Aparicin])
Tipos devueItos: Numeric
Argumentos: ExpresinBsqueda
Especifica la expresin de caracteres que ATC( ) busca en
cExpresinBuscada.
ExpresinBuscada
Especifica la expresin de caracteres que busca
cExpresinBsqueda.
Tanto ExpresinBsqueda como ExpresinBuscada pueden ser
campos memo de cualquier tamao.
Aparicin
Especifica qu aparicin (primera, segunda, tercera, etc.) de
ExpresinBsqueda se busca en ExpresinBuscada. De forma
predeterminada, ATC( ) busca la primera aparicin de
ExpresinBsqueda (Aparicin = 1). Si incluye Aparicin, podr
buscar otras apariciones adicionales de ExpresinBsqueda en
ExpresinBuscada.
Comentarios: ATC( ) busca en la segunda expresin de caracteres la aparicin de
la primera expresin de caracteres, sin importar si las letras son maysculas o
minsculas en ninguna de las expresiones. Utilice AT( ) para realizar una bsqueda
que s distinga maysculas y minsculas.
ATC( ) devuelve un valor entero correspondiente a la posicin en que se encuentra el
primer carcter de la expresin de caracteres. Si no se encuentra la expresin de
caracteres, se devolver 0.
EjempIo de ATC( ) (Funcin)
Instituto de Educacion Superior 'San Pedro'
STORE 'ste es el momento de todos los hombres buenos... ' TO
gcCadena
STORE 'ES EL' TO gcBuscarCadena
CLEAR
ATC(gcBuscarCadena, gcCadena) && Muestra 6.
STORE 'es' TO gcBuscarCadena
ATC(gcBuscarCadena, gcCadena) && Muestra 6.
ATC('ste',gcCadena) && Muestra 1.
ATCC( ) (Funcin)
Devuelve la posicin numrica inicial de la primera aparicin de una expresin de
caracteres o de un campo memo en otra expresin de caracteres o campo memo, sin
tener en cuenta las maysculas o minsculas en ninguna de las dos expresiones.
Sintaxis: ATCC(ExpresinBsqueda, ExpresinBuscada [Aparicin])
Tipos devueItos: Numeric
Argumentos: ExpresinBsqueda
Especifica la expresin de caracteres que ATCC( ) intentar
encontrar en ExpresinBuscada.
ExpresinBuscada
Especifica la expresin de caracteres que ExpresinBsqueda
intenta encontrar.
Tanto ExpresinBsqueda como ExpresinBuscada pueden ser
campos memo de cualquier tamao.
Aparicin
Especifica qu aparicin (primera, segunda, tercera, etc.) de
ExpresinBsqueda se intentar encontrar en ExpresinBuscada.
De forma predeterminada, ATCC( ) buscar la primera aparicin de
ExpresinBsqueda (Aparicin = 1). Si incluye Aparicin podr
buscar ms apariciones de ExpresinBsqueda en
ExpresinBuscada.
Comentarios: ATCC( ) est diseada para expresiones que contienen caracteres
de dos bytes. Si la expresin slo contiene bytes de un carcter, ATCC( ) equivaldr a
ATC( ).
ATCC( ) examina la segunda expresin de caracteres en busca de la aparicin de la
primera expresin de caracteres, sin fijarse en si los caracteres estn en maysculas o
en minsculas en las expresiones. Utilice AT_C( ) para realizar una bsqueda en la
que se distinga entre maysculas y minsculas.
Instituto de Educacion Superior 'San Pedro'
ATCC( ) devuelve un entero que corresponde a la posicin en que se ha encontrado el
primer carcter de la expresin de caracteres. Si no se encuentra la expresin de
caracteres, ATCC( ) devolver 0.
Esta funcin es til para manipular juegos de caracteres de doble byte en idiomas
como Hiragana y Hatakana.
ATCLINE( ) (Funcin)
Devuelve el nmero de lnea de la primera aparicin de una expresin de caracteres o
campo memo en otra expresin de caracteres o campo memo, sin importar que los
caracteres estn en maysculas o en minsculas.
Sintaxis: ATCLINE(ExpresinBsqueda, ExpresinBuscada)
Tipos devueItos: Numeric
Argumentos: ExpresinBsqueda
Especifica la expresin de caracteres que ATCLINE( ) busca en
ExpresinBuscada.
ExpresinBuscada
Especifica la expresin de caracteres que busca
ExpresinBsqueda.
Los argumentos ExpresinBsqueda y ExpresinBuscada pueden
ser campos memo de cualquier tamao. Utilice MLINE( ) para
devolver la lnea que contiene la expresin de caracteres
coincidente.
Sugerencia: ATCLINE( ) ofrece una forma cmoda de buscar en campos memo.
Comentarios: Si la bsqueda se realiza con xito, ATCLINE( ) devolver el
nmero de la lnea que contiene la primera expresin de caracteres. Si la bsqueda no
se realiza con xito, ATCLINE( ) devolver 0.
El nmero de lnea que devolver ATCLINE( ) viene determinado por el valor de SET
MEMOWIDTH, aunque cExpresinBuscada no sea un campo memo. Utilice ATLINE( )
para realizar una bsqueda en la que se distinga entre maysculas y minsculas.
EjempIo de ATCLINE( ) (Funcin)
El ejemplo 1 encuentra la primera vez que aparece una cadena de caracteres en un
campo memo y muestra el nombre y apellidos del empleado, y la lnea del campo
memo que contiene la cadena de caracteres.
El ejemplo 2 demuestra cmo afecta el ancho de memo a ATCLINE( ).
* Ejemplo 1
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'Data\testdata')
Instituto de Educacion Superior 'San Pedro'
USE employee && Abre la tabla employee.
CLEAR
STORE 'JAPANESE' TO gcBuscarCadena && Distingue maysculas y
minsculas.
LOCATE FOR ATCLINE(gcBuscarCadena, notes) != 0
First_Name
Last_Name
MLINE(notes, ATCLINE(gcBuscarCadena, notes))
* Ejemplo 2
STORE '1234567890ABCDEFGHIJ' TO gcCadena
SET MEMOWIDTH TO 20
ATCLINE('AB', gcCadena) && Muestra 1.
SET MEMOWIDTH TO 10
ATCLINE('AB', gcCadena) && Muestra 2.
ATLINE( ) (Funcin)
Devuelve el nmero de lnea de la primera aparicin de una expresin de caracteres o
campo memo dentro de otra expresin de caracteres o campo memo, a partir de la
primera lnea.
Sintaxis: ATLINE(ExpresinBsqueda, ExpresinBuscada)
Tipos devueItos: Numeric
Argumentos: ExpresinBsqueda
Especifica la expresin de caracteres que Microsoft Visual FoxPro
busca en ExpresinBuscada.
ExpresinBuscada
Especifica la expresin de caracteres que busca
ExpresinBsqueda.
Los argumentos ExpresinBsqueda y ExpresinBuscada pueden
ser campos memo de cualquier tamao.
Utilice MLINE( ) para devolver como una cadena de caracteres la
lnea que contiene la expresin de caracteres coincidente.
Sugerencia: ATLINE( ) ofrece una forma muy til de buscar en los campos
memo.
Comentarios: ATLINE( ) busca en la segunda expresin de caracteres la aparicin
de la primera expresin de caracteres. Al examinar las expresiones, ATLINE( ) tiene
en cuenta si los caracteres estn en maysculas o en minsculas. Utilice ATCLINE( )
para realizar una bsqueda que no distinga maysculas y minsculas.
Si la bsqueda se realiza con xito, ATLINE( ) devolver el nmero de la lnea donde
se produce la coincidencia. Si la bsqueda no se realiza con xito, ATLINE( )
devolver 0.
Instituto de Educacion Superior 'San Pedro'
El nmero de lnea que devuelve ATLINE( ) est determinado por el valor de SET
MEMOWIDTH, aunque cExpresinBuscada no sea un campo memo.
EjempIos de ATLINE( ) (Funcin)
El ejemplo 1 localiza la primera vez que aparece una cadena de caracteres en un
campo memo, y muestra el nombre y los apellidos del empleado, as como la lnea del
campo memo que contiene la cadena de caracteres.
El ejemplo 2 muestra cmo afecta el ancho de memo a ATLINE( ).
* Ejemplo 1
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'Data\testdata')
USE employee && Abre la tabla employee.
CLEAR
STORE 'Japons' TO gcBuscarCadena && Distingue maysculas y
minsculas.
LOCATE FOR ATLINE(gcBuscarCadena, notes) != 0
First_Name
Last_Name
MLINE(notes, ATLINE(gcBuscarCadena, notes))
* Ejemplo 2
STORE '1234567890ABCDEFGHIJ' TO gcCadena
SET MEMOWIDTH TO 20
ATLINE('AB', gcCadena) && Muestra 1.
SET MEMOWIDTH TO 10
ATLINE('AB', gcString) && Muestra 2.
CHR( ) (Funcin)
Devuelve el carcter asociado al cdigo ANSI numrico especificado.
Sintaxis: CHR(nCdigoANSI)
Tipos devueItos: Caracter
Argumentos: nCdigoANSI
Especifica un nmero entre 0 y 255 cuyo carcter ANSI equivalente
devuelve CHR( ).
Utilice ASC( ) para devolver el valor ANSI de un carcter
especificado.
Comentarios: CHR( ) devuelve un nico carcter correspondiente a la posicin
numrica del carcter en la tabla de caracteres de la pgina de cdigos actual. CHR( )
puede utilizarse para enviar cdigos de control a una impresora.
EjempIo de CHR( ) (Funcin)
El ejemplo siguiente muestra los nmeros 65 a 75 y utiliza CHR( ) para mostrar sus
correspondientes valores de caracteres A a K.
Instituto de Educacion Superior 'San Pedro'
CLEAR
FOR nCOUNT = 65 TO 75
? nCount && Muestra el valor numrico.
?? ' ' + CHR(nCount) && Muestra el carcter.
ENDFOR
CHRTRAN( ) (Funcin)
Cada carcter de una expresin de caracteres que coincida con un carcter de una
segunda expresin de caracteres se reemplaza con el carcter correspondiente de
una tercera expresin de caracteres.
Sintaxis: CHRTRAN(cExpresinBuscada, cExpresinBsqueda,
cExpresinReemplazo)
Tipos devueItos: Character
Argumentos: cExpresinBuscada
Especifica la expresin donde CHRTRAN( ) reemplaza caracteres.
cExpresinBsqueda
Especifica la expresin que contiene los caracteres buscados por
CHRTRAN( ) en cExpresinBuscada.
cExpresinReemplazo
Especifica la expresin que contiene los caracteres de reemplazo.
Si se encuentra en cExpresinBsqueda un carcter de
cExpresinBsqueda, el carcter de cExpresinBuscada se
sustituir por el carcter de cExpresinReemplazada que est en la
misma posicin en cExpresinReemplazada que el carcter
correspondiente en cExpresinBsqueda.
Si cExpresinReemplazo tiene menos caracteres que
cExpresinBsqueda, los caracteres adicionales de
cExpresinBsqueda se eliminan de cExpresinBuscada. Si
cExpresinReemplazo tiene ms caracteres que
cExpresinBsqueda, los caracteres adicionales de
cExpresinReemplazo se pasarn por alto.
Comentarios: CHRTRAN( ) convierte la expresin de caracteres
cExpresinBuscada mediante las expresiones de conversin cExpresinBsqueda y
cExpresinReemplazo, y devuelve la cadena de caracteres resultante.
EjempIo de CHRTRAN( ) (Funcin)
? CHRTRAN('ABCDEF', 'ACE', 'XYZ') && Muestra XBYDZF.
? CHRTRAN('ABCD', 'ABC', 'YZ') && Muestra YZD.
? CHRTRAN('ABCDEF', 'ACE', 'XYZQRST') && Muestra XBYDZF.
Instituto de Educacion Superior 'San Pedro'
CHRTRANC( ) (Funcin)
Cada carcter de una expresin de caracteres que concuerde con un carcter en una
segunda expresin de caracteres se reemplaza con el carcter correspondiente de
una tercera expresin de caracteres.
Sintaxis: CHRTRANC(cBuscada, cBuscar, cReemplazo)
Tipos devueItos: Character
Argumentos: cBuscada
Especifica la expresin en la que CHRTRANC( ) reemplaza
caracteres.
cBuscar
Especifica la expresin que contiene los caracteres que
CHRTRANC( ) busca cBuscada.
cReemplazo
Especifica la expresin que contiene los caracteres de reemplazo.
Si un carcter de cBuscar se encuentra en cBuscada, se
reemplazar el carcter de cBuscada por un carcter de
cReemplazo que est en la misma posicin en cReemplazo que el
carcter correspondiente en cBuscar.
Si cReemplazo tiene menos caracteres que cBuscar, se eliminarn
los caracteres adicionales de cBuscar en cBuscada. Si cReemplazo
tiene ms caracteres que cBuscar, se pasarn por alto los
caracteres adicionales de cReemplazo.
Comentarios: CHRTRANC( ) est diseado para facilitar el trabajo con
expresiones que contienen caracteres de dos bytes. Utilice CHRTRANC( ) para
reemplazar caracteres de un byte por caracteres de dos bytes o viceversa. Si las
expresiones contienen slo caracteres de un byte, CHRTRANC( ) es equivalente a
CHRTRAN( ).
Esta funcin es til para tratar juegos de caracteres del doble byte para idiomas como
Hiragana y Katakana.
CPCONVERT( ) (Funcin)
Convierte campos memo o de caracteres, o expresiones de caracteres, a otra pgina
de cdigos.
Sintaxis: CPCONVERT(nPginaCdigosActual, nPginaCdigosNueva,
cExpresin)
Argumentos: nPginaCdigosActual
Instituto de Educacion Superior 'San Pedro'
Especifica la pgina de cdigos desde la cual se desea convertir
cExpresin.
nPginaCdigosNueva
Especifica la pgina de cdigos a la que se va a convertir
cExpresin.
cExpresin
Especifica la expresin de caracteres que se desea convertir.
Comentarios: Observe que CPCONVERT( ) no es necesaria para el
funcionamiento normal multiplataforma de este producto. Se utiliza estrictamente para
acceder a las caractersticas de conversin subyacentes de Visual FoxPro.
Por ejemplo, si la variable gcExprCar contiene un carcter que se muestra como en
Macintosh (en la pgina de cdigos 10000), CPCONVERT( ) devolver un carcter
que se muestra como en Microsoft Windows (pgina de cdigos 1252):
CPCONVERT(10000, 1252, gcExprCar)
DIFFERENCE( ) (Funcin)
Devuelve un entero, de 0 a 4, que representa la diferencia fontica relativa entre dos
expresiones de caracteres.
Sintaxis: DIFFERENCE(cExpresin1, cExpresin2)
Tipos devueItos: Numeric
Argumentos: cExpresin1, cExpresin2
Especifica las expresiones de caracteres comparadas por
DIFFERENCE( ).
Comentarios: DIFFERENCE( ) es til al buscar en tablas cuando no se conoce la
forma exacta de escribir de una entrada.
Cuanto ms similar sea la ortografa de las dos expresiones, mayor ser el nmero
que devuelve DIFFERENCE( ). Si las expresiones de caracteres se escriben de forma
muy similar, DIFFERENCE( ) devolver 4. Si las dos expresiones de caracteres tienen
poco en comn fonticamente, DIFFERENCE( ) devolver 0.
EjempIo de DIFFERENCE( ) (Funcin)
STORE 'Smith' TO gcNombre1
STORE 'Smythe' TO gcNombre2
STORE 'Smittie' TO gcNombre3
STORE '' TO gcNombre4
CLEAR
? DIFFERENCE(gcNombre1, gcNombre2) && Muestra 4
? DIFFERENCE(gcNombre1, gcNombre3) && Muestra 4
Instituto de Educacion Superior 'San Pedro'
? DIFFERENCE(gcNombre1, gcNombre4) && Muestra 1
EVALUATE( ) (Funcin)
Evala una expresin de caracteres y devuelve el resultado.
Sintaxis: EVALUATE(cExpresin)
Tipos devueItos: Character, Numeric, Currency, Date, DateTime, Logical o Memo
Argumentos: cExpresin
Especifica la expresin a evaluar. cExpresin puede ser una cadena
de caracteres literales, o una expresin vlida de Visual FoxPro, una
variable de memoria, un elemento de matriz o un campo de
cualquier tipo de datos, incluidos entre comillas. cExpresinn no
puede ser mayor de 255 caracteres.
Siempre que sea posible, utilice EVALUATE( ) o una expresin de
nombre para reemplazar la sustitucin de macro utilizando &.
EVALUATE y las expresiones de nombre se ejecutan ms rpido
que las sustituciones de macro.
Comentarios: EVALUATE( ) es similar a TYPE( ) pero devuelve el resultado de
una expresin en lugar del tipo de expresin. Una expresin que contiene
EVALUATE( ) no puede optimizarse mediante Rushmore.
INKEY( ) (Funcin)
Devuelve el nmero correspondiente a la primera tecla presionada o el primer clic del
mouse (ratn) que haya en el bfer de teclado.
Sintaxis: INKEY([nSegundos] [, cOcultarCursor])
Tipos devueItos: Numeric
Argumentos: nSegundos
Especifica durante cuantos segundos esperar una pulsacin
INKEY( ). Si nSegundos no se incluye, INKEY( ) devuelve
inmediatamente un valor de una pulsacin de tecla. INKEY( )
esperar una pulsacin eternamente si nSegundos es 0.
cOcultarCursor
Muestra u oculta el cursor, o comprueba si se ha hecho clic con el
mouse. Para mostrar el cursor, incluya S en cOcultarCursor. Para
ocultar el cursor, incluya H en cOcultarCursor. Si se incluye S y H, a
la vez, en cOcultarCursor, tendr prioridad el ltimo carcter de
cOcultarCursor.
Instituto de Educacion Superior 'San Pedro'
De forma predeterminada, INKEY( ) no detecta un clic del mouse.
Para detectar un clic del mouse (ratn), incluya M en
cOcultarCursor. Si se incluye M en cOcultarCursor, INKEY( )
devolver el valor 151 para un clic del mouse. Consulte el segundo
ejemplo de la tabla siguiente para ver la forma de comprobar un
doble clic.
Para comprobar un clic del mouse y mostrar el cursor, incluya M y S
a la vez. Para comprobar un clic del mouse y ocultar el cursor,
incluya H y M a la vez.
Cuando se asigna una macro de teclado a una tecla o a una
combinacin de teclas, puede incluir E en cOcultarCursor para
expandir la macro de teclado. Cuando se incluye E, INKEY( )
devuelve un valor correspondiente a la primera pulsacin de tecla
asignada a la macro de teclado. Puede devolver valores sucesivos
para cada pulsacin de tecla de una macro de teclado de forma
repetitiva ejecutando INKEY( ) con E incluida. Si E no se incluye,
INKEY( ) devuelve el valor de la tecla o combinacin de teclas que
dispara la macro de teclado.
Cualquier carcter que no sea H, M, S y E en cOcultarCursor se
pasar por alto.
La siguiente tabla muestra los valores que devuelve la funcin
INKEY( ) para las teclas en solitario y en combinacin con las teclas
MAYS, CTRL y ALT. Un guin () indica que la combinacin de
teclas no devolver ningn valor.
TecIa SoIa MAYS CTRL ALT
F1 28 84 94 104
F2 -1 85 95 105
F3 -2 86 96 106
F4 -3 87 97 107
F5 -4 88 98 108
F6 -5 89 99 109
F7 -6 90 100 110
F8 -7 91 101 111
F9 -8 92 102 112
F10 -9 93 103 113
F11 133 135 137 139
F12 134 136 138 140
1 49 33 120
Instituto de Educacion Superior 'San Pedro'
2 50 64 121
3 51 35 122
4 52 36 123
5 53 37 124
6 54 94 125
7 55 38 126
8 56 42 127
9 57 40 128
0 48 41 19
A 97 65 1 30
B 98 66 2 48
C 99 67 3 46
D 100 68 4 32
E 101 69 5 18
F 102 70 6 33
G 103 71 7 34
H 104 72 127 35
I 105 73 9 23
J 106 74 10 36
K 107 75 11 37
L 108 76 12 38
M 109 77 13 50
N 110 78 14 49
O 111 79 15 24
P 112 80 16 25
Q 113 81 17 16
R 114 82 18 19
S 115 83 19 31
T 116 84 20 20
U 117 85 21 22
Instituto de Educacion Superior 'San Pedro'
V 118 86 22 47
W 119 87 23 17
X 120 88 24 45
Y 121 89 25 21
Z 122 90 26 44
INS 22 22 146 162
INICIO 1 55 29 151
SUPR 7 7 147 163
FIN 6 49 23 159
RE PG 18 57 31 153
AV PG 3 51 30 161
FLECHA
ARRIBA
5 56 141 152
FLECHA
ABAJO
24 50 145 160
FLECHA
DERECHA
4 52 2 157
FLECHA
IZQUIERDA
19 54 26 155
ESCAPE 27 /27 */27 */1
ENTRAR 13 13 10 /166
RETROCESO 127 127 127 14
TAB 9 15 148/* *
BARRA
ESPACIADORA
32 32 32/ 57
* Pulsacin reservada por Windows.
Comentarios: INKEY( ) devuelve 0 si no se ha presionado ninguna tecla. Si hay
varias teclas en el bfer de teclado, INKEY( ) devuelve el valor de la primera tecla
introducida en el bfer.
LASTKEY( ) (Funcin)
Devuelve un nmero entero correspondiente a la ltima tecla presionada.
Sintaxis: LASTKEY( )
Instituto de Educacion Superior 'San Pedro'
Tipos devueItos: Numeric
Comentarios: Los valores devueltos por LASTKEY( ) son los mismos que
devuelve INKEY( ).
LASTKEY( ) se actualiza cuando usted se desplaza entre los controles.
LEFT( ) (Funcin)
Devuelve un nmero especificado de caracteres de una expresin de caracteres, a
partir del carcter situado ms a la izquierda.
Sintaxis: LEFT(cExpresin, nExpresin)
Tipos devueItos: Character
Argumentos: cExpresin
Especifica la expresin de caracteres de la cual LEFT( ) devuelve
los caracteres.
nExpresin
Especifica el nmero de caracteres devueltos desde la expresin de
caracteres. Si nExpresin es mayor que la longitud de cExpresin,
se devolver toda la expresin. Devuelve la cadena vaca si
nExpresin es negativa o si es 0.
LEFT( ) es idntica a SUBSTR( ) con una posicin inicial de 1.
EjempIo de LEFT( ) (Funcin)
CLEAR
? LEFT('Redmond, WA', 4) && Muestra Redm.
LEFTC( ) (Funcin)
Devuelve un nmero especfico de caracteres a partir de una expresin de caracteres,
a partir del carcter que est ms a la izquierda.
Sintaxis: LEFTC(cExpresin, nExpresin)
Tipos devueItos: Character
Argumentos: cExpresin
Especifica la expresin de caracteres a partir de la cual LEFTC( )
devuelve caracteres.
nExpresin
Instituto de Educacion Superior 'San Pedro'
Especifica el nmero de caracteres devueltos a partir de la
expresin de caracteres. Si nExpresin es mayor que la longitud de
cExpresin, se devolver toda la expresin de caracteres. Se
devolver la cadena vaca si nExpresin es negativa o 0.
Comentarios: LEFTC( ) se ha diseado para expresiones que contengan
caracteres de dos bytes. Si la expresin slo contiene caracteres de un byte, LEFTC( )
ser equivalente a LEFT( ).
LEFTC( ) devuelve un nmero especfico de caracteres a partir de una expresin de
caracteres que contiene cualquier combinacin de caracteres de un byte y de dos
bytes.
LEFTC( ) es idntica a SUBSTRC( ) con una posicin de inicial de 1.
Esta funcin es til para manipular juegos de caracteres de doble byte de idiomas
como el Hiragana y Katakana.
LEN( ) (Funcin)
Devuelve el nmero de caracteres de una expresin de caracteres.
Sintaxis: LEN(cExpresin)
Tipos devueItos: Numeric
Argumentos: cExpresin
Especifica la expresin de caracteres cuyo nmero de caracteres
devuelve LEN( ).
Comentarios: Utilice LEN( ) para determinar la longitud de una expresin de
caracteres.
EjempIo de LEN( ) (Funcin)
El ejemplo siguiente abre la tabla customer de la base de datos testdata. Se usa
LEN( ) para mostrar los anchos de los campos cust_id y contact.
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'Data\testdata')
USE Customer && Abre la tabla customer.
CLEAR
? 'Ancho del campo contact: '
?? LEN(contact)
? 'Ancho del campo cust_id: '
?? LEN(cust_id)
LENC( ) (Funcin)
Devuelve el nmero de caracteres de una expresin de caracteres o de un campo
memo.
Instituto de Educacion Superior 'San Pedro'
Sintaxis: LENC(cExpresin)
Tipos devueItos: Numeric
Argumentos: cExpresin
Especifica la expresin de caracteres cuyo nmero de caracteres
devuelve LENC( ).
Comentarios: LENC( ) se ha diseado para expresiones que contengan caracteres
de dos bytes. Si la expresin slo contiene caracteres de un byte, LENC( ) ser
equivalente a LEN( ).
LENC( ) devuelve un nmero especfico de caracteres a partir de una expresin de
caracteres o de un campo memo que contiene cualquier combinacin de caracteres de
un byte y de doble byte.
Esta funcin es til para manipular juegos de caracteres de doble byte de idiomas
como el Hiragana y el Katakana.
LOWER( ) (Funcin)
Devuelve en letras minsculas una expresin de caracteres especificada.
Sintaxis: LOWER(cExpresin)
Tipos devueItos: Character
Argumentos: cExpresin
Especifica la expresin de caracteres convertida por LOWER( ).
Comentarios: LOWER( ) convierte todas las letras maysculas (A Z) de la
expresin a letras minsculas (a z). Todos los dems caracteres de la expresin
permanecen sin cambios.
EjempIo de LOWER( ) (Funcin)
STORE 'FOX' TO gcNombre
CLEAR
? LOWER(gcName) && Muestra fox
LTRIM( ) (Funcin)
Devuelve la expresin de caracteres especificada despus de eliminar los espacios en
blanco iniciales.
Sintaxis: LTRIM(cExpresin)
Tipos devueItos: Character
Argumentos: cExpresin
Instituto de Educacion Superior 'San Pedro'
Especifica la expresin de caracteres en la cual LRTRIM( ) elimina
los espacios en blanco iniciales.
Comentarios: Esta funcin es especialmente til para eliminar los espacios en
blanco iniciales que se insertan cuando se utiliza STR( ) para convertir un valor
numrico en una cadena de caracteres.
EjempIo de LTRIM( ) (Funcin)
STORE 'Redmond' TO gcCiudad
STORE ' Washington' TO gcRegin
CLEAR
? gcCiudad, gcRegin && Muestra Redmond Washington
? gcCiudad, LTRIM(gcRegin) && Muestra Redmond Washington
NORMALIZE( ) (Funcin)
Convierte una expresin de caracteres, proporcionada por un usuario, en un formato
que se puede comparar con los valores de retorno de la funcin de Visual FoxPro.
Sintaxis: NORMALIZE(cExpresin)
Tipos devueItos: Character
Argumentos: cExpresin
Especifica la expresin de caracteres que se va a normalizar.
Comentarios: NORMALIZE( ) devuelve una cadena de caracteres a partir de la
expresin de caracteres cExpresin con los siguientes cambios:
N La expresin de caracteres se convierte a maysculas. No obstante, las
cadenas intercaladas no se modifican. Un ejemplo de cadena intercalada es
"Hola" en la expresin de caracteres "LEFT('Hola',1)".
N Las palabras clave abreviadas de FoxPro de la expresin de caracteres se
expanden a su longitud completa.
N Los operadores -> que separan alias de los nombres de campo se convierten
en puntos.
N Se comprueba la sintaxis de cualquier comando o funcin de Visual FoxPro
incluida en la expresin de caracteres, aunque la expresin en s no se evala.
Si la sintaxis es incorrecta, Visual FoxPro genera un error de sintaxis.
NORMALIZE( ) no comprueba la existencia de campos, tablas, variables de
memoria, funciones definidas por el usuario u otras referencias de la expresin.
Por ejemplo, un usuario puede introducir en el Generador de expresiones una
expresin de ndice como la siguiente:
UPPE(cust->lname) + UPPE(cust->fname)
Instituto de Educacion Superior 'San Pedro'
Aunque se trata de una expresin de clave de ndice vlida de Visual FoxPro, es difcil
compararla con los valores de retorno de una funcin de Visual FoxPro como KEY( ).
NORMALIZE( ) devuelve la siguiente cadena de caracteres para la expresin anterior:
UPPER(CUST.LNAME) + UPPER(CUST.FNAME)
Esto se puede comparar fcilmente con el valor devuelto por una funcin como KEY( ),
lo que le permite, en este ejemplo, determinar si ya existe un ndice o una etiqueta de
ndice con la expresin de ndice proporcionada por el usuario.
OCCURS( ) (Funcin)
Devuelve el nmero de veces que ocurre una expresin dentro de otra expresin de
caracteres.
Sintaxis: OCCURS(cExpresinBsqueda, cExpresinBuscada)
Tipos devueItos: Numeric
Argumentos: cExpresinBsqueda
Especifica una expresin de caracteres que OCCURS( ) busca en
cExpresinBuscada.
cExpresinBuscada
Especifica la expresin de caracteres donde OCCURS( ) busca
cExpresinBsqueda.
Comentarios: OCCURS( ) Especifica la expresin de caracteres donde
OCCURS( ) busca cExpresinBsqueda en cExpresinBuscada.
EjempIo de OCCURS( ) (Funcin)
STORE 'abracadabra' TO gcstring
CLEAR
? OCCURS('a', gcstring) && Muestra 5
? OCCURS('b', gcstring) && Muestra 2
? OCCURS('c', gcstring) && Muestra 1
? OCCURS('e', gcstring) && Muestra 0
PADL( ) | PADR( ) | PADC( ) (Funciones)
Devuelve la expresin especfica rellenndola por la izquierda, la derecha, o por
ambos lados.
Sintaxis: PADL(eExpresin, nTamaoResultado [,
cCarcterRelleno])
o bien
Instituto de Educacion Superior 'San Pedro'
PADR(eExpresin, nTamaoResultado [,
cCarcterRelleno])
o
PADC(eExpresin, nTamaoResultado [, cCarcterRelleno])
Tipos devueItos: Character
Argumentos: eExpresin
Incluya la expresin que se va a rellenar. Puede ser una expresin
de cualquier tipo, excepto una expresin lgica o un campo general
o de imagen.
nTamaoResultado
Especifica el nmero total de caracteres que tendr la expresin
despus de rellenarla.
cCarcterRelleno
Especifica el valor que se va a utilizar para el relleno. Este valor se
repite todas las veces necesarias para rellenar la expresin con el
nmero especificado de caracteres.
Si se omite cCarcterRelleno, se utilizan espacios (ASC(32)) para el
relleno.
Comentarios: PADL( ) inserta los caracteres de relleno a la izquierda, PADR( )
inserta el relleno a la derecha, y PADC( ) lo inserta en ambos lados.
EjempIo de PADL( ) | PADR( ) | PADC( ) (Funciones)
STORE 'TITLE' TO gcCadena
CLEAR
? PADL(gcCadena, 40, '=')
? PADR(gcCadena, 40, '=')
? PADC(gcCadena, 40, '=')
PROPER( ) (Funcin)
Devuelve, a partir de una expresin de caracteres, una cadena con el modelo
apropiado de maysculas/minsculas para nombres propios.
Sintaxis: PROPER(cExpresin)
Tipos devueItos: Character
Argumentos: cExpresin
PROPER( ) devolver una cadena de caracteres con el modelo
apropiado de maysculas/minsculas de la expresin especificada.
Instituto de Educacion Superior 'San Pedro'
EjempIo de PROPER( ) (Funcin)
STORE `Visual FoxPro' TO gcExpr1
CLEAR
? PROPER(gcExpr1) && Muestra Visual Foxpro
STORE `VISUAL FOXPRO' TO gcExpr2
? PROPER(gcExpr2) && Muestra Visual Foxpro
RAT( ) (Funcin)
Devuelve la posicin numrica de la ltima aparicin (ms a la derecha) de una
cadena de caracteres dentro de otra cadena de caracteres.
Sintaxis: RAT(cExpresinBsqueda, cExpresinBuscada [, nAparicin])
Tipos devueItos: Numeric
Argumentos: cExpresinBsqueda
Especifica la expresin de caracteres que RAT( ) busca en
cExpresinBuscada. La expresin de caracteres puede hacer
referencia a un campo memo de cualquier tamao.
cExpresinBuscada
Especifica la expresin de caracteres donde RAT( ) busca. La
expresin de caracteres puede hacer referencia a un campo memo
de cualquier tamao.
nAparicin
Especifica qu aparicin, de derecha a izquierda, de
cExpresinBsqueda busca RAT( ) en cExpresinBuscada. De
forma predeterminada, RAT( ) busca la ltima vez que aparece
cExpresinBsqueda (nAparicin = 1). Si nAparicin es 2, RAT( )
buscar la penltima aparicin y as sucesivamente.
Comentarios: RAT( ), que es la funcin inversa de AT( ), busca en la expresin de
caracteres cExpresinBuscada, de la derecha a la izquierda, la ltima aparicin de otra
expresin de caracteres cExpresinBsqueda.
RAT( ) devuelve un entero que indica la posicin del primer carcter de
cExpresinBsqueda en cExpresinBuscada. RAT( ) devolver 0 si no encuentra
cExpresinBsqueda en cExpresinBuscada, o si nAparicin es mayor que el nmero
de veces que cExpresinBsqueda aparece en cExpresinBuscada.
La bsqueda realizada por RAT( ) distingue maysculas de minsculas.
EjempIo de RAT( ) (Funcin)
STORE 'abracadabra' TO string
STORE 'a' TO find_str
CLEAR
? RAT(find_str,string) && Muestra 11
Instituto de Educacion Superior 'San Pedro'
? RAT(find_str,string,3) && Muestra 6
RATC( ) (Funcin)
Devuelve la posicin numrica de la ltima aparicin de una expresin de caracteres o
de un campo memo dentro de otra expresin de caracteres o campo memo.
Sintaxis: RATC(cExpresinBsqueda, cExpresinBuscada [, nAparicin])
Tipos devueItos: Numeric
Argumentos: cExpresinBsqueda
Especifica la expresin de caracteres que RATC( ) busca en
cExpresinBuscada.
cExpresinBuscada
Especifica la expresin de caracteres que RATC( ) examina. Las
expresiones de caracteres cExpresinBsqueda y
cExpresinBuscada pueden ser campos memo de cualquier
tamao.
nAparicin
Especifica qu aparicin, de la derecha a la izquierda, de
cExpresinBsqueda buscar RATC( ) en cExpresinBuscada. De
forma predeterminada, RATC( ) buscar la ltima aparicin de
cExpresinBsqueda (nAparicin es igual a 1). Si nAparicin es 2,
RATC( ) buscar la prxima ltima aparicin y as sucesivamente.
Comentarios: RATC( ) est diseado para expresiones que contengan caracteres
de dos bytes. Si la expresin slo contiene caracteres de un byte, RATC( ) ser
equivalente a RAT( ).
RATC( ) devuelve la posicin numrica de la ltima aparicin de una expresin de
caracteres o campo memo dentro de otra expresin de caracteres o campo memo. Las
expresiones de caracteres o campos memo pueden contener cualquier combinacin
de caracteres de un byte y de dos bytes.
RATC( ) es lo opuesto a la funcin AT_C( ): busca de derecha a izquierda.
RATC( ) devuelve un nmero entero para indicar la posicin del primer carcter en
cExpresinBsqueda en cExpresinBuscada. RATC( ) devuelve 0 si no encuentra
cExpresinBsqueda en cExpresinBuscada o si nAparicin es mayor que el nmero
de veces que aparece cExpresinBsqueda en cExpresinBuscada.
En la bsqueda realizada por RATC( ) se distingue entre maysculas y minsculas.
Esta funcin es til para manipular conjuntos de caracteres de doble byte en idiomas
como el Hiragana y el Katakana.
Instituto de Educacion Superior 'San Pedro'
RATLINE( ) (Funcin)
Devuelve el nmero de lnea de la ltima aparicin de una expresin de caracteres
dentro de otra expresin de caracteres o un campo memo, a partir de la ltima lnea.
Sintaxis: RATLINE(cExpresinBsqueda, cExpresinBuscada)
Tipos devueItos: Numeric
Argumentos: cExpresinBsqueda
Especifica la expresin de caracteres que RATLINE( ) busca en
cExpresinBuscada.
cExpresinBuscada
Especifica la expresin de caracteres donde busca RATLINE( ). Las
expresiones de caracteres cExpresinBsqueda y
cExpresinBuscada pueden ser campos memo de cualquier
tamao.
Utilice MLINE( ) para devolver la lnea que contiene
cExpresinBsqueda.
Sugerencia RATLINE( ) ofrece una forma cmoda de buscar en campos memo.
Comentarios: RATLINE( ), que es la funcin inversa de ATLINE( ), busca en una
expresin de caracteres cExpresinBuscada, a partir del ltimo carcter de la misma,
la aparicin de cExpresinBsqueda.
Si la bsqueda tiene xito, RATLINE( ) devolver el nmero de lnea donde se produce
la coincidencia. Si la bsqueda fracasa, RATLINE( ) devolver 0.
La bsqueda realizada por RATLINE( ) distingue maysculas de minsculas.
Precaucin El nmero de lnea devuelto por RATLINE( ) est determinado por el
valor de SET MEMOWIDTH, aunque cExpresinBuscada no sea un campo memo.
EjempIo de RATLINE( ) (Funcin)
En el ejemplo siguiente, RATLINE( ) devuelve el nmero de la ltima lnea del campo
memo notes que contenga la palabra "graduado. MLINE( ) utiliza este valor para
devolver el contenido de la lnea.
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'data\testdata')
USE employee && Abre la tabla Employee.
STORE 'graduado' TO gcString
STORE MLINE(notes, RATLINE(gcString, notes)) TO gnFileLine
? gnFileLine
REPLICATE( ) (Funcin)
Instituto de Educacion Superior 'San Pedro'
Devuelve una cadena de caracteres que contiene una expresin de caracteres
especificada que se repite un determinado nmero de veces.
Sintaxis: REPLICATE(cExpresin, nVeces)
Tipos devueItos: Character
Argumentos: cExpresin
Especifica la expresin de caracteres que se replica.
nVeces
Especifica el nmero de veces que se replica la expresin de
caracteres.
Comentarios: En Visual FoxPro y en FoxPro para Windows, la longitud mxima de
la cadena de caracteres resultante est limitada por la cantidad de memoria
disponible.
EjempIo de REPLICATE( ) (Funcin)
CLEAR
? REPLICATE('HOLA ',4) && Muestra HOLA HOLA HOLA HOLA
RIGHT( ) (Funcin)
Devuelve el nmero especificado de caracteres del lado derecho de una cadena de
caracteres.
Sintaxis: RIGHT(cExpresin, nCaracteres)
Tipos devueItos: Character
Argumentos: cExpresin
Especifica la expresin de caracteres cuyos caracteres ms a la
derecha se devuelven.
nCaracteres
Especifica el nmero de caracteres devueltos a partir de la
expresin de caracteres. RIGHT( ) devuelve toda la expresin de
caracteres si nCaracteres es mayor que la longitud de cExpresin.
RIGHT( ) devuelve una cadena vaca si nCaracteres es negativo o
0.
Comentarios: Los caracteres se devuelven comenzando por el ltimo carcter de
la derecha y continuando durante un nmero concreto de caracteres.
EjempIo de RIGHT( ) (Funcin)
Instituto de Educacion Superior 'San Pedro'
CLEAR
? RIGHT('Redmond, WA', 2) && Muestra WA
RIGHTC( ) (Funcin)
Devuelve el nmero especificado de los caracteres ms a la derecha de una cadena
de caracteres.
Sintaxis: RIGHTC(cExpresin, nCaracteres)
Tipos devueItos: Character
Argumentos: cExpresin
Especifica la expresin de caracteres de la que se devuelven los
caracteres que estn ms a la derecha.
nCaracteres
Especifica el nmero de caracteres devueltos a partir de la
expresin de caracteres. RIGHTC( ) devuelve toda la expresin de
caracteres si nCharacters supera la longitud de cExpression.
RIGHTC( ) devuelve una cadena vaca si nCharacters es negativo o
0.
Comentarios: RIGHTC( ) ha sido diseado para expresiones que contienen
caracteres de dos bytes. Si la expresin slo contiene caracteres de un solo byte,
RIGHTC( ) ser equivalente a RIGHT( ).
Los caracteres se devuelven empezando por el ltimo carcter de la derecha y
continuando por nCharacters.
Esta funcin es til para tratar caracteres codificados en dos bytes, en idiomas como
Hiragana y Katana.
RTRIM( ) (Funcin)
Devuelve la expresin de caracteres especificada con todos los espacios en blanco
finales recortados.
Sintaxis: RTRIM(cExpresin)
Tipos devueItos: Character
Argumentos: cExpresin
Especifica la expresin de caracteres de la cual se deben recortar
los espacios en blanco finales.
Comentarios: RTRIM( ) puede utilizarse para asegurarse de que se
eliminan los espacios en blanco de los datos introducidos por un
usuario. La funcin RTRIM( ) es idntica a TRIM( ).
Instituto de Educacion Superior 'San Pedro'
EjempIo de RTRIM( ) (Funcin)
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'Data\testdata')
USE customer && Abre la tabla Customer
CLEAR
? 'El contacto para'+ RTRIM(company) + ' es ' + contact
SOUNDEX( ) (Funcin)
Devuelve la representacin fontica de una expresin de caracteres especificada.
Sintaxis: SOUNDEX(cExpresin)
Tipos devueItos: Character
Argumentos: cExpresin
Especifica la expresin de caracteres que va a evaluar
SOUNDEX( ).
Comentarios: SOUNDEX( ) devuelve una representacin fontica de una
expresin de caracteres. Al comparar los resultados que devuelve SOUNDEX( ) de
dos expresiones de caracteres, puede determinar si las dos expresiones son similares
fonticamente, es decir, suenan de forma parecida. Esto puede ser til al buscar
registros duplicados en una tabla.
SOUNDEX( ) no distingue maysculas de minsculas y, generalmente, descarta las
vocales.
EjempIo de SOUNDEX( ) (Funcin)
CLEAR
? SOUNDEX('Smith') = SOUNDEX('Smyth') && Muestra .T.
? SOUNDEX('Computer') && Muestra C513
SPACE( ) (Funcin)
Devuelve una cadena de caracteres compuesta de un nmero especificado de
espacios.
Sintaxis: SPACE(nEspacios)
Tipos devueItos: Character
Argumentos: nEspacios
Especifica el nmero de espacios que devolver SPACE( ). El valor mximo de
nEspacios est limitado nicamente por la memoria en Microsoft Visual FoxPro.
STR( ) (Funcin)
Instituto de Educacion Superior 'San Pedro'
Devuelve el carcter equivalente a una expresin numrica especificada.
Sintaxis: STR(nExpresin [, nLongitud [, nLugaresDecimales]])
Tipos devueItos: Character
Argumentos: nExpresin
Especifica la expresin numrica evaluada por STR( ).
nLongitud
Especifica la longitud de la cadena de caracteres devuelta por STR( ). La
longitud incluye un carcter para la coma decimal y un carcter para cada
dgito a la derecha de la coma decimal.
STR( ) llena la cadena de caracteres con espacios al principio si especifica una
longitud mayor que el nmero de dgitos a la izquierda de la coma decimal.
STR( ) devuelve una cadena de caracteres, que indica desbordamiento
numrico, si especifica una longitud inferior al nmero de dgitos a la izquierda
de la coma decimal.
Si nExpresin es del tipo Numeric o Float, STR( ) devuelve un valor con
notacin cientfica si nLongitud es menor que el nmero de dgitos de
nExpresin. Si nExpresin es un entero, STR( ) devuelve una cadena de
asteriscos, que indica desbordamiento numrico, si nLongitud es menor que el
nmero de dgitos de nExpresin.
Si no se incluye nLongitud, la longitud de la cadena de caracteres cambia de
forma predeterminada a 10 caracteres.
nLugaresDecimales
Especifica el nmero de lugares decimales de la cadena de caracteres devuelta
por STR( ). Puede incluir nLongitud para especificar el nmero de lugares
decimales.
Si especifica menos lugares decimales de los que estn en nExpresin, el valor
de retorno se redondea.
Si no se incluye nLugaresDecimales, el valor predeterminado para lugares
decimales es cero de forma predeterminada.
STRCONV( ) (Funcin)
Convierte las expresiones de caracteres de un byte, de dos bytes, UNICODE y
representaciones especficas de configuraciones regionales.
Sintaxis: STRCONV(cExpresin, nValorConversin [, nIdLocal])
Tipos devueItos: Character
Instituto de Educacion Superior 'San Pedro'
Argumentos: cExpresin
Especifica la expresin de caracteres que STRCONV( ) convierte.
nValorConversin
Especifica el tipo de conversin. En la siguiente tabla figuran los
valores de nValorConversin y el tipo de conversin realizada.
nValorConversin Conversin
1 Convierte los caracteres de un byte de
cExpresin en caracteres de dos bytes.
2 Convierte los caracteres de dos bytes de
cExpresin en caracteres de un byte.
3 Convierte los caracteres Hiragana de dos
bytes de cExpresin en caracteres
Katakana de dos bytes.
4 Convierte los caracteres Katakana de dos
bytes de cExpresin en caracteres
Hiragana de dos bytes.
5 Convierte los caracteres de dos bytes en
UNICODE (caracteres anchos).
6 Convierte los caracteres UNICODE
(anchos) en caracteres de dos bytes.
7 Convierte cExpresin en minsculas
especficas de la configuracin regional.
8 Convierte cExpresin en maysculas
especficas de la configuracin regional.
nIdLocal
Especifica el Id. local que se utilizar para la conversin. Si nIdLocal
no es vlido o no es compatible con el equipo, se genera el error "Id.
local no vlido". Si se omite nIdLocal, se usa de forma
predeterminada el Id. local del sistema.
Comentarios: Esta funcin es til para manipular juegos de caracteres de doble
byte para idiomas como el Hiragana y el Katakana.
STRTOFILE( ) (Funcin)
Escribe el contenido de una cadena de caracteres en un archivo.
Sintaxis: STRTOFILE(cExpresin, cNombreArchivo [, lAditivo])
Instituto de Educacion Superior 'San Pedro'
VaIores devueItos: Numeric
Argumentos: cExpresin
Especifica la cadena de caracteres que se escribe en el archivo.
cExpresin puede ser una cadena literal de caracteres, una
expresin que da como resultado una cadena de caracteres o una
variable, elemento de matriz o campo de tipo Character.
cNombreArchivo
Especifica el nombre del archivo en que se escribe la cadena de
caracteres. Incluya una ruta de acceso con el nombre de archivo si
el archivo est en un directorio diferente al directorio
predeterminado actual. Si el archivo que especifica no existe, Visual
FoxPro lo crea automticamente.
lAditivo
Especifica si la cadena de caracteres se anexa al final del archivo.
Si lAditivo es verdadero (.T.), la cadena de caracteres se anexa al
final del archivo.
Si lAditivo es falso (.F.) (el valor predeterminado), el archivo se
sobrescribe con la cadena de caracteres. Se le pregunta si desea
sobrescribir un archivo existente si SET SAFETY est establecido
en ON. Si SET SAFETY est establecido en OFF, el archivo se
sobrescribe sin avisar.
Comentarios: STRTOFILE( ) devuelve el nmero de bytes escritos en el archivo.
STRTRAN( ) (Funcin)
Busca en una expresin de caracteres o en un campo memo las apariciones de una
segunda expresin de caracteres o campo memo y, luego, reemplaza cada aparicin
con una tercera expresin de caracteres o campo memo.
Sintaxis: STRTRAN(cBuscado, cBuscar [, cReemplazar]
[, nAparicinInicial] [, nNmeroApariciones])
Tipos devueItos: Character
Argumentos: cBuscado
Especifica la expresin de caracteres en la que hay que buscar.
cBuscado puede ser un campo memo.
cBuscar
Especifica la expresin de caracteres que se busca en cBuscado.
La bsqueda distingue maysculas y minsculas. cBuscar puede
ser un campo memo.
Instituto de Educacion Superior 'San Pedro'
cReemplazar
Especifica la expresin de caracteres que sustituye cada aparicin
de cBuscar en cBuscado. Si se omite cReemplazar, las apariciones
de cBuscar se sustituyen por la cadena vaca.
nAparicinInicial
Especifica qu aparicin de cBuscar es la primera que se sustituir.
Por ejemplo, si nAparicinInicial es 4, la sustitucin comenzar en la
cuarta aparicin de cBuscar en cBuscado desde la izquierda; las
primeras tres apariciones de cBuscar permanecern inalteradas. La
aparicin donde comienza a reemplazarse es la primera ocurrencia
de cBuscar si se omite nAparicinInicial.
nNmeroApariciones
Especifica el nmero de apariciones de cBuscar que se desea
sustituir. Si nNmeroApariciones se omite, se sustituirn todas las
apariciones de cBuscar, a partir de la aparicin especificada en
nAparicinInicial.
Comentarios: Tambin puede especificar dnde comienza la sustitucin y cuntas
sustituciones se harn. STRTRAN( ) devuelve la cadena de caracteres resultante.
EjempIo de STRTRAN( ) (Funcin)
STORE 'abracadabra' TO gcString
? STRTRAN(gcString, 'a', 'z') && Muestra zbrzczdzbrz.
? STRTRAN(gcString, 'a', 'q', 2, 3) && Muestra abrqcqdqbra.
STUFF( ) (Funcin)
Devuelve una cadena de caracteres creada al sustituir un nmero especfico de
caracteres de una expresin de caracteres por otra expresin de caracteres.
Sintaxis: STUFF(cExpresin, nIniciarReemplazar,
nCaracteresReemplazados, cReemplazar)
Tipos devueItos: Character
Argumentos: cExpresin
Especifica la expresin de caracteres en la que se producir la
sustitucin.
nIniciarReemplazar
Especifica la posicin en cExpresin donde comenzar la
sustitucin.
nCaracteresReemplazados
Instituto de Educacion Superior 'San Pedro'
Especifica el nmero de caracteres que se reemplazarn. Si
nCaracteresReemplazados es 0, la cadena de sustitucin
cReemplazar se insertar en cExpresin.
cReemplazar
Especifica la expresin de caracteres de sustitucin. Si
cReemplazar es la cadena nula, el nmero de caracteres
especificado por nCaracteresReemplazados se eliminar de
cExpresin.
EjempIo de STUFF( ) (Funcin)
STORE 'abcdefghijklm' TO gcString1
STORE '12345' TO gcString2
CLEAR
? STUFF(gcString1, 4, 0, gcString2) && Insertar
? STUFF(gcString1, 4, 3, gcString2) && Reemplazar
? STUFF(gcString1, 4, 6, '') && Eliminar
? STUFF(gcString1, 4, 1, gcString2) && Reemplazar e insertar
? STUFF(gcString1, 4, 4, gcString2) && Reemplazar y eliminar
? STUFF(gcString1, 4, LEN(gcString1), gcString2) &&
Reemplazar, eliminar el resto.
STUFFC( ) (Funcin)
Devuelve una cadena de caracteres creada a partir de la sustitucin de un nmero
determinado de caracteres, dentro de una expresin de caracteres, por otra expresin
de caracteres.
Sintaxis: STUFFC(cExpresin, nIniciarReemplazar,
nCaracteresReemplazados, cReemplazar)
Tipos devueItos: Character
Argumentos: cExpresin
Especifica la expresin de caracteres en la que tendr lugar la
sustitucin.
nIniciarReemplazar
Especifica la posicin del carcter en cExpresin a partir de la cual
se realizar la sustitucin.
nCaracteresReemplazados
Especifica el nmero de caracteres que se va a sustituir. Si
nCaracteresReemplazados es 0, se insertar toda la cadena de
sustitucin cReemplazar en cExpresin.
cReemplazar
Instituto de Educacion Superior 'San Pedro'
Especifica la expresin del carcter de sustitucin. Si cReemplazar
es la cadena vaca, el nmero de caracteres especificado mediante
nCaracteresReemplazados se eliminarn de cExpresin.
Comentarios: STUFFC( ) se ha diseado para expresiones que contengan
caracteres de dos bytes. Si la expresin slo contiene caracteres de un byte,
STUFFC( ) ser equivalente a STUFF( ).
STUFFC( ) devuelve una cadena de caracteres creada mediante la sustitucin de un
nmero determinado de caracteres, dentro de una expresin de caracteres, por otra
expresin de caracteres. Las expresiones de caracteres pueden consistir en cualquier
combinacin de caracteres de un byte y de dos bytes.
Esta funcin es til para manipular juegos de caracteres de doble byte para idiomas
como el Hiragana y el Katakana.
SUBSTR( ) (Funcin)
Devuelve un nmero de caracteres especfico de una expresin de caracteres o un
campo memo.
Sintaxis: SUBSTR(cExpresin, nPosicinInicial [, nCaracteresDevueltos])
Argumentos: cExpresin
Especifica la expresin de caracteres o el campo memo desde el cual
se devuelve la cadena de caracteres.
PosicinInicial
Especifica la posicin en la expresin de caracteres o en la cExpresin
del campo memo desde la que se devuelve la cadena de caracteres. El
primer carcter de cExpresin es la posicin 1.
Si TALK toma el valor SET ON y nPosicinInicial es mayor que el
nmero de caracteres de cExpresin, Visual FoxPro generar un
mensaje de error. Si TALK toma el valor SET OFF, se devuelve la
cadena vaca.
nCaracteresDevueltos
Especifica el nmero de caracteres que se debe extraer de cExpresin.
Si se omite nCaracteresDevueltos, los caracteres se extraern hasta
llegar al final de la expresin de caracteres.
Comentarios: SUBSTR( ) devuelve una cadena de caracteres de una expresin de
tipo Character o de un campo memo, a partir de la posicin especificada de la
expresin de caracteres y hasta el nmero especificado de caracteres.
Cuando utilice SUBSTR( ) con campos memo en un comando SELECT SQL, incluya
la funcin PADR( ) en SUBSTR( ) de modo que los campos memo vacos o de longitud
variable produzcan resultados coherentes cuando se conviertan a cadenas de
caracteres.
Instituto de Educacion Superior 'San Pedro'
SUBSTR( ) no devolver ningn valor para un campo memo cuando se ejecute en la
ventana Depuracin. Para devolver un valor en la ventana Depuracin, incluya el
nombre del campo memo en ALLTRIM( ) e incluya ALLTRIM( ) en SUBSTR( ).
EjempIo de SUBSTR( ) (Funcin)
STORE 'abcdefghijklm' TO micadena
CLEAR
? SUBSTR(micadena, 1, 5) && Muestra abcde.
? SUBSTR(micadena, 6) && Muestra fghijklm.
SUBSTRC( ) (Funcin)
Devuelve una cadena de caracteres a partir de una expresin de caracteres o de un
campo memo determinados.
Sintaxis: SUBSTRC(cExpresin, nPosicinInicial [, nCaracteresDevueltos])
Tipos devueItos: Character
Argumentos: cExpresin
Especifica la expresin de caracteres o el campo memo a partir de
los cuales se devuelve la cadena de caracteres.
nPosicinInicial
Especifica la posicin, dentro de la expresin de caracteres o del
campo memo cExpresin, a partir de donde se devolver la cadena
de caracteres. El primer carcter de cExpresin est en la posicin
1.
Si TALK est establecido en ON y nPosicinInicial es mayor que el
nmero de caracteres de cExpresin, Visual FoxPro genera un
mensaje de error. Si TALK est establecido en OFF, se devolver
una cadena vaca.
nCaracteresDevueltos
Especifica el nmero de caracteres que se van a devolver a partir de
cExpresin. Si se omite nCaracteresDevueltos, se devolvern
caracteres hasta que se llegue al final de la expresin de caracteres.
Comentarios: SUBSTRC( ) se ha diseado para expresiones que contengan
caracteres de dos bytes. Si la expresin contiene slo caracteres de un byte,
SUBSTRC( ) equivaldr a SUBSTR( ).
SUBSTRC( ) devuelve una cadena de caracteres a partir de la expresin de caracteres
o del campo memo especificados. La expresin de caracteres o el campo memo
pueden contener cualquier combinacin de caracteres de uno y de dos bytes.
Instituto de Educacion Superior 'San Pedro'
SUBSTRC( ) no devolver un valor para un campo memo si se ejecuta en la ventana
Depuracin. Si desea que se devuelva un valor en la ventana Depuracin, coloque el
nombre del campo memo en ALLTRIM( ) y coloque ALLTRIM( ) en SUBSTRC( ).
Esta funcin es til para manipular juegos de caracteres de doble byte para idiomas
como el Hiragana y el Katakana.
SYS(2007) - Suma de comprobacin
Devuelve el valor de suma de comprobacin de una expresin de caracteres.
Sintaxis: SYS(2007, cExpresin)
Tipos devueItos: Character
Comentarios: Puede utilizar una suma de comprobacin para comprobar la validez
de los datos o para comparar dos expresiones de caracteres.
cExpresin
Especifica la expresin de caracteres cuyo valor de comprobacin devuelve
SYS(2007).
TRANSFORM( ) (Funcin)
Devuelve una cadena de caracteres a partir de una expresin en un formato que viene
determinado por un cdigo de formato.
Sintaxis: TRANSFORM(eExpresin, cCdigosFormato)
Tipos devueItos: Character
Argumentos: eExpresin
Especifica la expresin numrica o de caracteres a la que desea dar
formato.
cCdigosFormato
Especifica uno o ms cdigos PICTURE o FUNCTION que
determinan cmo se da formato a la expresin. En la siguiente tabla
se muestran los cdigos de formato disponibles.
Cdigos de
formato
Descripcin
@C CR se anexa a los valores positivos de moneda o numricos
para indicar un crdito.
@D Los valores Date y DateTime se convierten al formato SET
DATE actual.
Instituto de Educacion Superior 'San Pedro'
@E Los valores Date y DateTime se convierten al formato de fecha
BRITISH.
@R La transformacin utiliza una mscara de formato. Los
caracteres de la mscara no se almacenan en el valor
transformado. Utilcelo slo con datos numricos o
alfanumricos. La mscara puede incluir los siguientes
caracteres:
9 o #Representa un carcter o un nmero.
!Convierte en maysculas las letras minsculas.
@T Se eliminan los espacios en blanco de los valores de tipo
Character.
@X DB se anexan valores numricos o de moneda negativos para
indicar un dbito.
@Z Si es 0, valores numricos o de moneda se convierten en
espacios.
@( Incluye entre parntesis los valores numricos o de moneda
negativos.
@^ Convierte valores numricos o de moneda en valores
cientficos.
@0 Convierte valores numricos o de moneda en sus
equivalencias hexadecimales. El valor numrico o de moneda
tiene que ser positivo y menor que 4.294.967.296.
@! Convierte los datos de caracteres en maysculas.
@$ Agrega el smbolo de moneda actual especificado mediante
SET CURRENCY a los valores de moneda y numricos. De
forma predeterminada, el smbolo se colocar justo antes o
justo despus del valor. De todas formas, tanto el smbolo de
moneda y su colocacin (especificados mediante SET
CURRENCY), como el carcter de separacin (especificado
mediante SET SEPARATOR) y el carcter decimal
(especificado mediante SET POINT) se pueden modificar.
X Especifica el ancho de los valores de caracteres. Por ejemplo,
si cCdigosFormato es 'XX', se devuelven 2 caracteres.
Y Convierte los valores lgicos verdadero (.T.) y falso (.F.) en Y y
en N, respectivamente.
! Convierte los caracteres que estn en minsculas en
caracteres en maysculas.
. Especifica la posicin del separador de decimales en los
valores numricos y de moneda.
, Separa los dgitos que estn a la izquierda del separador de
Instituto de Educacion Superior 'San Pedro'
decimales en los valores de moneda y numricos.
Si omite cCdigosFormato, Visual FoxPro realiza una
transformacin predeterminada en eExpressin. La siguiente tabla
describe las transformacin predeterminada para cada tipo de datos
que eExpresin puede contener:
Tipo de datos Descripcin de Ia transformacin
Carcter No se realiza ninguna transformacin.
Currency La transformacin est determinada por los valores
especificados en la ficha Regional del cuadro de dilogo
Opciones.
Date Se realiza una transformacin DTOC( ) en la fecha.
DateTime Se realiza una transformacin TTOC( ) en la fecha y hora.
Logical Los valores lgicos verdadero (.T.) y falso (.F.) se
transforman en las cadenas de caracteres ".T." y ".F."
respectivamente.
Numeric
(incluye los tipos
de datos
Double, Float o
Integer)
Se quitan los ceros a la izquierda de la parte decimal de un
valor numrico. Si el valor numrico es un nmero entero,
no se incluye un punto decimal en el valor transformado
(por ejemplo, 4,0 se convierte en 4). Si el valor numrico es
menor que 1 pero mayor que -1, se incluye un cero antes
del signo decimal (por ejemplo, ,4 se transforma en 0,4).
General Devuelve "Gen" si el campo general contiene un objeto;
devuelve "gen" si el campo general no contiene un objeto.
Memo No se realiza ninguna transformacin.
EjempIo de TRANSFORM( ) (Funcin)
STORE 12.34 TO gnPrice
CLEAR
? TRANSFORM(gnPrice, '$$$$.99') && Muestra $12.34
TRIM( ) (Funcin)
Devuelve la expresin de caracteres especificada despus de eliminar todos los
espacios en blanco finales.
Sintaxis: TRIM(cExpresin)
Tipos devueItos: Character
Argumentos: cExpresin
Instituto de Educacion Superior 'San Pedro'
Especifica la expresin de caracteres de la cual TRIM( ) elimina
todos los espacios en blanco finales.
Comentarios: TRIM( ) es idntica a RTRIM( ).
EjempIo de TRIM( ) (Funcin)
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'Data\testdata')
USE customer && Abre la tabla Customer.
CLEAR
? 'El contacto para '+ TRIM(company) + ' es ' + contact
TXTWIDTH( ) (Funcin)
Devuelve la longitud de una expresin de caracteres con respecto al ancho promedio
de carcter de una fuente.
Sintaxis: TXTWIDTH(cExpresin [, cNombreFuente, nTamaoFuente [,
cEstiloFuente]])
Tipos devueItos: Numeric
Argumentos: cExpresin
Especifica una expresin de tipo carcter cuya longitud devuelve
TXTWIDTH( ). Si slo incluye cExpresin, se devuelve la longitud de
la expresin de tipo Character para la fuente actual de la ventana
principal de Visual FoxPro o de la ventana de resultado activa. Una
fuente no proporcional siempre devuelve un valor igual al nmero de
caracteres de cExpresin.
Incluya los argumentos opcionales cNombreFuente,
nTamaoFuente y cEstiloFuente para determinar la longitud de una
expresin de caracteres con una fuente, un tamao de fuente o un
estilo de fuente especficos.
cNombreFuente
Especifica el nombre de la fuente. Incluya cNombreFuente para
devolver la longitud de una expresin de caracteres con una fuente
especfica.
nTamaoFuente
Especifica el nmero que corresponde al tamao en puntos de la
fuente. Incluya nTamaoFuente para devolver la longitud de una
expresin de caracteres con un tamao de fuente concreto.
cEstiloFuente
Especifica un estilo especial de fuente para la expresin de
caracteres. cEstiloFuente es un cdigo de estilo de fuente
Instituto de Educacion Superior 'San Pedro'
especificado por un carcter o un conjunto de caracteres. Se
utilizar el estilo de fuente Normal si no se incluye cEstiloFuente.
stos son los caracteres para cada estilo de fuente:
Carcter EstiIo de fuente
B Negrita
I Cursiva
N Normal
O Contorno
Q Opaco
S Sombra
- Tachado
T Transparente
U Subrayado
Puede incluir ms de un carcter para especificar una combinacin
de estilos de fuente. Por ejemplo, BI especifica un estilo de fuente
Negrita y Cursiva.
El comando siguiente muestra un mensaje con la fuente Courier
normal de 24 puntos, centrado sobre la ventana principal de Visual
FoxPro.
@ 25,(WCOLS( )-TXTWIDTH(Hola!','Courier ',24)* ;
FONTMETRIC(6,'Courier ',24)/FONTMETRIC(6))/2 ;
SAY 'Hola!' FONT 'Courier ',24
Comentarios: TXTWIDTH( ) devuelve el nmero de caracteres que ocupa una
expresin de caracteres cExpresin, basando en el ancho promedio de carcter de
una fuente especificada (el ancho promedio de carcter de una fuente se llama fxel).
Utilice FONTMETRIC(6) para determinar el ancho promedio de carcter de una fuente.
Si no incluye una fuente en TXTWIDTH( ), el valor que devuelve TXTWIDTH( ) est
determinado por la fuente actual de la ventana principal de Visual FoxPro si el
resultado se dirige a la ventana principal de Visual FoxPro cuando se ejecuta
TXTWIDTH( ). Si el resultado se est dirigiendo a una ventana definida por el usuario,
el valor devuelto viene determinado por la fuente actual de la ventana.
TYPE( ) (Funcin)
Evala una expresin de caracteres y devuelve el tipo de datos de su contenido.
Sintaxis: TYPE(cExpresin)
Tipos devueItos: Character
Instituto de Educacion Superior 'San Pedro'
Argumentos: cExpresin
Especifica la expresin que se va a evaluar, que puede ser una
variable o un campo, un campo de memoria o cualquier otra
expresin. La expresin tiene que pasarse como una cadena de
caracteres; escriba entre comillas los nombres de variables de
memoria, campos, etc. Si no escribe la expresin entre comillas, la
funcin TYPE( ) devolver "U (expresin indefinida).
Comentarios: La tabla siguiente enumera los caracteres que devuelve TYPE( ) y
sus tipos de datos correspondientes:
Tipo de datos Carcter
devueIto
Carcter C
Numeric (tambin Float, Double e
Integer)
N
Currency Y
Date D
DateTime T
Logical L
Memo M
Object O
General G
Screen (creado con SAVE
SCREEN)
S
Tipo de expresin no definido U
EjempIo de TYPE( ) (Funcin)
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'Data\testdata')
USE customer && Abre la tabla Customer.
nTest = 1.01
cTest = "Cadena"
CLEAR
? TYPE('customer.contact') && Muestra C
? TYPE('(12 * 3) + 4') && Muestra N
? TYPE('DATE( )') && Muestra D
? TYPE('.F. OR .T.') && Muestra L
? TYPE('ANSWER=42') && Muestra U
? TYPE('$19.99') && Muestra Y
? TYPE('nTest') && Muestra N
? TYPE('cTest') && Muestra C
Instituto de Educacion Superior 'San Pedro'
UPPER( ) (Funcin)
Devuelve la expresin de caracteres especificada en maysculas.
Sintaxis: UPPER(cExpresin)
Tipos devueItos: Character
Argumentos: cExpresin
Especifica la expresin de caracteres que UPPER( ) convierte a
maysculas.
Comentarios: Cada letra minscula (a z) de la expresin de caracteres se convierte
en mayscula (A Z) en la cadena devuelta. Todos los dems caracteres permanecen
inalterados.
EjempIo de UPPER( ) (Funcin)
CLEAR
? UPPER('abcdefgh') && Muestra ABCDEFGH.
VARTYPE( ) (Funcin)
Devuelve el tipo de datos de una expresin.
Sintaxis: VARTYPE(eExpresin [, lTipoDatoNulo])
Tipos devueItos: Character
Argumentos: eExpresin
Especifica la expresin de la que se devuelve el tipo de datos.
VARTYPE( ) devuelve un nico carcter que indica el tipo de datos
de la expresin. La siguiente tabla presenta la lista de caracteres
que VARTYPE( ) devuelve para cada tipo de datos:
Carcter
devueIto
Tipo de datos
C Character o Memo
N Numeric, Integer, Float o Double
Y Currency
L Logic
O Object
G General
Instituto de Educacion Superior 'San Pedro'
D Date
T DateTime
X Null
U Unknown
Nota Si eExpresin es una matriz, se evala el primer elemento de
la misma.
lTipoDatoNulo
Especifica si VARTYPE( ) devuelve el tipo de datos cuando
eExpresin contiene el valor nulo. Si lTipoDatoNulo es verdadero
(.T.), VARTYPE( ) devuelve el tipo de datos de eExpresin. Si
lTipoDatoNulo es falso (.F.) o se omite, VARTYPE( ) devuelve 'X',
que indica que eExpresin contiene el valor nulo.
Comentarios: VARTYPE( ) es similar a la funcin TYPE( ), pero VARTYPE( ) es
ms rpida y no requiere que se incluya entre comillas la expresin de la que se
devuelve el tipo de datos.
VARTYPE( ) devuelve "U si especifica una variable que no existe.