home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
CD-ROM Aktief 1995 #3
/
CDA3.iso
/
clipper
/
fs35.zip
/
FAST-SPA.MAN
< prev
next >
Wrap
Text File
|
1995-01-23
|
346KB
|
16,235 lines
Manu Roibal Prieto
Sagastagoitia, 13 2º B izq
Barakaldo 48903. Bizkaia. Spain.
Voice phone 34-4-4992660 FAX/BBS 34-4-4605666
Printout of `FAST.lib 3.50 » Referencia'
Printed by the Norton Guides Printer v2.0 (NGP.EXE).
- Page 1 -
Norton Guide: `FAST.lib 3.50 » Referencia'
Menu List: FAST.lib 1, Tipos de Datos
Aquí muestro algunas funciones sencillas para manejar variables y
tipos de datos. Espero que os guste.
──────────────────────────────────────────────────────────────────────────────
Conversiones
──────────────────────────────────────────────────────────────────────────────
ASCIIToEBCDIC()
Convierte una cadena ASCII a EBCDIC
Sintaxis:
ASCIIToEBCDIC( cString ) -> cNewString
cString : La cadena a convertir
Descripción:
Convierte una cadena ASCII a notación EBCDIC.
Valor de Retorno:
Una cadena nueva en notación EBCDIC.
Ejemplo:
? ASCIIToEBCDIC( "Hello world" )
See Also: "EBCDICToASCII()"
Byte2Hex()
Convierte un byte a una cadena hexadecimal
Sintaxis:
Byte2Hex ( cByte ) -> cHexadecimal
cByte : Byte a convertir.
Descripción:
Convierte un byte a una cadena hexadecimal.
- Page 2 -
Norton Guide: `FAST.lib 3.50 » Referencia'
Valor de Retorno:
Número hexadecimal o NIL si cByte no es un caracter.
Ejemplo:
? Byte2Hex ( "O" ) // "4F"
See Also: "Byte2Bin()"
Byte2Bin()
Convierte un byte a una cadena binaria
Sintaxis:
Byte2Bin ( cByte ) -> cBinary
cByte : Byte a convertir.
Descripción:
Convierte un byte a una cadena binaria.
Valor de Retorno:
Número binario o NIL si cByte no es un caracter.
Ejemplo:
? Byte2Hex ( "O" ) // "01001111"
See Also: "Byte2Hex()"
ByteAnd()
Hace un And de dos bytes bit a bit
Sintaxis:
ByteAnd ( cByte1, cByte2 ) -> cNewByte
cByte1 y cByte2 : Bytes para hacer el And.
Descripción:
Hace un And entre los dos bytes especificados y devuelve el
nuevo byte como resultado.
Valor de Retorno:
El byte resultante del And o NIL si cualquiera de los dos bytes
- Page 3 -
Norton Guide: `FAST.lib 3.50 » Referencia'
de entrada no son de tipo caracter.
Ejemplo:
? ByteAnd ( "O", "A" )
See Also: "ByteNot()" "ByteOr()"
ByteNot()
Hace un Not del byte, bit a bit
Sintaxis:
ByteNot ( cByte ) -> cnewbyte
cByte : Byte para hacer el Not.
Descripción:
Hace un Not del byte especificado y devuelve el nuevo byte con
el resultado.
Valor de Retorno:
El byte resultante del Not o NIL si cualquiera de los bytes de
entrada no es de tipo caracter
Ejemplo:
? ByteNot ( "O" )
See Also: "ByteAnd()" "ByteOr()"
ByteOr()
Hace un Or de dos bytes bit a bit
Sintaxis:
ByteOr ( cByte1, cByte2 ) -> cnewbyte
cByte1 y cByte2 : Bytes para hacer el Or.
Descripción:
Hace un Or entre los dos bytes especificados y devuelve el
nuevo byte con el resultado.
Valor de Retorno:
El resultado de Or o NIL si cualquiera de los dos bytes no
es de tipo caracter.
- Page 4 -
Norton Guide: `FAST.lib 3.50 » Referencia'
Ejemplo:
? ByteOr ( "O", "A" )
See Also: "ByteAnd()" "ByteNot()"
Color2Num()
Convierte una cadena de color en un color numerico
Sintaxis:
Color2Num ( cColor ) -> nColor
cColor : El color en formato cadena
Descripción:
Convierte un color en formato cadena en un formato numérico.
Si el parametro de entrada es una cadena con mas de un color,
el estilo "W/B, B/W...", es devuelto al valor numérico del
primer elemento.
Valor de Retorno:
Tipo de color en formato numérico.
Ejemplo:
? Color2Num ( "W+/B" ) // 31
See Also: "Num2Color()"
Dec2Bin()
Convierte un número decimal a una cadena binaria.
Sintaxis:
Dec2Bin ( nDec ) -> cBinary
nDec : El número decimal a convertir.
Descripción:
Convierte un número en base decimal a una cadena en base binario.
Valor de Retorno:
La cadena binaria.
Ejemplo:
- Page 5 -
Norton Guide: `FAST.lib 3.50 » Referencia'
? Dec2Bin ( 10 ) // "1010"
See Also: "Hex2Dec()" "Byte2Hex()" "Byte2Bin()"
DelBit()
Desactiva un bit seleccionado de un byte
Sintaxis:
DelBit ( cByte, nBitPos ) -> cNewByte
cByte : Byte a desactivar.
nBitPos : Posición del bit dentro del byte.
Descripción:
Pone a 0 un bit seleccionado de un byte y devuelve el nuevo byte.
Valor de Retorno:
Nuevo byte o NIL si cByte no es un caracter o nBitPos si no es
numérico.
Ejemplo:
cNewByte := DelBit ( "C", 2 )
See Also: "IsBit()" "SetBit()"
EBCDICToASCII()
Convierte una cadena EBCDIC a ASCII
Sintaxis:
EBCDICToASCII( cString ) -> cNewString
cString : La cadena a convertir
Descripción:
Convierte una cadena EBCDIC a notación ASCII.
Valor de Retorno:
Una nueva cadena en notación ASCII.
Ejemplo:
? EBCDICToASCII( "Hello world" )
- Page 6 -
Norton Guide: `FAST.lib 3.50 » Referencia'
See Also: "ASCIIToEBCDIC()"
Hex2Dec()
Convierte una cadena hexadecimal a un número decimal
Sintaxis:
Hex2Dec ( cHex ) -> nDec
cHex : La cadena hexadecimal a convertir.
Descripción:
Convierte una cadena en base hexadecimal a un entero en
base decimal.
Valor de Retorno:
El entero decimal.
Ejemplo:
? Hex2Dec ( "FA" )
See Also: "Dec2Bin()" "Byte2Hex()" "Byte2Bin()"
Inter()
Intercambia dos variables
Sintaxis:
Inter( xVar1, xVar2 ) -> NIL
xVar1 y xVar2 : Las variables a intercambiar
Descripción:
Intercambia el valor de las variables, que tienen que ser indicadas
de la misma forma que un array {}.
Valor de Retorno:
Nada.
Ejemplo:
cVar1 := "Hello"
cVar2 := "Good bye"
Inter( @cVar1, @cVar2 )
? cVar1 // "Good bye"
- Page 7 -
Norton Guide: `FAST.lib 3.50 » Referencia'
? cVar2 // "Hello"
IsBit()
Determina si el Bit es 1 o 0
Sintaxis:
IsBit ( cByte, nBitPos ) -> lIsOn
cByte : El byte a tratar.
nBitPos : La posición del bint dentro del byte.
Descripción:
Devuelve un lógico indicando si el bit seleccionado dentro del
del byte es 1 o 0.
Valor de Retorno:
Un lógico indicando la respuesta o NIL si cByte no es un
caracter o si nBitPos no es numérico.
Ejemplo:
lEstaA_1 := IsBit ( "C", 2 )
See Also: "DelBit()" "SetBit()"
Num2Color()
Convierte un color numérico a una cadena de color
Sintaxis:
Color2Num ( nColor ) -> cColor
nColor : El color en formato numérico
Descripción:
Convierte un color en formato numérico a formato de cadena. El
color numérico tiene que ser un valor entre 0 y 255.
Valor de Retorno:
El color en formato cadena o NIL si el número es mayor que 255
o mas pequeño que 0.
Ejemplo:
? Num2Color ( 31 ) // "W+/B"
- Page 8 -
Norton Guide: `FAST.lib 3.50 » Referencia'
See Also: "Color2Num()"
SetBit()
Activa un bit seleccionado de un byte
Sintaxis:
SetBit ( cByte, nBitPos ) -> cNewByte
cByte : El byte a tratar.
nBitPos : La posición del bit dentro del byte.
Descripción:
Pone a 1 un bit seleccionado de un byte devolviendo el nuevo byte
Valor de Retorno:
El nuevo byte o NIL si cByte no es un caracter o nBitPos si no es
numérico.
Ejemplo:
cNewByte := SetBit ( "C", 2 )
See Also: "DelBit()" "IsBit()"
Purge()
Purga el valor de una variable
Sintaxis:
Purge ( xVar ) -> xNewVar
xVar : La variable a purgar
Descripción:
Devuelve un valor del parámetro purgado, es decir, si xVar es
numérico, devuelve 0, si es caracter, devuelve espacios, si es
fecha " / / ", si es array {}.
Valor de Retorno:
El valor purgado.
Ejemplo:
cNew := Purge ( "Hello" ) // " "
cMax := Purge ( { "Hello" } ) // {}
cMax := Purge ( 123 ) // 0
- Page 9 -
Norton Guide: `FAST.lib 3.50 » Referencia'
cMax := Purge ( .T. ) // .F.
Imperial y Metric
──────────────────────────────────────────────────────────────────────────────
nAcre2Ha()
Acres a hectareas
Sintaxis:
nAcre2Ha( nNumber ) -> nResul
nNumber : es el valor en acres.
Descripción:
Convierte un area de acres en hectareas.
Valor de Retorno:
El valor de nNumber convertido en hectareas.
Ejemplo:
? nAcre2Ha( 5 ) // 2.0234
See Also: "nHa2Acre()"
nAcre2M()
Acres a metros
Sintaxis:
nAcre2M( nNumber ) -> nResul
nNumber : es el valor en acres.
Descripción:
Convierte un area de acres a metros.
Valor de Retorno:
El valor de nNumber convertido en metros.
Ejemplo:
? nAcre2M( 5 )
- Page 10 -
Norton Guide: `FAST.lib 3.50 » Referencia'
See Also: "nM2Acre()"
nCm2Inch()
Centímtros a pulgadas
Sintaxis:
nCm2Inch( nNumber ) -> nResul
nNumber : es el valor en centímetros.
Descripción:
Convierte una longitud de centímetros a pulgadas.
Valor de Retorno:
El valor de nNumber convertido en pulgadas.
Ejemplo:
? nCm2Inch( 30 ) // 11.811
See Also: "nInch2Cm()"
nCC2Inch()
Centímetros cúbicos a pulgadas cúbicas
Sintaxis:
nCC2Inch( nNumber ) -> nResul
nNumber : es el valor en centímetros cúbicos.
Descripción:
Convierte un volumen de centímetros cúbicos a pulgadas cúbicas.
Valor de Retorno:
El valor de nNumber convertido a pulgadas cúbicas.
Ejemplo:
? nCC2Inch( 25 ) // 1.525
See Also: "nInch2CC()"
nCF2Ltr()
- Page 11 -
Norton Guide: `FAST.lib 3.50 » Referencia'
Pies cúbicos a litros
Sintaxis:
nCF2Ltr( nNumber ) -> nResul
nNumber : es el valor en pies cúbicos.
Descripción:
Convierte un volumen de pies cúbicos a litros.
Valor de Retorno:
El valor de nNumber convertido a litros.
Ejemplo:
? nCF2Ltr( 2 ) // 56.657
See Also: "nLtr2CF()"
nInch2CC()
Pulgadas cúbicas a centímetros cúbicos
Sintaxis:
nInch2CC( nNumber ) -> nResul
nNumber : es el valor en pulgadas cúbicas.
Descripción:
Convierte un volumen de pulgadas cúbicas a centímetros cúbicos.
Valor de Retorno:
El valor de nNumber convertido a centímetros cúbicos.
Ejemplo:
? nInch2CC( 3 ) // 49.16
See Also: "nCC2Inch()"
nCm2CYd()
Metros cúbicos a yardas cúbicas
Sintaxis:
- Page 12 -
Norton Guide: `FAST.lib 3.50 » Referencia'
nCm2CYd( nNumber ) -> nResul
nNumber : es el valor en metros cúbicos.
Descripción:
Convierte un volumen de metros cúbicos a yardas cúbicas.
Valor de Retorno:
El valor de nNumber convertido a yardas cúbicas.
Ejemplo:
? nCm2CYd( 5 ) // 6.54
See Also: "nCYd2Cm()"
nCYd2Cm()
Yardas cúbicas a metros cúbicos
Sintaxis:
nCYd2Cm( nNumber ) -> nResul
nNumber : es el valor en yardas cúbicas.
Descripción:
Convierte un volumen en yardas cúbicas a metros cúbicos.
Valor de Retorno:
El valor de nNumber convertido en metros cúbicos.
Ejemplo:
? nCYd2Cm( 7 ) // 5.3522
See Also: "nCm2CYd()"
nGal2Ltr()
Galones a litros
Sintaxis:
nGal2Ltr( nNumber ) -> nResul
nNumber : es el valor en galones.
Descripción:
- Page 13 -
Norton Guide: `FAST.lib 3.50 » Referencia'
Convierte un volumen en galones a litros.
Valor de Retorno:
El valor de nNumber convertido a litros.
Ejemplo:
? nGal2Ltr( 2 ) // 9.0909
See Also: "nLtr2Gal()"
nGr2Oz()
Gramos a onzas.
Sintaxis:
nGr2Oz( nNumber ) -> nResul
nNumber : es el valor en gramos.
Descripción:
Convierte un peso en gramos a onzas.
Valor de Retorno:
El valor de nNumber convertido en onzas.
Ejemplo:
? nGr2Oz( 50 ) // 1.765
See Also: "nOz2Gr()"
nHa2Acre()
Hectareas a acres
Sintaxis:
nHa2Acre( nNumber ) -> nResul
nNumber : es el valor en hectareas.
Descripción:
Convierte un área de hectareas a acres.
Valor de Retorno:
- Page 14 -
Norton Guide: `FAST.lib 3.50 » Referencia'
El valor de nNumber convertido en acres.
Ejemplo:
? nHa2Acre(5) // 12.3555
See Also: "nAcre2Ha()"
nInch2Cm()
Pulgadas a centímetros
Sintaxis:
nInch2Cm( nNumber ) -> nResul
nNumber : es el valor en pulgadas.
Descripción:
Convierte una longitud en pulgadas a centímetros.
Valor de Retorno:
El valor de nNumber convertido a centímetros.
Ejemplo:
? nInch2Cm( 12 ) // 30.48
See Also: "nCm2Inch()"
nKg2Lb()
Kilogramos a libras
Sintaxis:
nKg2Lb( nNumber ) -> nResul
nNumber : es el valor en kilogramos.
Descripción:
Convierte un peso en kilogramos a libras.
Valor de Retorno:
El valor de nNumber convertido a libras.
Ejemplo:
? nKg2Lb(5) // 11.023
- Page 15 -
Norton Guide: `FAST.lib 3.50 » Referencia'
See Also: "nLb2Kg()"
nLb2Kg()
Libras a kilogramos
Sintaxis:
nLb2Kg( nNumber ) -> nResul
nNumber : es el valor en libras.
Descripción:
Convierte un peso en libras a kilogramos.
Valor de Retorno:
El valor de nNumber convertido a kilogramos.
Ejemplo:
? nLb2Kg(4) // 1.8144
See Also: "nKg2Lb()"
nLtr2CF()
Litros a pies cúbicos
Sintaxis:
nLtr2CF( nNumber ) -> nResul
nNumber : es el valor en litros.
Descripción:
Convierte un volumen en litros a pies cúbicos.
Valor de Retorno:
El valor de nNUmber convertido a pies cúbicos.
Ejemplo:
? nLtr2CF( 50 ) // 1.765
See Also: "nCF2Ltr()"
nLtr2Gal()
- Page 16 -
Norton Guide: `FAST.lib 3.50 » Referencia'
Litros a galones
Sintaxis:
nLtr2Gal( nNumber ) -> nResul
nNumber : es el valor en litros.
Descripción:
Convierte un volumen en litros a galones.
Valor de Retorno:
El valor de nNumber convertido a galones.
Ejemplo:
? nLtr2Gal( 10 ) // 2.2
See Also: "nGal2Ltr()"
nM2Acre()
Metros a acres
Sintaxis:
nM2Acre( nNumber ) -> nResul
nNumber : es el valor en metros.
Descripción:
Convierte un area de metros a acres.
Valor de Retorno:
El valor de nNumber convertido a acres.
Ejemplo:
? nM2Acre(5)
See Also: "nAcre2M()"
nMt2Yd()
Metros a yardas
Sintaxis:
- Page 17 -
Norton Guide: `FAST.lib 3.50 » Referencia'
nMt2Yd( nNumber ) -> nResul
nNumber : es el valor en metros.
Descripción:
Convierte una longitud en metros a yardas.
Valor de Retorno:
El valor de nNumber convertido a yardas.
Ejemplo:
? nMt2Yd( 8 ) // 8.7488
See Also: "nYd2Mt()"
nOz2Gr()
Onzas a gramos
Sintaxis:
nOz2Gr( nNumber ) -> nResul
nNumber : es el valor en onzas.
Descripción:
Convierte un peso en onzas a gramos.
Valor de Retorno:
El valor de nNumber convertido a gramos.
Ejemplo:
? nOz2Gr( 4 ) // 113.31
See Also: "nGr2Oz()"
nYd2Mt()
Yardas a metros
Sintaxis:
nYd2Mt( nNumber ) -> nResul
nNumber : es el valor en yardas.
Descripción:
- Page 18 -
Norton Guide: `FAST.lib 3.50 » Referencia'
Convierte una longitud en yardas a metros.
Valor de Retorno:
El valor de nNumber convertido a metros.
Ejemplo:
? nYd2Mt( 5 ) // 4.5721
See Also: "nMt2Yd()"
Array16
──────────────────────────────────────────────────────────────────────────────
Add16()
Añade un elemento en un array16
Sintaxis:
Add16 ( aArray, xValue ) -> NIL
aArray : El array16 previamente creado
xValue : El valor del nuevo elemento
Descripción:
Añade un elemento al final de un array16 y lo inicializa
con el valor xValue si este es especificado.
Valor de Retorno:
Nada.
Ejemplo:
a16 := New16 ( 15000, 0 )
Add16 ( a16, 0 ) // añade un nuevo elemento
See Also: "Get16()" "Len16()" "New16()" "Scan16()" "Set16()"
Get16()
Devuelve un elemento de un array16
Sintaxis:
Get16 ( aArray, nPos ) -> NIL
- Page 19 -
Norton Guide: `FAST.lib 3.50 » Referencia'
aArray : El array16 previamente creado
nPos : La posición a devolver
Descripción:
Devuelve el valor de la posición de un array16. Si nPos no
es especificado o si es mayor que el número de elementos
del array16, la función devuelve NIL.
Valor de Retorno:
El valor de la posición especificada o NIL si nPos no es un
parámetro válido.
Ejemplo:
a16 := New16 ( 15000, 0 )
? Get16 ( a16, 1 ) // Seguro que devuelve 0
See Also: "Add16()" "Len16()" "New16()" "Scan16()" "Set16()"
Len16()
Devuelve la longitud de array16
Sintaxis:
Len16 ( aArray ) -> nLen
aArray : El array16 previamente creado
Descripción:
Devuelve la longitud o el número de elementos de un array16.
Valor de Retorno:
El número de elementos del array16.
Ejemplo:
a16 := New16 ( 15000, 0 )
Add16 ( a16, 0 )
? Len16 ( a16 ) // 15001
See Also: "Add16()" "Get16()" "New16()" "Scan16()" "Set16()"
bNew16()
Crea una estructura de arrays con 16 millones de elementos
Sintaxis:
- Page 20 -
Norton Guide: `FAST.lib 3.50 » Referencia'
New16 ( nNumItems, xInit ) -> aArray
nNumItems : El número de elementos del array
xInit : El valor inicial de los elementos del array
Descripción:
Crea una estructura de un nuevo tipo de datos que deseamos
bautizar como array16 en honor de sus 16 millones de elementos.
Actualmente, si la memoria disponible lo admite, lo cual dudo,
podríamos obtener 16.777.216 elementos.
Valor de Retorno:
El array generado.
Ejemplo:
New16 ( 125000, 0 ) // crea un array de 125 elementos
// inicializados a 0
See Also: "Add16()" "Get16()" "Len16()" "Scan16()" "Set16()"
Scan16()
Busca un elemento en un array16
Sintaxis:
Scan16 ( aArray, xSearch [, nStart] ) -> nPos
aArray : El array16 creado previamente
xSearch : El valor a buscar dentro del array
nStart : El valor inicial de la posición donde comenzar la
busqueda. Por defecto es el primer elemento
Descripción:
Busca un elemento en un array16 y devuelve su posición.
Valor de Retorno:
La posición donde el elemento es encontrado o 0 si no se
encuentra.
Ejemplo:
a16 := New16 ( 15000, 0 )
Add16 ( a16, 1 )
? Len16 ( a16 ) // 15001
? Scan ( a16, 1 ) // Devuelve también 15001
- Page 21 -
Norton Guide: `FAST.lib 3.50 » Referencia'
See Also: "Add16()" "Get16()" "Len16()" "New16()" "Set16()"
Set16()
Pone un valor en una posición del array16
Sintaxis:
Set16 ( aArray, nPos, xValue ) -> NIL
aArray : El array previamente creado
nPos : La posición del array a modificar
xValue : El nuevo valor de la posición especificada
Descripción:
Pone un valor a un elemento de un array16. El valor de nPos
tiene que ser igual o menor que el número de elementos del
array16.
Valor de Retorno:
Nada.
Ejemplo:
a16 := New16 ( 15000, 0 )
Set16 ( a16, 100, "Hello" ) // Ahora el elemento 100 es "hello"
See Also: "Add16()" "Get16()" "Len16()" "New16()" "Scan16()"
Array
──────────────────────────────────────────────────────────────────────────────
aCar2Arr()
Convierte una cadena o memo a un array
Sintaxis:
aCar2Arr ( cMemStr, cSep ) -> aArray
cMemStr : La cadena o memo a tratar
cSep : El elemento separador
Descripción:
Convierte una cadena o meomo a un array utilizando un caracter
como separador dentro de la cadena.
- Page 22 -
Norton Guide: `FAST.lib 3.50 » Referencia'
Valor de Retorno:
El array generado.
Ejemplo:
aCar2Arr ( "Fast,Best", "," ) // { "Fast", "Best" }
aCar2Arr ( "Best@Fast", "@" ) // { "Best", "Fast" }
aMaxArr()
Devuelve el valor máximo de un array
Sintaxis:
aMaxArr ( aArray ) -> xMax
aArray : El array a tratar
Descripción:
Devuelve el valor máximo de un array especificado por el tipo de
datos. Si es un array caracter, devuelve la mayor cadena y si es
un array numérico devuelve el mayor número...
Valor de Retorno:
El valor máximo o 0 si el array está vacío
Ejemplo:
nMax := aMaxArr ( { 2, 3, 1, 9, 7 } ) // 9
cMax := aMaxArr ( { "Good", "Bad" } ) // "Good"
See Also: "aMinArr()"
aMinArr()
Devuelve el valor mínimo de un array
Sintaxis:
aMinArr ( aArray ) -> xMax
aArray : El array a tratar
Descripción:
Devuelve el valor mínimo de un array especificado por el tipo de
datos. Si es un array caracter, devuelve la cadena más pequeña y
si es un array numérico devuelve el número más pequeño.
Valor de Retorno:
- Page 23 -
Norton Guide: `FAST.lib 3.50 » Referencia'
El valor mínimo o 0 si el array está vacío.
Ejemplo:
nMax := aMinArr ( { 2, 3, 1, 9, 7 } ) // 1
cMax := aMinArr ( { "Bad", "Good" } ) // "Bad"
See Also: "aMaxArr()"
aDimArr()
Devuelve el número de dimensiones de un array
Sintaxis:
aDimArr ( aArray ) -> nDim
aArray : El array a tratar
Descripción:
Devuelve el número de dimensiones de un array. El array tiene que
ser homogéneo desde que usa la primera posición para calcular las
dimensiones.
Valor de Retorno:
Las dimensiones del array.
Ejemplo:
nMax := aDimArr ( { 2, 3, 1, 9, 7 } ) // 1
nMax := aDimArr ( { { 12, 12 }, { 1, 1 } } ) // 2
See Also: "aMaxArr()" "aMinArr()"
RestArray()
Recupera un fichero array
Sintaxis:
RestArray( cFile, @nError ) -> aArray
cFile : El fichero a recuperar
nError : El código de error devuelto por DOS. 0 si no hay error.
Descripción:
Recupera cualquier clase de dato de array excepto los objetos.
Valor de Retorno:
- Page 24 -
Norton Guide: `FAST.lib 3.50 » Referencia'
El array recuperado.
Ejemplo:
aArray := RestArray ( "Fast.arr", @nErr )
If nErr == 0
Message ( "Ok" )
Else
Message ( "DOS error number " + Str ( nErr ) )
EndIf
See Also: "SaveArray()"
SaveArray()
Salva un array a un fichero
Sintaxis:
SaveArray( aArray, cFile, @nError ) -> NIL
aArray : El array a salvar
cFile : El fichero a crear
nError : El código de error devuelto por DOS. 0 si no hay error.
Descripción:
Salva cualquier clase de arry excepto el lógico para los objetos.
Valor de Retorno:
Nada.
Ejemplo:
SaveArray( { 23, "Hello world", { 12, 32 } }, "Fast.arr", @nErr )
If nErr == 0
Message ( "Ok" )
Else
Message ( "DOS error number " + Str ( nErr ) )
EndIf
See Also: "RestArray()"
Date
──────────────────────────────────────────────────────────────────────────────
cGetMonth()
- Page 25 -
Norton Guide: `FAST.lib 3.50 » Referencia'
Devuelve el mes especificado.
Sintaxis:
cGetMonth( nMonth ) -> cMonth
nMonth : El número de mes de 1 a 12
Descripción:
Devuelve el mes especificado en formato caracter.
Valor de Retorno:
El mes en modo caracter.
Ejemplo:
? cGetMonth ( 4 ) // April en versión internacional o
// Abril en versión española
See Also: "dToDMY()" "dAddMonth()" "lLeap()"
dToDMY()
Convierte el tipo de dato Fecha a la cadena Dia/Mes/Año.
Sintaxis:
dToDMY( dDate ) -> cDate
dDate : Fecha a evaluar.
Descripción:
Devuelve una cadena con Dia/Mes/Año.
Valor de Retorno:
La fecha en formato cadena DD/MM/AA o DD/MM/AAAA.
Ejemplo:
? dToDMY ( Date() ) // 31/01/1993
See Also: "cGetMonth()" "dAddMonth()" "lLeap()" "dToMDY()"
dToMDY()
Convierte el tipo de dato Fecha a la cadena Mes/Dia/Año.
Sintaxis:
- Page 26 -
Norton Guide: `FAST.lib 3.50 » Referencia'
dToMDY( dDate ) -> cDate
dDate : Fecha a evaluar.
Descripción:
Devuelve una cadena con Mes/Dia/Año.
Valor de Retorno:
La fecha en formato cadena MM/DD/AA o MM/DD/AAAA.
Ejemplo:
? dToMDY ( Date() ) // 01/31/1993
See Also: "cGetMonth()" "dAddMonth()" "lLeap()" "dToDMY()"
dAddMonth()
Añade meses a la fecha y devuelve una nueva fecha
Sintaxis:
dAddMonth ( dDate, nMonths ) -> dNewDate
dDate : La fecha de comienzo.
nMonths : El número de meses a añadir.
Descripción:
Añade nMonths a dDate y devuelve la nueva fecha.
Valor de Retorno:
La nueva fecha.
Ejemplo:
? dAddMonth ( Date(), 8 )
See Also: "cGetMonth()" "dToDMY()" "lLeap()"
lLeap()
Devuelve un lógico indicando si es un año bisiesto
Sintaxis:
lLeap ( dDate ) -> lIsLeap
dDate : La fecha para determinar si es un año bisiesto o no.
- Page 27 -
Norton Guide: `FAST.lib 3.50 » Referencia'
Descripción:
El formato de _SET_FORMAT no afecta al resultado.
Valor de Retorno:
.T. si es bisiesto y .F. si no lo es.
Ejemplo:
? lLeap ( Date() )
See Also: "cGetMonth()" "dToDMY()" "dAddMonth()"
FirstDay()
Devuelve el primer día del mes
Sintaxis:
FirstDay ( dDate ) -> dFirstDay
dDate : La fecha cuyo mes va a ser procesado
Descripción:
Devuelve la fecha del primer día en la fecha especificada
o el mes del sistema.
Valor de Retorno:
Primer día de la fecha del mes.
Ejemplo:
? FirstDay() // 01/03/93
? FirstDay( cTod ( "22/01/92" ) ) // 01/01/92
See Also: "LastDay()"
Sec2days()
Convierte un número de segundos a días
Sintaxis:
Sec2days ( nSeconds ) -> nDays
nSeconds : El número de segundos a convertir
Descripción:
Devuelve el número especificado de segundos en días.
- Page 28 -
Norton Guide: `FAST.lib 3.50 » Referencia'
Valor de Retorno:
El número de días.
Ejemplo:
? Sec2Days ( 90000 ) // 1
LastDay()
Devuelve el último día del mes
Sintaxis:
LastDay ( dDate ) -> dLastDay
dDate : La fecha cuyo mes tiene que ser tratado
Descripción:
Devuelve el último día especificado del mes.
Valor de Retorno:
La fecha del último día del mes.
Ejemplo:
? LastDay() // 31/03/93
? LastDay( cTod ( "22/01/92" ) ) // 31/01/92
See Also: "FirstDay()"
SToD()
Convierte una cadena a fecha Clipper
Sintaxis:
SToD( cString ) -> dDate
cString : La cadena a convertir
Descripción:
Convierte una cadena a fecha Clipper.
Valor de Retorno:
Un valor fecha.
Ejemplo:
- Page 29 -
Norton Guide: `FAST.lib 3.50 » Referencia'
dDate := SToD( "19902103" )
? DToS( dDate ) // DToS() is a standard Clipper func.
Time
──────────────────────────────────────────────────────────────────────────────
TimeAMPM()
Devuelve la hora en el formato am/pm
Sintaxis:
TimeAMPM() -> cTime
Descripción:
Devuelve la hora del sistema en el formato 12 horas am/pm.
Valor de Retorno:
La cadena con la hora.
Ejemplo:
? TimeAMPM() // "11:21:19 pm"
Time2Time()
Devuelve la diferencia entre dos horas
Sintaxis:
Time2Time ( cTime1, cTime2 ) -> cDifferentHour
cTime1 : La primera hora o la hora de comienzo
cTime2 : La segunda hora o la hora final
Descripción:
cTime2 tiene que ser mayor que cTime1.
Valor de Retorno:
La diferencia entre ambas horas como una cadena.
Ejemplo:
? Time2Time ( "22:12:12", "23:12:13" ) // "01:00:01"
- Page 30 -
Norton Guide: `FAST.lib 3.50 » Referencia'
Numeric
──────────────────────────────────────────────────────────────────────────────
CompNumber()
Comprime y descomprime un número Clipper
Sintaxis:
CompNumber( xValue, lMode, nSize, nDecimals ) -> cCompress|nValue
xValue : El número a comprimir si lMode es .T. o el string a
descomprimir como número si lMode es .F.
lMode : .T. para comprimir y .F. para descomprimir
nSize : El tamaño del número. Por defecto 10 dígitos.
nDecimals : El número de decimales. Por defecto 0.
Descripción:
Comprime un número clipper devolviendo un string cuya longitud es
la mitad del número original.
Es ideal para ahorrar espacio en las bases de datos.
Valor de Retorno:
Un string con el número comprimido si lMode es .T. o el número
descomprimido si lMode es .F.
Ejemplo:
nNumber := 9876543210
? LEN( STR( nNumber ) ) // 10
? LEN( CompNumber( nNumber ) ) // 5
Cos()
Calcula un número coseno
Sintaxis:
Cos( nNumber ) -> nCos
nNumber : El número a calcular el coseno
Descripción:
Calcula un número coseno con un método numérico.
Atención!!
El número tiene que ser en radianes, no en grados.
- Page 31 -
Norton Guide: `FAST.lib 3.50 » Referencia'
Valor de Retorno:
El número coseno especificado o NIL si el número no se
especifica.
Ejemplo:
Cos( 0 ) // 1.00
See Also: "Deg2Rad()" "NumPi()" "Rad2Deg()" "Sin()"
CoSec()
Calcula un número cosecante
Sintaxis:
CoSec( nNumber ) -> nCoSec
nNumber : El número del cual calcular la cosecante
Descripción:
Calcula un número cosecante con un método numérico.
Atención!!
El número tiene que ser en radianes, no en grados.
Valor de Retorno:
El número cosecante especificado o NIL si el número no se
especifica.
Ejemplo:
CoSec( 0 ) // 1.00
See Also: "Cos()" "Deg2Rad()" "NumPi()" "Rad2Deg()"
CoTec()
Calcula un número cotangente
Sintaxis:
CoTan( nNumber ) -> nCoTan
nNumber : El número del cual calcular la cotangente
Descripción:
Calcula el número cotangente con un método numérico.
- Page 32 -
Norton Guide: `FAST.lib 3.50 » Referencia'
Atención!!
El número tiene que ser en radianes, no en grados.
Valor de Retorno:
El número cotangente especificado o NIL si el número no es
especificado.
Ejemplo:
CoTan( Deg2Rad ( 45 ) ) // 1.00
See Also: "Cos()" "Deg2Rad()" "NumPi()" "Rad2Deg()" "Sin()"
Deg2Rad()
Convierte de grados a radianes
Sintaxis:
Deg2Rad( nDegree ) -> nRadian
nDegree : El número en grados a convertir
Descripción:
Esta función convierte un valor numérico que especifica un angulo
de grados a radianes.
Valor de Retorno:
El número convertido a radianes o NIL si el número no es
especificado.
Ejemplo:
Deg2Rad( 180 ) // 3.141592
See Also: "Cos()" "NumPi()" "Rad2Deg()" "Sin()"
Exponent()
Eleva un número a una potencia dada
Sintaxis:
Exponent( nNumber, nExponent ) -> nNewNumber
nNumber : El número a elevar.
nExponent : La potencia a la que se elevará el número.
Descripción:
- Page 33 -
Norton Guide: `FAST.lib 3.50 » Referencia'
Eleva un número dado a una potencia dada. La potencia por
defecto es dos.
Valor de Retorno:
El número elevado.
Ejemplo:
Exponent( 10, 3 ) // 1000
Exponent( 10 ) // 100
See Also: "Factorial()" "Sum()"
Factorial()
Devuelve un número factorial
Sintaxis:
Factorial( nNumber ) -> nFactorial
nNumber : El número del cual calcular el factorial.
Descripción:
Calcula un número factorial que tiene que ser 0 o mayor que 0.
Valor de Retorno:
El número factorial especificado o NIL si el número es negativo.
Ejemplo:
Factorial( 4 ) // 24
See Also: "Exponent()" "Sum()"
Int2Roman()
Convierte un entero a notación romana
Sintaxis:
Int2Roman( nNumber ) -> cRomanNumber
nNumber : El número a convertir
Descripción:
Convierte un entero a notación romana. El número debe ser positivo.
- Page 34 -
Norton Guide: `FAST.lib 3.50 » Referencia'
Valor de Retorno:
Una cadena con el número en notación romana.
Ejemplo:
Int2Roman( 1217 ) // "MCCXVII"
Log10()
Devuelve un logaritmo en base 10
Sintaxis:
Log10( nNumber ) -> nLogNumber
nNumber : El número del cual calcular el logaritmo.
Descripción:
Devuelve un logaritmo en base 10 calculado con el uso de
logaritmos naturales.
Valor de Retorno:
El logaritmo en base 10 o NIL si el número es negativo.
Ejemplo:
Log10( 10 ) // 1
See Also: "LogX()"
LogX()
Devuelve el logaritmo en cualquier base
Sintaxis:
LogX( nNumber, nBase ) -> nLogNumber
nNumber : El número del cual calcular el logaritmo.
nBase : La base del logaritmo.
Descripción:
Devuelve el logaritmo en la base especificada.
Vea la función Log10(). Es una función separada ya que se
utiliza frecuentemente base 10.
Valor de Retorno:
- Page 35 -
Norton Guide: `FAST.lib 3.50 » Referencia'
El logaritmo en la base especificada o NIL si el número es
negativo.
Ejemplo:
LogX( 10, 10 ) // 1
See Also: "Log10()"
nRandom()
Genera un número aleatorio
Sintaxis:
nRandom ( nMax ) -> nNumber
nMax : El valor máximo que puede tomar el número.
Descripción:
Genera un número aleatorio entre 0 y el número maximo especificado
menos 1.
Si lo desea, un número aleatorio entre, por ejemplo, 2 y 5,
debería utilizar algo como esto: nVar := 2 + nRandom ( 3 )
Valor de Retorno:
El número aleatorio generado.
Ejemplo:
nRandom ( 100 ) // cualquier número entre 0-99
NumE()
Devuelve el número E
Sintaxis:
NumE() -> nNumber
Descripción:
Devuelve el número E, el cual puede ser muy valioso en cálculos
estadísticos y otras áreas de matemáticas y análisis numérico.
Valor de Retorno:
El número E.
Ejemplo:
- Page 36 -
Norton Guide: `FAST.lib 3.50 » Referencia'
NumE() // 2.7183
See Also: "NumPi()"
NumPi()
Devuelve el número PI
Sintaxis:
NumPi() -> nNumber
Descripción:
Deuelve el número PI, el cual puede ser muy valioso en cálculos
los estadísticos y otras áreas de matemáticas y análisis numérico.
Valor de Retorno:
El número PI.
Ejemplo:
NumPi() // 3.141592
See Also: "NumE()"
Rad2Deg()
Convierte radianes a grados
Sintaxis:
Rad2Deg( nRadian ) -> nDegree
nRadian : El número radian a convertir
Descripción:
Esta función convierte un valor numérico el cual especifica un
ángulo radian a grados.
Valor de Retorno:
El número convertido a grados o NIL si el número no es
especificado.
Ejemplo:
Rad2Deg( NumPi() ) // 180.00
See Also: "Deg2Rad()" "Cos()" "NumPi()" "Sin()"
- Page 37 -
Norton Guide: `FAST.lib 3.50 » Referencia'
Sum()
Devuelve la suma de un número
Sintaxis:
Sum( nNumber ) -> nSummation
nNumber : El número del cual se calcula la suma.
Descripción:
Calcula la suma de un número que tiene que ser 0 o mayor
que 0.
Valor de Retorno:
La suma de un número especificado o NIL si el número es
negativo.
Ejemplo:
Sum( 4 ) // 10
See Also: "Exponent()" "Factorial()"
Sec()
Calcula un número secante
Sintaxis:
Sec( nNumber ) -> nSec
nNumber : El número del cual calcular la secante
Descripción:
Calcula un número secante con un método numérico.
Atención!!
El número tiene que ser en radianes, no en grados.
Valor de Retorno:
El número secante especificado o NIL si el número no es
especificado.
Ejemplo:
Sec( Deg2Rad ( 90 ) ) // 1.00
See Also: "Deg2Rad()" "NumPi()" "Rad2Deg()" "Sin()"
- Page 38 -
Norton Guide: `FAST.lib 3.50 » Referencia'
Sin()
Calcula un número seno
Sintaxis:
Sin( nNumber ) -> nSin
nNumber : El número del cual calcular el seno
Descripción:
Calcula un número seno con un método numérico.
Atecnión!!
El número tiene que ser en radianes, no en grados.
Valor de Retorno:
El número seno especificado o NIL si el número no es
especificado.
Ejemplo:
Sin( NumPi() / 2 ) // 1.00
See Also: "Deg2Rad()" "Cos()" "NumPi()" "Rad2Deg()"
Tan()
Calcula un número tangente
Sintaxis:
Tan( nNumber ) -> nTan
nNumber : El número del cual calcular la tengente
Descripción:
Calcula un número tangente con un método numérico.
Atención!!
El número tiene que ser en radianes, no en grados.
Valor de Retorno:
El número tangente especificado o NIL si el número no es
especificado.
Ejemplo:
- Page 39 -
Norton Guide: `FAST.lib 3.50 » Referencia'
Sec( Deg2Rad ( 45 ) ) // 1.00
See Also: "Cos()" "Deg2Rad()" "NumPi()" "Rad2Deg()" "Sin()"
String
──────────────────────────────────────────────────────────────────────────────
AsciiAdd()
Suma o resta todos los elementos de una cadena
Sintaxis:
AsciiAdd( cString, nAdds ) -> cNewString
cString : La cadena a manejar
nAdds : El número a sumar
Descripción:
Suma o resta todos los elementos de una cadena y devuelve una
nueva cadena.
Valor de Retorno:
La nueva cadena.
Ejemplo:
? AsciiAdd( "0123456789", 1 ) // "123456789:"
? AsciiAdd( "0123456789", -1 ) // "/012345678"
See Also: "AsciiSum()"
AsciiSum()
Suma todos los elementos de una cadena
Sintaxis:
AsciiSum( cString ) -> nAdds
cString : La cadena a manejar
Descripción:
Suma todos los valores ascii de una cadena.
Valor de Retorno:
- Page 40 -
Norton Guide: `FAST.lib 3.50 » Referencia'
La suma de todos los valores ascii.
Ejemplo:
? AsciiSum( "AB" ) // 131
See Also: "AsciiAdd()"
At2()
Busca un número de casos en una cadena
Sintaxis:
At2( cSearch, cTarget [, nOcur] ) -> nPos
cSearch : El caracter de la subcadena a buscar
cTarget : El caracter de la cadena a buscar
nOcur : Número de casos, por defecto es 1
Descripción:
Los parámetros son los mismo que AT() del la librería
standard Clipper.lib excepto para nOcur que indica el número
de casos a devolver. Por defecto nOcur es 1. La función es
sensitiva a mayúsculas/minúsculas.
Valor de Retorno:
Lo mismo que AT().
Ejemplo:
? At2 ( "a", "Manu Roibal" ) // 2
? At2 ( "a", "Manu Roibal", 2 ) // 10
? At2 ( "a", "Manu RoibAl", 2 ) // 0
aToken()
Devuelve un array de palabras de una cadena
Sintaxis:
aToken( cString [, cSepara] ) -> aWords
cString : La cadena a tratar
cSepara : Una cadena con separadores de palabra válidos. Por
defecto ,;:. ?¿¡!()&/*+-%[]{}"
Descripción:
Trata una cadena como si fuese una frase, creando un array de
palabras contenidas en la cadena. Puede ser util para analizar
- Page 41 -
Norton Guide: `FAST.lib 3.50 » Referencia'
sintácticamente, pseudo-compiladores...
Valor de Retorno:
Un array de palabras.
Ejemplo:
aArray := aToken ( "Fast Library For Clipper" )
For nInd := 1 To Len ( aArray )
? aArray[ nInd ]
Next
See Also: "NumToken()" "Token()"
Capital()
Convierte la primera letra en mayúsculas
Sintaxis:
Capital( cString ) -> cNewString
cString : La cadena a convertir
Descripción:
Convierte toda la cadena de letras en minúsculas excepto la
primera letra de cada palabra las cuales son en mayúsculas.
Respeta espacios en la izquierda y en la derecha.
Valor de Retorno:
The capitalized a string.
Ejemplo:
? Capital ( " manu ROIBAL " ) // " Manu Roibal "
CharEven()
Devuelve una cadena con los bytes pares de otra cadena
Sintaxis:
CharEven( cString ) -> cNew
cString : La cadena a manejar
Descripción:
Devuelve una cadena con el bytes pares de la cadena especificada.
- Page 42 -
Norton Guide: `FAST.lib 3.50 » Referencia'
Valor de Retorno:
La nueva cadena.
Ejemplo:
? CharEven( "1234567890" ) // "24680"
See Also: "CharMix()" "CharOdd()"
CharMix()
Mezcla dos cadenas y genera otrar
Sintaxis:
CharMix( cStrEven, cStrOdd ) -> cNew
cStrEven : La primera cadena a manejar
cStrOdd : La segunda cadena a manejar
Descripción:
Mezcla dos cadenas especificadas y genera otra cadena.
Valor de Retorno:
La nueva cadena.
Ejemplo:
? CharMix( "02468", "13579" ) // "0123456789"
See Also: "CharEven()" "CharOdd()"
CharOdd()
Devuelve una cadena con los bytes impares de otra cadena
Sintaxis:
CharOdd( cString ) -> cNew
cString : La cadena a manejar
Descripción:
Devuelve una cadena con los bytes impares de la cadena
especificada.
Valor de Retorno:
La nueva cadena.
- Page 43 -
Norton Guide: `FAST.lib 3.50 » Referencia'
Ejemplo:
? CharOdd( "1234567890" ) // "13579"
See Also: "CharEven()" "CharMix()"
Expand()
Expande una cadena
Sintaxis:
Expand( cString [, cExpand] ) -> cNewString
cCadena : La cadena a expandir
cExpand : El caracter con el que expandir
Descripción:
Expande cString con cExpand siendo colocado entre cada
caracter de cString. El valor por defecto de cExpand es
un espacio en blanco.
Valor de Retorno:
La cadena expandida.
Ejemplo:
? Expand ( "Itxaso", "*" ) // I*t*x*a*s*o
? Expand ( "itxaso" ) // i t x a s o
? Expand ( "Itxaso", "* *" ) // I* *t* *x* *a* *s* *o
Like()
Compara dos cadenas utilizando comodines
Sintaxis:
Like( cMask, cString ) -> lEqual
cMask : Una cadena puede contener los comodines * y ?
cString : La otra cadena a compara
Descripción:
Compara dos cadenas con comodines a una posición (?)
o comodines a n posiciones (*).
La función es sensitiva.
Valor de Retorno:
- Page 44 -
Norton Guide: `FAST.lib 3.50 » Referencia'
Un lógico indicando si la cadena es parecida o no.
Ejemplo:
? Like ( "*A*", "Fast" ) // .F.
? Like ( "*a*", "Fast" ) // .T.
? Like ( "?ast", "Fast" ) // .T.
NumToken()
Devuelve el número de palabras de una cadena
Sintaxis:
NumToken( cString [, cSepara] ) -> nWords
cString : La cadena a tratar
cSepara : Una cadena con separadores de palabras válidos.
Por defecto ,;:. ?¿¡!()&/*+-%[]{}"
Descripción:
Trata una cadena como si fuese una frase determinando el número
de palabras.
Puede ser muy util para analizar sintácticamente, pseudocompilers...
Valor de Retorno:
El número de palabras.
Ejemplo:
? NumToken ( "Fast Library For Clipper" )
See Also: "aToken()" "Token()"
Occurs()
Busca un número de casos en una cadena
Sintaxis:
Occurs( cString, cSearch ) -> nTimes
cString : La cadena donde buscar
cSearch : La subcadena a buscar en cString
Descripción:
Devuelve el número de veces que cSearch existe en cString.
- Page 45 -
Norton Guide: `FAST.lib 3.50 » Referencia'
La función es Sensitiva.
Valor de Retorno:
El número de veces que cSearch existe en cString.
Ejemplo:
? Occurs ( "Manu Roibal", "j" ) // 0
? Occurs ( "Manu Roibal", "A" ) // 0
? Occurs ( "Manu Roibal", "a" ) // 2
StrGetCar()
Devuelve un caracter de una cadena
Sintaxis:
StrGetCar( cString, nPos ) -> nChar
cString : La cadena a tratar
nPos : La posición de la cadena a devolver
Descripción:
Devuelve el valor ASCII del caracter en la posición
especificada dentro de la cadena.
Esta función, en conjunción con StrSetCar() puede ser muy
util cuando una cadena es tratada en C como si fuesen
arrays caracter.
Valor de Retorno:
El valor del caracter ASCII.
Ejemplo:
? StrGetCar ( "Hello World", 1 ) // 72
? StrGetCar ( "Hello world", 0 ) // NIL
? StrGetCar ( "Hello world", 5 ) // 32
See Also: "StrSetCar()"
StrSetCar()
Modifica un caracter en una cadena
Sintaxis:
StrSetCar( cString, nPos, nChar ) -> cNewString
- Page 46 -
Norton Guide: `FAST.lib 3.50 » Referencia'
cString : La cadena a tratar
nPos : La posición de la cadena a modificar
nChar : El nuevo caracter para reemplazar
Descripción:
Modifica una cadena en la posición especificada y devuelve la
nueva cadena.
Esta función, en conjunción con StrSetCar() puede ser muy
util cuando una cadena es tratada en C como si fuesen
arrays caracter.
Valor de Retorno:
La cadena modificada.
Ejemplo:
? StrSetCar ( "Hello world", 1, 32 ) // " Hello world"
? StrSetCar ( "Hello world", 0, 35 ) // "Hello world"
? StrSetCar ( "Hello world", 7, 85 ) // "Hello world"
See Also: "StrGetCar()"
Token()
Devuelve una palabra delimitada en un string
Sintaxis:
Token( cString, [cSepara], [nWord] ) -> cWord
cString : La cadena a tratar
cSepara : Una cadena con separadores válidos. Por defecto
,;:. ?¿¡!()&/*+-%[]{}"
nWord : El número de palabra a devolver. Por defecto 1.
Descripción:
Trata una cadena como si fuese una frase determinando una
palabra especificada de la cadena.
Valor de Retorno:
La palabra especificada o "" si el número de la palabra es
mayor que el máximo número de palabras en la frase.
Ejemplo:
? Token ( "Fast Library For Clipper", , 2 ) // "Library"
See Also: "aToken()" "NumToken()"
- Page 47 -
Norton Guide: `FAST.lib 3.50 » Referencia'
Stack
──────────────────────────────────────────────────────────────────────────────
StackEmpty()
Determina si la pila está vacía
Sintaxis:
StackEmpty( aStack ) -> lEmpty
aStack : La pila creada con StackNew()
Descripción:
Devuelve un lógico indicando si la pila está vacía.
Valor de Retorno:
.T. si está vacío y .F. si tiene algún elemento.
Ejemplo:
aStack := StackNew ()
StackPush ( aStack, "hello matthew" )
If StackEmpty ( aStack )
...
See Also: "StackHead()" "StackNew()" "StackPop()" "StackPush()"
StackHead()
Devuelve el tope de la pila FIFO
Sintaxis:
StackHead( aStack ) -> xHeadValue
aStack : La pila creada con StackNew()
Descripción:
Devuelve el valor del tope de la pila, es decir, el último
valor introducido, sin borrarlo de la pila.
Valor de Retorno:
El valor tope de la pila.
Ejemplo:
- Page 48 -
Norton Guide: `FAST.lib 3.50 » Referencia'
aStack := StackNew ()
StackPush ( aStack, "hello world" )
? StackHead( aStack ) // "hello world"
See Also: "StackNew()" "StackPop()" "StackPush()" "StackEmpty()"
StackNew()
Crea una pila de tipo FIFO
Sintaxis:
StackNew() -> aNewStack
Descripción:
Crea una pila de tipo FIFO vacía.
Recuerde FIFO (First In First Out)
Valor de Retorno:
La pila creada.
Ejemplo:
aStack := StackNew()
See Also: "StackHead()" "StackPop()" "StackPush()" "StackEmpty()"
StackPop()
Borra un elemento de la pila
Sintaxis:
StackPop( aStack ) -> xOldHead
aStack : La pila creada con StackNew()
Descripción:
Borra un elemento de la pila y devuelve el valor de ese
elemento.
Valor de Retorno:
El valor antiguo de la cabeza de la pila.
Ejemplo:
aStack := StackNew ()
StackPush ( aStack, "hello world" )
- Page 49 -
Norton Guide: `FAST.lib 3.50 » Referencia'
StackPush ( aStack, "Bye bye" )
? StackPop ( aStack ) // "Bye bye"
? StackHead( aStack ) // "hello world"
See Also: "StackHead()" "StackNew()" "StackPush()" "StackEmpty()"
StackPush()
Introduce un elemento en la pila
Sintaxis:
StackPush( aStack, xValue ) -> NIL
aStack : La pila creada con StackNew()
xValue : El nuevo valor a introducir en la pila
Descripción:
Introduce un nuevo elemento en la pila y lo coloca como cabeza
de pila.
Valor de Retorno:
Nada.
Ejemplo:
aStack := StackNew ()
StackPush ( aStack, "hello world" )
StackPush ( aStack, "bye" )
? StackHead( aStack ) // "bye"
See Also: "StackHead()" "StackNew()" "StackPop()" "StackEmpty()"
- Page 50 -
Norton Guide: `FAST.lib 3.50 » Referencia'
Menu List: FAST.lib 1, Dbf/Memo
En respuesta a algunos usuarios abró una nueva sección en FASt.lib. En
sección iré colleccionando funciones para el manejo de bases de datos y
campos memo.
──────────────────────────────────────────────────────────────────────────────
Gather()
Inicializa un registro con la información de un array
Sintaxis:
Gather( aArray ) -> NIL
aArray : Un array con la información
Descripción:
Inicializa un registro con la información de un array que debería
haber sido generado previamente con la función Scatter().
La base de datos que se actualiza será la work area por defecto.
Está work area debe estár abierta.
Valor de Retorno:
Nada.
Ejemplo:
use sold new
dbGoBotton()
aArray := Scatter ()
aArray [ 1 ] := "mateo"
Gather ( aArray )
See Also: "Scatter()"
HaveDbt()
Indica si el Dbf tiene un Dbt
Sintaxis:
HaveDbt( cDbf ) -> lTiene
cDbf : El nombre de el Dbf a ser verificado
Descripción:
- Page 51 -
Norton Guide: `FAST.lib 3.50 » Referencia'
Indica si el Dbf especificado tiene un Dbt asociado, es decir, si
tiene algún campo memo.
El nombre del fichero debe darse con path completo y extensión.
Valor de Retorno:
.T. si tiene campos memo .F. si no los tiene
Ejemplo:
? HaveDbt( "Fast.dbf" )
Scatter()
Retorna un array con la información de un registro
Sintaxis:
Scatter() -> aArray
Descripción:
Retorna un array con la información de un registro
La base de datos a la que se accede será la work area por defecto.
Está work area debe estár abierta.
Valor de Retorno:
Un array con la misma estructura que la base de datos cargado con
los valores del registro en curso.
Ejemplo:
use clients new
aArray := Scatter ()
aArray [ 1 ] := "Jose"
Gather ( aArray )
See Also: "Gather()"
- Page 52 -
Norton Guide: `FAST.lib 3.50 » Referencia'
Menu List: FAST.lib 1, Disco y Ficheros
Las siguientes funciones permiten centralizar todos los accesos a uno o
más ficheros binarios en Clipper.
Estas funciones controlan todos los errores que puedieran producirse en
un programa Clipper cuando accede a ficheros binarios, como pudiera ser que
el fichero no exista, intentar acceder a un fichero sin bloquearlo.
Igualmente, podrá olvidarse de los errores de I/O dado que todas las
funciones de acceso a fichero reintentan la operación e informan al usuario
caso de haber algún error.
──────────────────────────────────────────────────────────────────────────────
ArjFile()
Retorna el contenido de un fichero ARJ
Sintaxis:
ArjFile ( cFile ) -> aARJ
cFile : El nombre del fichero ARJ
Descripción:
Retorna un array bidimensional con la información sobre el contenido
del fichero ARJ.
El subarray tiene la siguiente estructura:
{
{ cNombre, nCompr, nTamaño, nRatio, dFecha, cHora }
...
{ cNombre, nCompr, nTamaño, nRatio, dFecha, cHora }
}
cNombre El nombre del fichero
nTamaño El tamaño real del fichero
nCompr El tamaño comprimido
nRatio Ratio de compresión
dFecha Fecha del fichero
cHora Hora del fichero
Valor de Retorno:
Un array con la información sobre el contenido de un fichero ARJ.
Ejemplo:
- Page 53 -
Norton Guide: `FAST.lib 3.50 » Referencia'
aARJ := ArjFile ( "C:\FastLib\Fast.Arj" )
For nInd := 1 To Len ( aARJ )
For nOther := 1 To Len ( aARJ [ nInd ] )
? aARJ [ nInd, nOther ]
Next
Next
See Also: "ZipFile()"
ClipperPath()
Retorna el Path de Clipper
Sintaxis:
ClipperPath() -> cPath
Descripción:
Retorna un string con el Path de Clipper.
Valor de Retorno:
El Path de Clipper.
Ejemplo:
? ClipperPath () // C:\DATA;
See Also: "DOSPath()"
Clp2WKS()
Convierte un array de Clipper en un fichero WKS de Lotus
Sintaxis:
Clp2WKS( cFile, aSheet ) -> NIL
cFile : El fichero a crear
aSheet : Un array Clipper con la hoja de cálculo
Descripción:
Convierte un array Cliper en un fichero WKS de Lotus creando el
nuevo fichero con extensión .WKS.
Valor de Retorno:
Nada.
Ejemplo:
- Page 54 -
Norton Guide: `FAST.lib 3.50 » Referencia'
FUNCTION Example()
LOCAL aWorkSheet:={ ;
{ "Column 1", "Column 2", "Column 3" }, ;
{ 1991, 156, 625, 887, 123, 178 }, ;
{ 1992, 161, 75, 72, 124 }, ;
{ 1993, 711, -918, 716, 122 }, ;
{ 1994, 1932, 1827, 998 }, ;
{ 1995, 154, 12, 12, 9912 }, ;
{ 1996, 612, 15, 3, 1921, 122 }, ;
{ 1997, 18.4, 0.1, 1 }, ;
{ 1998, 1213, 121, 121, 2121, 121 } }
Clp2Wks( "DEMO", aWorkSheet )
RETURN NIL
Compress()
Comprime o descomprime un fichero
Syntax:
Compress( cFileIn, cFileOut, lMode, bBlock ) -> nResult
cFileIn : El fichero de entrada
cFileOut : El fichero de salida
lMode : .T. comprimir y .F. descomprimir
bBlock : Un codeblock que será evaluado cada 4096 bytes
Description:
Esta función permite comprimir cualquier tipo de fichero en torno
al 37% de su tamaño, dependiendo del tipo de datos que contenga el
fichero original (ejecutable, texto, etc.); asimismo, realiza sobre
un fichero previamente comprimido la operación inversa, es decir,
obtener el original descomprimido para poder ser usado.
El codeblock que se pasa a la función recibe siempre dos parámetros
numéricos, que varian dependiendo de si se está comprimiendo o
descomprimiendo. Estos son:
bBlock := { | x, y | QOut( x, y ) )
Si se está comprimiendo:
x --> Total del fichero fuente leido (se incrementa cada 4 kb).
y --> Porcentaje de compresión obtenido hasta el momento.
Si estamos descomprimiendo:
x --> Total del fichero fuente leido (se incremente cada 4 kb).
y --> Porcentaje que se ha descomprimido hasta el momento.
No existe limitación en cuanto al tamaño del fichero a comprimir.
La unica salvedad a mencionar es que el fichero resultante (tanto
al comprimir como al descomprimir) debe caber en el disco donde
- Page 55 -
Norton Guide: `FAST.lib 3.50 » Referencia'
se está generando.
Return:
Retorna uno de los siguientes valores:
0 (operación sin errores)
1 (fallo al reservar memoria)
2 (error de lectura del fichero de entrada)
3 (error de escritura en el fichero de salida)
Example:
IF Compress( "PROGMAN.EXE", "PROGMAN.LZH", .T., { || NIL } ) == 0
? "Fichero comprimido con éxito. Descomprimiendo con otro nombre"
IF Compress( "PROGMAN.LZH", "OTROPRG.EXE". .F., { || NIL } ) == 0
?? "Fichero descomprimido con éxito"
ELSE
? "Se han producido errores durante la descompresión"
ENDIF
ELSE
? "Se han producido errores durante la compresión"
ENDIF
DirChange()
Cambia el directorio por defecto
Sintaxis:
DirChange( cNewDirec ) -> nError
cNewDirec : El nuevo directorio
Descripción:
Cambia el directorio del DOS por defecto.
Valor de Retorno:
Retorna el error del DOS o 0 si no hay ningún error.
Ejemplo:
DirChange ( "\OS2\MDOS" )
See Also: "DirDel()" "DirCreate()"
DirCreate()
Crea un directorio
Sintaxis:
- Page 56 -
Norton Guide: `FAST.lib 3.50 » Referencia'
DirCreate( cDirec ) -> nError
cDirec : Nuevo directorio
Descripción:
Crea un nuevo directorio.
Valor de Retorno:
Retorna el error del DOS o 0 si no hay ningún error.
Ejemplo:
DirCreate ( "\OS2\Midir" )
See Also: "DirDel()" "DirChange()"
DirDel()
Borra un directorio del disco
Sintaxis:
DirDel( cDirec ) -> nError
cDirec : El directorio a borrar
Descripción:
Borra un directorio. Este no puede ser el directorio por defecto.
Valor de Retorno:
Retorna el error del DOS o 0 si no hay ningún error.
Ejemplo:
DirDel ( "\OS2\TEMP" )
See Also: "DirChange()" "DirCreate()"
DirExist()
Determina si un directorio existe
Sintaxis:
DirExist( cDirec ) -> lExist
cDirec : El directorio a buscar
Descripción:
- Page 57 -
Norton Guide: `FAST.lib 3.50 » Referencia'
Determina si un directorio es encontrado.
Valor de Retorno:
.T. si el directorio existe o .F. si no existe.
Ejemplo:
? DirExist ( "C:\OS2\MDOS" ) // .T.
? DirExist ( "A:\DATA" ) // .T.
DiskFree()
Retorna el espacio libre del disco
Sintaxis:
DiskFree( nDisk ) -> nLibre
nDisk : 0 -> disco por defecto
1 -> A:
2 -> B:
3 -> C:
...
Descripción:
Retorna el espacio libre del disco especificado
Valor de Retorno:
El espacio libre.
Ejemplo:
? DiskSize( 0 ) // Capacidad del disco
? DiskFree( 0 ) // Disco libre
See Also: "DiskSize()"
DiskSerNum()
Retorna el número de serie del disco
Sintaxis:
DiskSerNum( [nUnit] ) -> cSerialNumber
nUnit : Número de unidad:
0 -> Unidad por defecto
1 -> A:
2 -> B:
- Page 58 -
Norton Guide: `FAST.lib 3.50 » Referencia'
3 -> C:
...
Descripción:
Retorna el número de serie del disco si ha sido formateado bajo
DOS 4.01 o superior.
El valor por defecto para nUnit es 0, esto es, la función retorna
el número de serie del disco por defecto
Valor de Retorno:
Un string con el número de serie del disco duro.
Ejemplo:
? DiskSerNum() // "1A3D-66B1"
DiskSize()
Retorna la capacidad del disco
Sintaxis:
DiskSize( nDisk ) -> nCapacity
nDisk : 0 -> disco por defecto
1 -> A:
2 -> B:
3 -> C:
...
Descripción:
Retorna la capacidad del disco especificado
Valor de Retorno:
La capacidad.
Ejemplo:
? DiskSize( 0 ) // Capacidad del disco
? DiskFree( 0 ) // Disco libre
See Also: "DiskFree()"
DOSPath()
Retorna el Path del DOS
Sintaxis:
- Page 59 -
Norton Guide: `FAST.lib 3.50 » Referencia'
DOSPath () -> cPath
Descripción:
Retorna el Path del DOS como un string.
Valor de Retorno:
El Path del DOS.
Ejemplo:
? DOSPath () // C:\DOS;C:\CLIPPER5\BIN;
See Also: "ClipperPath()"
fAttributes()
Retorna los atributos de un fichero
Sintaxis:
fAttributes( cFile ) -> cAttributes
cFile : El nombre del fichero
Descripción:
Retorna los atributos de un fichero, H si el fichero está oculto,
S del sistema, A de archivo y R para solo lectura.
Valor de Retorno:
Un string con los atributos o NIL si el fichero no existe.
Ejemplo:
? fAttributes ( "Fast.txt" ) // "A"
See Also: "fDate()" "fTime()" "fSize()"
fbClose()
Cierra ficheros binarios
Sintaxis:
fbClose( aHandle ) -> NIL
aHandle : Un array de File handles a cerrar
Descripción:
- Page 60 -
Norton Guide: `FAST.lib 3.50 » Referencia'
Cierra todos los ficheros especificados en el array
Valor de Retorno:
Nada.
Ejemplo:
fbClose ( { nHandIn, nHandOut, nHandErr } )
See Also: "fbOpen()" "fbCreate()" "fbWrite()" "fbRead()"
fbCreate()
Crea un fichero binario
Sintaxis:
fbCreate( cFile ) -> nHandle
cFile : El nombre del fichero
Descripción:
Crea un fichero con el nombre cFile. Si cFile ya existe será
truncado a tamaño 0. Si se encuentra algún error, se reintentará
5 veces la operación y de persistir el error se invocará al
usuario para que determine lo que se debe hacer.
Valor de Retorno:
Un file handle o -1 si hay algún error.
Ejemplo:
nHandle := fbCreate ( "Fast.txt" )
See Also: "fbOpen()" "fbClose()" "fbWrite()" "fbRead()"
fbOpen()
Abre un fichero binario
Sintaxis:
fbOpen( cFile, nMode ) -> nHandle
cFile : El nombre del fichero
nMode : El modo de apertura del DOS
Descripción:
- Page 61 -
Norton Guide: `FAST.lib 3.50 » Referencia'
Intenta abrir el fichero cFile en modo nMode con 5 reintentos si
hay errores.
Valor de Retorno:
Un file handle o -1 si hay algún error.
Ejemplo:
nHandle := fbOpen ( "Fast.txt", 0 )
If nHandle == -1
BoxWarning ( "Open error" )
EndIf
See Also: "fbClose()" "fbCreate()" "fbWrite()" "fbRead()"
fbRead()
Lee bytes de un fichero binario
Sintaxis:
fbRead( nHandle, cBuffer, nBuffer, nRead, ;
cFile, lForce ) -> lExit
nHandle : El file handle del fichero.
cBuffer : El buffer a llenar.
nBuffer : El número de bytes a leer.
nRead : Variable que retorna el número de bytes leidos.
cFile : El nombre del fichero.
lForce : Valor lógico para forzar que nBuffer tenga el mismo valor
que nRead.
Descripción:
Lee bytes de un fichero (nHandle/cFile) dejando el resultado en
cBuffer. Si cBuffer no es suficientemente grande, la función
llenará con espacios al final. cFile es usado para mostrar
mensajes de error Si lForce es .T. el número de bytes leídos del
fichero debe ser nBuffer y no retornará hasta que nRead sea igual
a esa cantidad. Si lForce es .F. la función retornará aunque nRead
no sea igual a nBuffer. Recuerde que la propia función se encarga
de los reintentos.
Valor de Retorno:
Si hay algún error retorna .F. si no retorna .T.
Ejemplo:
cFile := "Fast.txt"
nHand := fbOpen ( cFile, 0 )
nRead := 0
nBuffer := 100
- Page 62 -
Norton Guide: `FAST.lib 3.50 » Referencia'
cBuffer := Space ( nBuffer )
lForce := .F.
If ! fbRead( nHand, cBuffer, nBuffer, @nRead, cFile, lForce )
BoxWarning ( "Ha habido algún error" )
Else
BoxWarning ( "He leído " + Str ( nRead ) + " bytes" )
EndIf
fbClose ( { nHand } )
See Also: "fbOpen()" "fbClose()" "fbCreate()" "fbWrite()"
fbWrite()
Escribe en un fichero binario
Sintaxis:
fbWrite ( nHandle, cBuffer, nBuffer, nWrite, ;
cFile, lForce ) -> lexit
nHandle : El file handle del fichero.
cBuffer : El buffer a escribir en el fichero.
nBuffer : El número de bytes a ser escritos.
nWrite : Variable que retorna el número de bytes escritos.
cFile : El nombre del fichero.
lForce : Valor lógico para forzar que nWrite sea igual a nBuffer.
Descripción:
Escribe nBuffer bytes de cBuffer al fichero (nHandle). cFile es
utilizado para permitir que los mensajes de error sean visualiza-
dos. If lForce es .T. el valor escrito al fichero debe ser nBuffer
bytes y no retornará hasta que nWrite sea igual a nBuffer. Si
lForce es .F. la función retornará tras un error aún cuando nWrite
sea distinto de nBuffer.
Valor de Retorno:
Si hay un error devuelve .F. si no, devuelve .T.
Ejemplo:
cFile := "Fast.txt"
nHand := fbOpen ( cfile, 2 )
nWrite := 100
nBuffer := 100
cBuffer := Space ( nBuffer )
lForce := .T.
If ! fbWrite( nHand, cBuffer, nBuffer, @nWrite, cfile, lForce )
Warning( "La lectura no ha tenido exito" )
Else
Warning( Str( nWrite ) + " debe ser lo mismo " + Str( nBuffer ) )
EndIf
fbClose ( { nHand } )
- Page 63 -
Norton Guide: `FAST.lib 3.50 » Referencia'
See Also: "fbOpen()" "fbClose()" "fbCreate()" "fbRead()"
fCopy()
Copia un fichero a otro
Sintaxis:
fCopy ( cSource, cTarget ) -> nError
cSource : El nombre del fichero origen
cTarget : El nombre del fichero destino
Descripción:
Copia un fichero a otro retornando iguales valores que la función
standard fError().
Valor de Retorno:
0 si no hay error o un número indicando el tipo de error.
Ejemplo:
? fCopy( "c:\txt\text", "d:\origin\demo.txt" )
fDate()
Devuelve la fecha de un fichero
Sintaxis:
fDate ( cFile ) -> dDate
cFile : El nobmre del fichero
Descripción:
Devuelve la fecha del fichero como un valor fecha
Valor de Retorno:
La fecha del fichero es NIL si el fichero no existe
Ejemplo:
? fDate ( "Fast.Txt" ) // 22/12/92
See Also: "fAttributes()" "fTime()" "fSize()"
fDefUnit()
- Page 64 -
Norton Guide: `FAST.lib 3.50 » Referencia'
Cambia la unidad por defecto
Sintaxis:
fDefUnit( nUnit ) -> NIL
nUnit : Nueva unidad por defecto
Descripción:
Cambia de la unidad por defecto a la nueva especificada
sabiendo que 0=A:, 1=B;, ...
Valor de Retorno:
Nada.
Ejemplo:
fDefUnit ( 1 ) // Change B:
See Also: "fMaxUnit()"
fDel()
Borra un fichero del disco
Sintaxis:
fDel( cFile ) -> nError
cFile : El nombre del fichero
Descripción:
Borra el fichero especificado.
Valor de Retorno:
Devuelve el error del DOS o cero si no hay error.
Ejemplo:
If fDel ( "\dos\command.com" ) == 0
BoxWarning( "Nooooooooo" )
EndIf
fExtension()
Devuelve la extensión del fichero
Sintaxis:
- Page 65 -
Norton Guide: `FAST.lib 3.50 » Referencia'
fExtension ( cFile ) -> cExtension
cFile : El nombre del fichero
Descripción:
Devuelve la extensión del fichero siguiendo las reglas del DOS,
es decir, un nombre de 8 caracteres seguido por un punto y una
extensión de 3 caracteres.
Valor de Retorno:
Extensión del fichero como un valor caracter o "" si el fichero
no existe
Ejemplo:
? fExtension ( "C:\FastLib\Fast.Txt" ) // Txt
See Also: "fName()" "fPath()" "fUnit()"
fEof()
Determina si un puntero de fichero apunta a EOF
Sintaxis:
fEof( fHandle ) -> lEOF
fHandle : El handle del fichero
Descripción:
Determina si un puntero de fichero apunta a EOF, es decir, está
al final del fichero.
Valor de Retorno:
Un lógico indicando si está en EOF.
Ejemplo:
fHandle := fOpen( "demo.txt", 0 )
? fEof( fHandle )
See Also: "fGoBottom()" "fGoTop()" "fPos()"
fGoBottom()
Mueve el puntero al final del fichero
Sintaxis:
- Page 66 -
Norton Guide: `FAST.lib 3.50 » Referencia'
fGoBottom( fHandle ) -> nNewPosition
fHandle : El handle del fichero
Descripción:
Mueve el puntero al final del fichero devolviendo un númerico
con la nueva posición.
Valor de Retorno:
Un número con la nueva posición.
Ejemplo:
fHandle := fOpen( "demo.txt", 0 )
fGoBottom( fHandle )
See Also: "fEof()" "fGoTop()" "fPos()"
fGoTop()
Mueve el puntero al principio del fichero
Sintaxis:
fGoTop( fHandle ) -> nNewPosition
fHandle : El handle del fichero
Descripción:
Mueve el puntero al principio del fichero devolviendo un númerico
con la nueva posición.
Valor de Retorno:
Un número con la nueva posición.
Ejemplo:
fHandle := fOpen( "demo.txt", 0 )
fGoTop( fHandle )
See Also: "fEof()" "fGoBottom()" "fPos()"
fMaxUnit()
Devuelve el número de unidades lógicas del DOS
Sintaxis:
- Page 67 -
Norton Guide: `FAST.lib 3.50 » Referencia'
fMaxUnit() -> nDrives
Descripción:
Devuelve el número de unidades lógicas del DOS. A menudo,
si hay una red Novell, devuelve el valor 32. Bajo DOS nativo
devuelve 5 o el valor de LASTDRIVE, el cual siempre es mayor.
Valor de Retorno:
El número de unidades lógicas del DOS.
Ejemplo:
nDrives := Str ( fMaxUnit () )
? "Tengo " + nDrives + " en mi sistema."
See Also: "fDefUnit()"
fName()
Devuelve el nombre de un fichero sin extensión
Sintaxis:
fName ( cFile ) -> cName
cFile : El nombre del fichero
Descripción:
Devuelve el nombre de un fichero siguiendo las reglas de DOS, es
decir, un nombre de 8 caracteres seguido por un punto y una ex-
tensión de 3 caracteres.
Valor de Retorno:
El nombre de un fichero sin extensión.
Ejemplo:
? fName ( "C:\FastLib\Fast.Txt" ) // Fast
See Also: "fExtension()" "fPath()" "fUnit()"
fName()
Devuelve el path de un fichero
Sintaxis:
fPath ( cFile ) -> cPath
- Page 68 -
Norton Guide: `FAST.lib 3.50 » Referencia'
cFile : El nombre del fichero
Descripción:
Devuelve el path de un fichero siguiendo la reglas del DOS, es
decir, un nombre de 8 caracteres seguido por un punto y una ex-
tensión de 3 caracteres.
Valor de Retorno:
El path del fichero.
Ejemplo:
? fPath ( "C:\FastLib\Fast.Txt" ) // C:\FastLib\
See Also: "fExtension()" "fName()" "fUnit()"
fPos()
Retorna la posición actual de un puntero de fichero
Sintaxis:
fPos( fHandle ) -> nPosition
fHandle : El handle del fichero
Descripción:
Retorna la posición relativa actual de un puntero de fichero.
Valor de Retorno:
Un número con la posición.
Ejemplo:
fHandle := fOpen( "demo.txt", 0 )
? fPos( fHandle )
See Also: "fEof()" "fGoBottom()" "fGoTop()"
fRandom()
Genera un nombre de fichero aleatorio
Sintaxis:
fRandom() -> cFile
Descripción:
- Page 69 -
Norton Guide: `FAST.lib 3.50 » Referencia'
Devuelve un nombre de fichero aleatorio con la extensión .TMP
Valor de Retorno:
El nombre del fichero.
Ejemplo:
? fRandom () // "WEDKFGVD.TMP"
FreeFiles()
Devuelve el número de FILES die DOS File Handles
Sintaxis:
FreeFiles() -> nFiles
Descripción:
Returns the number of available DOS File Handles as a numeric
value.
Valor de Retorno:
A numeric value of the number of available DOS File Handles.
Ejemplo:
If FreeFiles() < 20
BoxWarning ( "Lo siento pero debes tener 20 files" )
EndIF
fSearch()
Busca una cadena en un fichero
Sintaxis:
fSearch( cFile, cString ) -> aPosition
cFile : Fichero donde busca
cString : Cadena a buscar
Descripción:
Busca una cadena en un fichero y devuelve un array con todas las
posiciones que han sido encontradas en la cadena o un array vacío
si la cadena no se ha encontrado en el fichero.
Valor de Retorno:
Un array de 0 a n elementos. Cada elemento contiene una posición
- Page 70 -
Norton Guide: `FAST.lib 3.50 » Referencia'
relativa al fichero, comenzando de 0.
Ejemplo:
aRet := fSearch ( "Test.txt", "I want to be free" )
For nInd := 1 To Len ( aRet )
? aRet [ nInd ]
Next
fSize()
Devuelve el tamaño de un fichero
Sintaxis:
fSize ( cFile ) -> nSize
cFile : El nombre del fichero
Descripción:
Devuelve el tamaño de un fichero como valor numérico.
Valor de Retorno:
El tamaño del fichero o NIL si el fichero no se encuentra.
Ejemplo:
? fSize ( "Fast.Txt" ) // 112
See Also: "fAttributes()" "fDate()" "fTime()"
fTime()
Devuelve la hora de un fichero
Sintaxis:
fTime ( cFile ) -> cTime
cFile : El nombre del fichero
Descripción:
Devuelve la hora de un fichero como valor caracter.
Valor de Retorno:
La hora del fichero o NIL si el fichero no se encuentra.
Ejemplo:
- Page 71 -
Norton Guide: `FAST.lib 3.50 » Referencia'
? fTime ( "Fast.Txt" ) // 12:12:13
See Also: "fAttributes()" "fDate()" "fSize()"
fUnit()
Devuelve la unidad donde existe el fichero
Sintaxis:
fUnit ( cFile ) -> cUnit
cFile : El nombre del fichero
Descripción:
Devuelve la unidad donde existe el fichero como valor caracter.
Valor de Retorno:
La unidad donde el fichero fue encontrado o NIL si no se encontró.
Ejemplo:
? fUnit ( "C:\FastLib\Fast.Txt" ) // C:
See Also: "fExtension()" "fName()" "fPath()"
GetLabel()
Devuelve el nombre del disco
Sintaxis:
GetLabel( nUnit ) -> cLabel
nUnit : Un número de disco. 0=Disco actual, 1=A:, 2=B:, 3=C:, ...
Descripción:
Devuelve el nombre de un disco.
Valor de Retorno:
Una cadena con el nombre del disco.
Ejemplo:
? GetLabel ( 0 ) // "MANU ROIBAL"
See Also: "SetLabel()"
- Page 72 -
Norton Guide: `FAST.lib 3.50 » Referencia'
IsBootAble()
Determina si el disco actual tiene sector de arranque
Sintaxis:
IsBootAble() -> lBoot
Descripción:
Determina si el disco actual tiene sector de arranque.
Valor de Retorno:
Un valor lógico indicando si tiene sector de arranque.
Ejemplo:
While ! IsBootAble()
Warning( "Inserte un disco con Sistema Operativo" )
End
IsFloppy()
Determina si el disco actual es un floppy
Sintaxis:
IsFloppy() -> lFloppy
Descripción:
Determina si el disco actual es un floppy.
Valor de Retorno:
Un valor lógico indicando si es un floppy.
Ejemplo:
If IsFloppy()
Warning( "Error: Necesitas disco duro" )
EndIf
See Also: "IsHardDisk()" "IsNetDev()"
IsHardDisk()
Determina si el disco actual es un disco duro
Sintaxis:
IsHardDisk() -> lHard
- Page 73 -
Norton Guide: `FAST.lib 3.50 » Referencia'
Descripción:
Determina si el disco actual es un disco duro.
Valor de Retorno:
Un valor lógico indicando si es un disco duro.
Ejemplo:
If IsHardDisk()
Warning( "Tienes disco duro" )
EndIf
See Also: "IsFloppy()" "IsNetDev()"
IsNetDev()
Determina si el disco actual es un disco de red
Sintaxis:
IsNetDev() -> lLan
Descripción:
Determina si el disco actual es un disco de red.
Valor de Retorno:
Un valor lógico indicando si es un disco de red.
Ejemplo:
If IsNetDev()
Warning( "Tienes una LAN" )
EndIf
See Also: "IsFloppy()" "IsHardDisk()"
IsSmartDrv()
Determina si SmartDrv ha sido cargado
Sintaxis:
IsSmartDrv() -> lLoaded
Descripción:
Determina si SmartDrv ha sido cargado.
- Page 74 -
Norton Guide: `FAST.lib 3.50 » Referencia'
Valor de Retorno:
Un lógico indicando si SMARTDRV.EXE ha sido cargado o no.
Ejemplo:
If IsSmartDrv()
Warning ( "SmartDrv ha sido cargado" )
EndIf
LowDiskFirm()
Determina la revisión del firmware de un disco IDE
Sintaxis:
LowDiskFirm() -> cFirm
Descripción:
Determina la revisión del firmware de un disco IDE usando un método
de bajo nivel.
Está función es solo válida para discos IDE.
Valor de Retorno:
Un string con la revisión del firmware.
Ejemplo:
? LowDiskFirm()
See Also: "LowDiskModel()" "LowDiskSerial()"
LowDiskModel()
Determina el modelo de un disco IDE
Sintaxis:
LowDiskModel() -> cModel
Descripción:
Determina el model de un disco IDE usando un método de bajo nivel.
Está función es solo válida para discos IDE.
Valor de Retorno:
Un string con el modelo.
Ejemplo:
- Page 75 -
Norton Guide: `FAST.lib 3.50 » Referencia'
? LowDiskModel()
See Also: "LowDiskFirm()" "LowDiskSerial()"
LowDiskSerial()
Determina el número de serie de un disco IDE
Sintaxis:
LowDiskSerial() -> cSerial
Descripción:
Determina el número de serie de fabricación de un disco IDE
usando un método de bajo nivel.
Está función es solo válida para discos IDE.
Valor de Retorno:
Un string con el número de serie.
Ejemplo:
? LowDiskSerial()
See Also: "LowDiskFirm()" "LowDiskModel()"
SetLabel()
Escribe el nombre en un disco
Sintaxis:
SetLabel( nUnit [, cNewLabel] ) -> nError
nUnit : Un número de disco. 0=actual, 1=A:, 2=B:, 3=C:, ...
cNewLabel : El nuevo nombre. El valor por defecto es "".
Descripción:
Escribe el nombre en un disco.
Valor de Retorno:
Código de error DOS o cero si no hay error.
Ejemplo:
cLabel := GetLabel( 0 )
? cLabel // devuelve "MANU ROIBAL"
SetLabel( 0 ) // purga el label
GetLabel( 0 ) // devuelve ""
- Page 76 -
Norton Guide: `FAST.lib 3.50 » Referencia'
SetLabel( 0, cLabel ) // escribe nuevo nombre
? GetLabel( 0 ) // devuelve "MANU ROIBAL"
See Also: "GetLabel()"
SmartFlush()
Vuelca los buffers de caché de SmartDrv
Sintaxis:
SmartFlush() -> NIL
Descripción:
Vuelca los buffers de caché de SmartDrv.
Está función también está soportada por PC Caché 8.0.
Valor de Retorno:
Nada.
Ejemplo:
SmartFlush()
See Also: "SmartHits()" "SmartMisses()" "SmartReset()" "SmartSize()"
SmartHits()
Retorna el número de aciertos de caché de SmartDrv
Sintaxis:
SmartHits() -> nHits
Descripción:
Retorna el número de aciertos del caché de SmartDrv.
Está función también está soportada por PC Caché 8.0.
Valor de Retorno:
Un número con el número de aciertos o Nil si SmartDrv no está
cargado.
Ejemplo:
? SmartHits()
See Also: "SmartFlush()" "SmartMisses()" "SmartReset()" "SmartSize()"
- Page 77 -
Norton Guide: `FAST.lib 3.50 » Referencia'
SmartMisses()
Retorna el número de fallos de caché de SmartDrv
Sintaxis:
SmartMisses() -> nMisses
Descripción:
Retorna el número de fallos del caché de SmartDrv.
Está función también está soportada por PC Caché 8.0.
Valor de Retorno:
Un número con el número de fallos o Nil si SmartDrv no está
cargado.
Ejemplo:
? SmartMisses()
See Also: "SmartFlush()" "SmartHits()" "SmartReset()" "SmartSize()"
SmartReset()
Inicializa los buffers de caché de SmartDrv
Sintaxis:
SmartReset() -> NIL
Descripción:
Inicializa los buffers de caché de SmartDrv.
Está función también está soportada por PC Caché 8.0.
Valor de Retorno:
Nada.
Ejemplo:
SmartReset()
See Also: "SmartFlush()" "SmartHits()" "SmartMisses()" "SmartSize()"
SmartSize()
Retorna el tamaño del caché de SmartDrv
Sintaxis:
- Page 78 -
Norton Guide: `FAST.lib 3.50 » Referencia'
SmartSize() -> nSize
Descripción:
Retorna el tamaño del caché de SmartDrv.
Está función también está soportada por PC Caché 8.0.
Valor de Retorno:
El tamaño del cache en bytes o NIL si SmartDrv no está cargado
Ejemplo:
? SmartSize()
See Also: "SmartFlush()" "SmartHits()" "SmartMisses()" "SmartSizeWin()"
SmartSizeWin()
Retorna el tamaño del caché de SmartDrv bajo Windows 3
Sintaxis:
SmartSizeWin() -> nSize
Descripción:
Retorna el tamaño del caché de SmartDrv mientras se ejecuta
Microsoft Windows.
Está función también está soportada por PC Caché 8.0.
Valor de Retorno:
El tamaño del cache en bytes o NIL si smartdrv no está cargado.
Ejemplo:
? SmartSizeWin()
See Also: "SmartFlush()" "SmartHits()" "SmartMisses()" "SmartSize()"
ZipFile()
Devuelve el contenido de un fichero ZIP
Sintaxis:
ZipFile ( cFile ) -> aZIP
cFile : El nombre del fichero ZIP
Descripción:
- Page 79 -
Norton Guide: `FAST.lib 3.50 » Referencia'
Devuelve un array bidimensional con información sobre el contenido
del fichero ZIP.
Los subarrays tienen el siguiente formato:
{
{ cName, cFull, dDate, cTime, nSize, nComp, cRatio, cMeth, nNum }
...
{ cName, cFull, dDate, cTime, nSize, nComp, cRatio, cMeth, nNum }
}
cName Nombre del fichero
cFull Nombfe del fichero con path
dDate Fecha del fichero
cTime Hora del fichero
nSize Tamaño real del fichero
nComp Tamaño comprimido
cRatio Ratio de compresión
cMeth Metodo de compresión
nNum Número de ficheros
Valor de Retorno:
Un array con información sobre el contenido de un fichero ZIP.
Ejemplo:
aZIP := ZipFile ( "C:\FastLib\Fast.Zip" )
For nInd := 1 To Len ( aZIP )
For nOther := 1 To Len ( aZIP [ nInd ] )
? aZIP [ nInd, nOther ]
Next
Next
See Also: "ArjFile()"
- Page 80 -
Norton Guide: `FAST.lib 3.50 » Referencia'
Menu List: FAST.lib 1, Juegos
Que podría decirle de esta sección? ... Disfrútela!
──────────────────────────────────────────────────────────────────────────────
Caos()
Reproduce una situación de caos en el PC
Sintaxis:
Caos() -> NIL
Descripción:
Reproduce una situación de caos en el PC haciendo caer las letras
que estén en la pantalla.
Tan solo escribe Caos() en tu programa.
Valor de Retorno:
Nada.
Ejemplo:
Caos()
IsGame()
Indica si el sistema tiene un joystick
Sintaxis:
IsGame() -> lExist
Descripción:
Determina si el sistema tiene un joystick e inicializa el area
de comunicaciones de la BIOS.
Valor de Retorno:
.T. si hay joystick y .F. si no hay
Ejemplo:
If IsJoystick()
Warning( "Mi ordenador es un gameboy" )
EndIf
- Page 81 -
Norton Guide: `FAST.lib 3.50 » Referencia'
jButton1()
Indica si el botón 1 del joystick está pulsado
Sintaxis:
jButton1() -> lPulsado
Descripción:
Indica si el botón 1 del primer joystick del sistema está pulsado
o no, retornando un valor lógico.
Valor de Retorno:
.T. si está pulsado o .F. si no lo está
Ejemplo:
If jButton1()
Warning ( "El botón 1 está pulsado" )
EndIf
See Also: "jButton2()"
jButton2()
Indica si el botón 2 del joystick está pulsado
Sintaxis:
jButton2() -> lPulsado
Descripción:
Indica si el botón 2 del primer joystick del sistema está pulsado
o no, retornando un valor lógico.
Valor de Retorno:
.T. si está pulsado o .F. si no lo está
Ejemplo:
If jButton2()
Warning ( "El botón 2 está pulsado" )
EndIf
See Also: "jButton1()"
- Page 82 -
Norton Guide: `FAST.lib 3.50 » Referencia'
jClick()
Indica si algún botón del joystick está pulsado
Sintaxis:
jClick() -> lPulsado
Descripción:
Indica si algún botón del joystick está pulsado. Para determinar
cual ha sido pulsado use jButton1() y jButton2().
Valor de Retorno:
Un valor lógico indicando si algún botón ha sido pulsado
Ejemplo:
If jClick()
Warning ( "Botones 1 y/o 2 están pulsados" )
EndIf
See Also: "jButton1()" "jButton2()"
jInArea()
Determina si el joystick está en una zona
Sintaxis:
jInArea( nY1, nX1, nY2, nX2 ) -> lInArea
nY1, nX1, nY2, nX2 : Las coordenadas de la zona
Descripción:
Determina si el joystick está situado en una zona de la pantalla.
Valor de Retorno:
Un valor lógico indicando si está dentro de la zona especificada
Ejemplo:
If jInArea ( 240, 330, 242, 340 )
Warning ( "Ok. El Joystick está en el medio" )
EndIf
jPosX()
Indica la posición X del joystick
- Page 83 -
Norton Guide: `FAST.lib 3.50 » Referencia'
Sintaxis:
jPosX() -> nPos
Descripción:
Indica la posición X del primer joystick del sistema.
Valor de Retorno:
La posición X del joystick
Ejemplo:
If jPosX() < 400 .And. jPosX() > 200
Warning( "Perfecto" )
EndIf
See Also: "jPosY()"
jPosY()
Indica la posición Y del joystick
Sintaxis:
jPosY() -> nPos
Descripción:
Indica la posición Y del primer joystick del sistema.
Valor de Retorno:
La posición Y del joystick
Ejemplo:
If jPosY() < 300 .And. jPosY() > 100
Warning ( "Ok" )
EndIf
See Also: "jPosX()"
Puzzle()
Juego del Puzzle hecho con 100% código Clipper
Sintaxis:
Puzzle( [nY], [nX], [cColor] ) -> lWin
nY : Línea superior
- Page 84 -
Norton Guide: `FAST.lib 3.50 » Referencia'
nX : Columna izquierda
cColor : El color de la pantalla
Descripción:
Disfruta con el Puzzle.
Valor de Retorno:
Si gana retorna .T., si gana el ordenador .F.
Ejemplo:
Puzzle()
See Also: "Serpent()"
Serpent()
Juego de la serpiente hecho con 100% código Clipper
Sintaxis:
Serpent( cColor, cColorHead, cColorMark ) -> NIL
cColor : El color del cuerpo de la serpiente
cColorHead : El color de la cabeza cuando choca
cColorMark : El color de las marcas de la pantalla
Descripción:
Disfruta con la serpiente
Valor de Retorno:
Nada.
Ejemplo:
Serpent ( "W+/B*", "R+/B*", "G+/B*" )
SpeakGame()
Genera un sonido con el speaker
Sintaxis:
SpeakGame( nLapsus ) -> NIL
nLapsus : La duración del sonido. Este valor también determina
la frecuencia el sonido.
Descripción:
- Page 85 -
Norton Guide: `FAST.lib 3.50 » Referencia'
Genera un sonido con el speaker accediendo a él a bajo nivel y
determinando la frecuencia.
Valor de Retorno:
Nada.
Ejemplo:
SpeakGame( 10000 )
- Page 86 -
Norton Guide: `FAST.lib 3.50 » Referencia'
Menu List: FAST.lib 1, Gráficos
Esta sección intenta dotar a Clipper de accesos al modo gráfico, dado
que las bibliotecas estandard no permiten el uso de estos modos de vídeo.
Son simples funciones que no usan ningúna librería externa dado que ellas
mismas generan todos los algoritmos basados en cálculos internos. Y el código
solo se incrementará en 3kb de tamaño!!
──────────────────────────────────────────────────────────────────────────────
BackGraph()
Dibuja el fundo de un gráfico 3D
Sintaxis:
BackGraph ( cTitle, nMaxValue, nBaseSize ) -> NIL
cTitle : El título del gráfico
nMaxValue : El valor máximo del gráfico
nBaseSize : El tamaño de la base en pixels
Descripción:
Dibuja el fundo de un gráfico 3D incluyendo el título y la escala
dependiendo de nMaxValue.
De esta forma, con esta function y DrawBar() puede crear sus
propios gráficos.
Valor de Retorno:
Nada.
Ejemplo:
SetVGA()
BackGraph( "Esto es una demo", 150000, 60 )
Inkey( 0 )
TxtMode()
See Also: "DrawBar()"
Degrade()
Hace un degradado progresivo de la paleta
Sintaxis:
- Page 87 -
Norton Guide: `FAST.lib 3.50 » Referencia'
Degrade( cPalette ) -> NIL
cPalette : Un string de 768 bytes con la paleta actual o con una
que se desea tomar como referencia del degradado.
Descripción:
Está function trabajo sinctronizada con el controlador de CRT.
De esa forma el degradado ofrece una visión de suavidad y cambio
progresivo.
Valor de Retorno:
Nada.
Ejemplo:
cPalette := GetPalette()
Degrade( cPalette )
Upgrade( cPalette )
See Also: "Upgrade()" "GetPalette()"
DispChar()
Escribe un carácter en la pantalla
Sintaxis:
DispChar ( nChar, nX, nY, nFore, nBack ) -> NIL
nChar : El valor ascii del carácter
nX : Coordenada X
nY : Coordenada Y
nFore : El color del carácter
nBack : El color del fondo
Descripción:
Ecscribe un carácter en modo gráfico. El modo debe ser EGA o VGA.
Valor de Retorno:
Nada.
Ejemplo:
DispChar ( Asc ( "A" ), 20, 30, 2, 0 )
See Also: "DispStr()"
DispStr()
- Page 88 -
Norton Guide: `FAST.lib 3.50 » Referencia'
Escribe un string en la pantalla
Sintaxis:
DispStr ( cStr, nX, nY, nFore, nBack, nSep ) -> NIL
cStr : El string a escribir
nX : Coordenada X
nY : Coordenada Y
nFore : El color de los caracteres
nBack : El color del font
nSep : Espacio entre caracteres. Por defecto 8 pixels.
Descripción:
Escribe un string en modo gráfico. El modo debe ser EGA o VGA.
Valor de Retorno:
Nada.
Ejemplo:
DispStr ( "Escribe un modo gráfico", 20, 30, 2, 0, 10 )
See Also: "DispChar()" "Outxy()"
DrawBar()
Dibuja una barra 3D
Sintaxis:
DrawBar( nX, nY, nHigh, nWide, nShadowLen, ;
nColor, nShadowColor, lDelimiter, nTypeBar ) -> NIL
nX : Coordenada X
nY : Coordenada Y
nHigh : El alto de la barra
Ver ejemplo para más información
nWide : El ancho de la barra
nShadowLen : El tamaño de la sombra
nColor : El color de la barra
nShadowColor : El color de la sombra
lDelimiter : Un lógico indicando si se desea dibujar las líneas
delimitadoras de la barra
nTypeBar : Tupo de barra
0 : por defecto, normal
1 : piramidal ascendente
2 : piramidal descendente
3 : cilíndrica
Descripción:
- Page 89 -
Norton Guide: `FAST.lib 3.50 » Referencia'
Dibja un barra 3D en modo gráfico.
Esta función es usada por Graph*() en FAST.lib.
De esta forma, con esta función y BackGraph() puede crear sus
propios gráficos.
Valor de Retorno:
Nada.
Ejemplo:
#define BAR_RATE 250
nMax := 0
aBars := { 100, 200, 300, 400, 500, 300, 200, 350 }
// obtiene el valor máximo de las barras
aEval( aBars, { | nX | nMax := MAX( nX, nMax ) } )
SetVGA()
BackGraph( "Título", nMax, 80 )
FOR nInd := 1 TO LEN( aBars )
DrawBar( 100, ;
300 + ( 30 * nInd ), ;
150 / nMax * BAR_RATE, ;
20, 10, 3, 11, .F. )
NEXT
Inkey( 0 )
TxtMode()
See Also: "BackGraph()"
FliEver()
Muestra una animación FLI hasta que se pulse una tecla
Sintaxis:
FliEver( cFileFLI ) -> nResult
cFileFLI : El fichero FLI a mostrar
Descripción:
Muestra una animación FLI creada con Autodesk Animator hasta que
se pulse una tecla
La animación del Fast Library demo program es un ejemplo de un
CorelDRAW CD.
Valor de Retorno:
0 u otro número indicando un error.
- Page 90 -
Norton Guide: `FAST.lib 3.50 » Referencia'
Ejemplo:
FliEver( "demo.fli )
See Also: "FliOnce()"
FliOnce()
Muestra una animación FLI
Sintaxis:
FliOnce( cFileFLI ) -> nResult
cFileFLI : El fichero FLI a mostrar
Descripción:
Muestra una animación FLI creada con Autodesk Animator.
La animación del Fast Library demo program es un ejemplo de un
CorelDRAW CD.
Valor de Retorno:
0 u otro número indicando un error.
Ejemplo:
FliOnce( "demo.fli )
See Also: "FliEver()"
gBox()
Dibuja una caja en modo gráfico
Sintaxis:
gBox ( nX1, nY1, nX2, nY2, nColor ) -> NIL
nX1 : Coordenada X1
nY1 : Coordenada Y1
nX2 : Coordenada X2
nY2 : Coordenada Y2
nColor : Un número con el color
Descripción:
Dibuja una caja en modo gráfico. El modo debe ser EGA o VGA.
- Page 91 -
Norton Guide: `FAST.lib 3.50 » Referencia'
Valor de Retorno:
Nada.
Ejemplo:
gBox ( 200, 300, 250, 350, 4 )
See Also: "gLine()"
gCircle()
Dibuja una circunferencia en modo gráfico
Sintaxis:
gCircle ( nCenterX, nCenterY, nRadius, nColor ) -> NIL
nCenterX : Coordenada X del centro
nCenterY : Coordenada Y del centro
nRadius : Tamaño del radio
nColor : Un número con el color
Descripción:
Dibuja una circunferencia en modo gráfico. El modo debe ser
EGA o VGA.
Valor de Retorno:
Nada.
Ejemplo:
gCircle ( 200, 300, 50, 2 )
See Also: "gEllipse()"
GetPixel()
Retorna el color de un punto en modo gráfico
Sintaxis:
GetPixel( nCol, nRow ) -> nColor
nCol : Columna del punto
nRow : Fila del punto
Descripción:
Retorna el color de un punto especificado por sus coordenadas.
- Page 92 -
Norton Guide: `FAST.lib 3.50 » Referencia'
Valor de Retorno:
Nada.
Ejemplo:
nMode := SetVGA()
If GetPixel ( 330, 240 ) == 0
DispChar ( "Es negro", 20, 20, 3, 0, 10 )
EndIf
Inkey(0)
TxtMode()
See Also: "SetPixel()"
gEllipse()
Dibuja una elipse en modo gráfico
Sintaxis:
gEllipse ( nCenterX, nCenterY, nFocusA, nFocusB, nColor ) -> NIL
nCenterX : Coordenada X del centro
nCenterY : Coordenada Y del centro
nFocusA : Valor del foco A
nFocusB : Valor del foco B
nColor : Un número con el color
Descripción:
Dibuja una elipse en modo gráfico. El modo debe ser EGA o VGA.
Valor de Retorno:
Nada.
Ejemplo:
gEllipse ( 200, 300, 60, 50, 3 )
See Also: "gCircle()"
gifColors()
Retorna el número de colores de un GIF
Sintaxis:
gifIsGIF ( cFile ) -> nColors
cFile : Nombre del fichero GIF
- Page 93 -
Norton Guide: `FAST.lib 3.50 » Referencia'
Descripción:
Retorna el número de colores que contiene una imagen en
fichero GIF.
Valor de Retorno:
Un valor entre 2 y 256 indicando el número de colores o NIL si el
fichero no tiene formato GIF.
Ejemplo:
? gifColors ( "c:\xx\giveme.gif" )
See Also: "gifIsGIF()"
gifIsGIF()
Indica si un fichero tiene formato GIF
Sintaxis:
gifIsGIF ( cFile ) -> lIsGIF
cFile : Nombre del fichero GIF
Descripción:
Esta functión retorna un lógico indicando si el fichero tiene
formato GIF o no.
El resto de las funciones GIF usan esta función para determinar
si deben retornar valores.
Valor de Retorno:
.T. si el fichero es GIF o .F. si no tiene formato GIF o no existe.
Ejemplo:
? gifIsGIF ( "c:\xx\giveme.gif" )
See Also: "gifVersion()"
gifIsPalette()
Determina si el GIF tiene paleta
Sintaxis:
gifIsPalette( cFile ) -> lPalette
cFile : El nombre del fichero GIF
- Page 94 -
Norton Guide: `FAST.lib 3.50 » Referencia'
Descripción:
Esta función determina si debe usarse la paleta del sistema o si
el GIF tiene su propia paleta.
Valor de Retorno:
Un lógico indicando si tiene paleta o NIL si el fichero no tiene
formato GIF.
Ejemplo:
? gifIsPalette ( "c:\xx\giveme.gif" )
See Also: "gifIsGIF()"
gifShow256()
Muestra un GIF 320x200x256 en la pantalla
Sintaxis:
gifShow256 ( cFile ) -> lError
cFile : Nombre del fichero GIF
Descripción:
El GIF puede ser del tamaño que se desee. Olvidese de la limitación
de las 64kb.
Solo trabaja si existe una VGA en el sistema.
La función no espera tecla, ni restaura el modo de vídeo, así pues
esto es dejado a la responsabilidad del programador. Esto es muy
util cuando se desea mostrar varios GIF y no se desea volver a
modo texto entre uno y otro.
Esta función ha sido probada con GIF de 320x200x32, 320x200x64 y
320x200x256.
Valor de Retorno:
.T. si todo ha ido bien o .F. si el fichero no se encuentra o no
tiene formato GIF.
Ejemplo:
If IsVGA()
nOldMode := SetVGA256()
If gifShow256 ( "f:\xxx\giveme.gif" )
Inkey(0)
EndIf
VideoMode ( nOldMode )
EndIf
- Page 95 -
Norton Guide: `FAST.lib 3.50 » Referencia'
See Also: "GifShowVESA()"
gifShowVESA()
Muestra un GIF en modos VESA
Sintaxis:
gifShowVESA ( cFile ) -> lError
cFile : El nombre del fichero GIF
Descripción:
El GIF puede ser del tamaño que se desee. Olvidese de la limitación
de las 64kb.
Solo trabaja si existe una SVGA VESA compatible en el sistema.
La función no espera tecla, ni restaura el modo de vídeo, así pues
esto es dejado a la responsabilidad del programador. Esto es muy
util cuando se desea mostrar varios GIF y no se desea volver a
modo texto entre uno y otro.
Esta función ha sido probada con GIF de 640x400x256, 640x480x256,
800x600x256, 1024x768x256 y 1280x1024x256.
Valor de Retorno:
.T. si todo ha ido bien o .F. si el fichero no se encuentra o no
tiene formato GIF.
Ejemplo:
If IsVESA()
cFile := "f:\xxx\car.gif"
nOldMode := VideoMode()
nNewMode := SearchVESA( cFile )
If nNewMode != NIL
VESAMode( nNewMode )
If gifShowVESA ( cFile )
Inkey(0)
EndIf
VideoMode ( nOldMode )
EndIf
EndIf
See Also: "gifShow256()" "SearchVESA()"
gifVersion()
Retorna la versión de un GIF
Sintaxis:
- Page 96 -
Norton Guide: `FAST.lib 3.50 » Referencia'
gifVersion ( cFile ) -> nVersion
cFile : El nombre del fichero GIF
Descripción:
Esta función retorna la versión del formato GIF del fichero.
Valor de Retorno:
Un string que contiene la versión en la forma GIF89a o NIL si
el fichero no tiene formato GIF.
Ejemplo:
? gifVersion ( "c:\xx\giveme.gif" )
See Also: "gifIsGIF()"
gifX()
Retorna la anchura de un GIF
Sintaxis:
gifX ( cFile ) -> nWidth
cFile : El nombre del fichero GIF
Descripción:
Retorna el ancho, en pixels, de una imagen GIF.
Valor de Retorno:
Un número indicando el número de pixels de ancho o NIL si el
fichero no tiene formato GIF.
Ejemplo:
? gifX ( "c:\xx\giveme.gif" )
See Also: "gifIsGIF()" "gifX()"
gifY()
Retorna la altura de un GIF
Sintaxis:
gifX ( cFile ) -> nLong
- Page 97 -
Norton Guide: `FAST.lib 3.50 » Referencia'
cFile : El nombre del fichero GIF
Descripción:
Esta función retorna el alto, en pixels, de una imagen GIf.
Valor de Retorno:
Un número indicando el número de pixels de alto o NIL si el
fichero no tiene formato GIF.
Ejemplo:
? gifY ( "c:\xx\giveme.gif" )
See Also: "gifIsGIF()" "gifX()"
gLine()
Dibuja una línea en modo gráfico
Sintaxis:
gLine ( nX1, nY1, nX2, nY2, nColor ) -> NIL
nX1 : Coordenada X1
nY1 : Coordenada Y1
nX2 : Coordenada X2
nY2 : Coordenada Y2
nColor : Un número con el color
Descripción:
Dibuja una línea en modo gráfico. El modo debe ser EGA o VGA.
Valor de Retorno:
Nada.
Ejemplo:
gLine ( 200, 300, 250, 350, 4 )
See Also: "gBox()"
GraphBar()
Gráfico de barras con Clipper!!
Sintaxis:
GraphBar( cTitle, aArray1, aArray2, aArray3, aArray4, ;
- Page 98 -
Norton Guide: `FAST.lib 3.50 » Referencia'
nTypeBar ) -> NIL
cTitle : Título del gráfico
aArray1 : Contiene la leyenda y un array de valores para el gráfico
aArray2 : "
aArray3 : "
aArray4 : "
nTypeBar : Tipo de barra
0 : por defecto, normal
1 : piramidal ascendente
2 : piramidal descendente
3 : cilíndrica
Descripción:
Genera un gráfico de barras en Clipper. Solo trabaja en EGA y VGA.
El número de barras será el mayor de los 4 subarrays.
Esta función está hecha con otras funciones de FAST.lib, así pues,
puede hacer las suyas propias. El único objetivo es salvar algo de
de tiempo en su trabajo.
FAST ofrece la infraestructura para crear estas funciones.
Lo único que necesita son unos simples conocimientos de geometría
plana.
Valor de Retorno:
Nada.
Ejemplo:
SetVGA ()
GraphBar ( "GraphBar Demo", ;
{ "HP", { 481, 212, 212, 266, 699, 312 } }, ;
, ;
{ "DEC", { 481, 212, 212, 266, 699, 312 } }, ;
{ "IBM", { 281, 332, 212, 557, 499, 612 } }, ;
1 )
Inkey (0)
TxtMode ()
See Also: "GraphBar2()" "GraphBar3()" "GraphEllipse()" "GraphTart()"
GraphBar2()
Otro gráfico de barras con Clipper!!
Sintaxis:
GraphBar2( cTitle, aArray, nTypeBar ) -> NIL
cTitle : Título del gráfico
- Page 99 -
Norton Guide: `FAST.lib 3.50 » Referencia'
aArray : Un array bidimensional con los valores
nTypeBar : Tiopo de barra
0 : por defecto, normal
1 : piramidal ascendente
2 : piramidal descendente
3 : cilíndrica
Descripción:
Genera un gráfico de barras en Clipper. Solo trabaja en EGA y VGA.
Esta función está hecha con otras funciones de FAST.lib, así pues,
puede hacer las suyas propias. El único objetivo es salvar algo de
de tiempo en su trabajo.
FAST ofrece la infraestructura para crear estas funciones.
Lo único que necesita son unos simples conocimientos de geometría
plana.
Valor de Retorno:
Nada.
Ejemplo:
SetVGA ()
GraphBar2( "GraphBar2 Demo", ;
{ { 481, 212, 212, 266, 699, 312 }, ;
{ ... }, ;
{ 481, 212, 212, 266, 699, 312 }, ;
{ 281, 332, 212, 557, 499, 612 } ;
}, ;
2 )
Inkey (0)
TxtMode ()
See Also: "GraphBar()" "GraphBar3()" "GraphEllipse()" "GraphTart()"
GraphBar3()
Y otro gráfico de barras con Clipper!!
Sintaxis:
GraphBar3( cTitle, aItems, aArray, nTypeBar ) -> NIL
cTitle : Título del gráfico
aItems : Un array con leyendas
aValues : Un array con los valores
nTypeBar : Tipo de barra
0 : por defecto, normal
1 : piramidal ascendente
2 : piramidal descendente
3 : cilíndrica
- Page 100 -
Norton Guide: `FAST.lib 3.50 » Referencia'
Descripción:
Genera un gráfico de barras en Clipper. Solo trabaja en EGA y VGA.
Esta función está hecha con otras funciones de FAST.lib, así pues,
puede hacer las suyas propias. El único objetivo es salvar algo de
de tiempo en su trabajo.
FAST ofrece la infraestructura para crear estas funciones.
Lo único que necesita son unos simples conocimientos de geometría
plana.
Valor de Retorno:
Nada.
Ejemplo:
SetVGA ()
GraphBar3( "GraphBar3 Demo", ;
{ "Item1", "Item2", "Item3", "Item4" }, ;
{ 481, 212, 212, 266 }, ;
3 )
Inkey (0)
TxtMode ()
See Also: "GraphBar()" "GraphBar2()" "GraphEllipse()" "GraphTart()"
GraphEllipse()
Gráficos de tarta con Clipper!!
Sintaxis:
GraphEllipse ( nX, nY, nFocus, aArray ) -> NIL
nX : Coordenada X del centro de la elipse
nY : Coordenada Y del centro de la elipse
nFocus : Foco A de la elipse
aArray : Un array de valores para el gráfico. Permite tantos
elementos como se desee.
Descripción:
Genera un gráfico de barras en Clipper. Solo trabaja en EGA y VGA.
Esta función no tiene la opción de poner títulos y leyendas dado
que permite al usuario posicionar el gráfico en cualquier posición.
Es importante resaltar que el gráfico será dibujado en zonas de
diferentes colores, comenzando con el color 1 en la primera zona,
2 en la segunda y así sucesivamente hasta 15. Este proceso será
recursivo si hay más de 15 zonas. Esto es muy importante en orden
- Page 101 -
Norton Guide: `FAST.lib 3.50 » Referencia'
a determinar el color de cada leyenda del gráfico.
Valor de Retorno:
Nada.
Ejemplo:
SetVGA()
cTitle := "Fast Graphic System"
GraphEllipse( 320, 240, 100, { 17, 3, 15, 60, 15 } )
DispStr ( cTitle, 320 - Len ( cTitle ) * 4, 370, 15, 0 )
Legend ( 320, 460, 15, 4, "Fast Library" )
Inkey (0)
TxtMode ()
See Also: "Legend()" "DispStr()" "GraphBar()" "GraphBar2()" "GraphTart()"
GraphLine()
Gráfico de líneas con Clipper!!
Sintaxis:
GraphLine( cTitle, aArray ) -> NIL
cTitle : Título del gráfico
aArray : Un array bidimensional con los valores
Descripción:
Genera un gráfico de barras en Clipper. Solo trabaja en EGA y VGA.
Esta función está hecha con otras funciones de FAST.lib, así pues,
puede hacer las suyas propias. El único objetivo es salvar algo de
de tiempo en su trabajo.
FAST ofrece la infraestructura para crear estas funciones.
Lo único que necesita son unos simples conocimientos de geometría
plana.
Valor de Retorno:
Nada.
Ejemplo:
SetVGA ()
GraphLine( "GraphLine Demo", ;
{ { 481, 212, 212, 266, 699, 312 }, ;
{ ... }, ;
{ 481, 212, 212, 266, 699, 312 }, ;
{ 281, 332, 212, 557, 499, 612 } ;
} )
- Page 102 -
Norton Guide: `FAST.lib 3.50 » Referencia'
Inkey (0)
TxtMode ()
See Also: "GraphBar()" "GraphBar2()" "GraphEllipse()" "GraphZone()"
GraphTart()
Otro gráfico de tarta con Clipper!!
Sintaxis:
GraphTart ( nX, nY, nRadius, aArray ) -> NIL
nX : Coordenada X del centro de la circunferencia
nY : Coordenada Y del centro de la Circunferencia
nRadius : Radio de la circunferencia
aArray : Un array de valores para el gráfico. Permite tantos
elementos como se desee.
Descripción:
Genera un gráfico de barras en Clipper. Solo trabaja en EGA y VGA.
Esta función está hecha con otras funciones de FAST.lib, así pues,
puede hacer las suyas propias. El único objetivo es salvar algo de
de tiempo en su trabajo.
FAST ofrece la infraestructura para crear estas funciones.
Lo único que necesita son unos simples conocimientos de geometría
plana.
Esta función no tiene la opción de poner títulos y leyendas dado
que permite al usuario posicionar el gráfico en cualquier posición.
Es importante resaltar que el gráfico será dibujado en zonas de
diferentes colores, comenzando con el color 1 en la primera zona,
2 en la segunda y así sucesivamente hasta 15. Este proceso será
recursivo si hay más de 15 zonas. Esto es muy importante en orden
a determinar el color de cada leyenda del gráfico.
Valor de Retorno:
Nada.
Ejemplo:
SetVGA()
cTitulo := "Fast Graphic System"
GraphTart ( 320, 240, 100, { 17, 3, 15, 60, 15 } )
DispStr ( cTitulo, 320 - Len ( cTitulo ) * 4, 370, 15, 0 )
Legend ( 320, 460, 15, 4, "Fast Library" )
Inkey (0)
TxtMode ()
- Page 103 -
Norton Guide: `FAST.lib 3.50 » Referencia'
See Also: "Legend()" "DispStr()" "GraphBar()" "GraphBar2()" "GraphEllipse()"
GraphZone()
Gráfico de zonas con Clipper!!
Sintaxis:
GraphZone( cTitle, aArray ) -> NIL
cTitle : Título del gráfico
aArray : Un array bidimensional con los valores
Descripción:
Genera un gráfico de barras en Clipper. Solo trabaja en EGA y VGA.
Esta función está hecha con otras funciones de FAST.lib, así pues,
puede hacer las suyas propias. El único objetivo es salvar algo de
de tiempo en su trabajo.
FAST ofrece la infraestructura para crear estas funciones.
Lo único que necesita son unos simples conocimientos de geometría
plana.
Valor de Retorno:
Nada.
Ejemplo:
SetVGA ()
GraphZone( "GraphZone Demo", ;
{ { 481, 212, 212, 266, 699, 312 }, ;
{ ... }, ;
{ 481, 212, 212, 266, 699, 312 }, ;
{ 281, 332, 212, 557, 499, 612 } ;
} )
Inkey (0)
TxtMode ()
See Also: "GraphBar()" "GraphBar2()" "GraphEllipse()" "GraphLine()"
IsCGA()
Determina si el sistema tiene tarjeta CGA
Sintaxis:
IsCGA() -> lCGA
Descripción:
- Page 104 -
Norton Guide: `FAST.lib 3.50 » Referencia'
Determina si el sistema tiene tarjeta CGA y retorna un lógico
indicando el resultado.
Valor de Retorno:
.T. si existe y .F. si no.
Ejemplo:
If IsCGA()
? "Hay una tarjeta CGA"
EndIf
See Also: "IsEGA()" "IsHerc()" "IsLCD()" "IsVGA()"
IsEGA()
Determina si el sistema tiene tarjeta EGA
Sintaxis:
IsEGA() -> lEGA
Descripción:
Determina si el sistema tiene tarjeta EGA y retorna un lógico
indicando el resultado.
Valor de Retorno:
.T. si existe y .F. si no.
Ejemplo:
If IsEGA()
? "Hay una tarjeta EGA"
EndIf
See Also: "IsCGA()" "IsHerc()" "IsLCD()" "IsVGA()"
IsHerc()
Determina si el sistema tiene tarjeta Hercules
Sintaxis:
IsHerc() -> lHerc
Descripción:
Determina si el sistema tiene tarjeta Hercules y retorna un lógico
indicando el resultado.
- Page 105 -
Norton Guide: `FAST.lib 3.50 » Referencia'
Valor de Retorno:
.T. si existe y .F. si no.
Ejemplo:
If IsHerc()
? "Hay una tarjeta Hercules"
EndIf
See Also: "IsCGA()" "IsEGA()" "IsLCD()" "IsVGA()"
IsLCD()
Determina si el existe un monitor LCD
Sintaxis:
IsLCD() -> lLCD
Descripción:
Determina si el sistema tiene monitor LCD y retorna un lógico
indicando el resultado.
Valor de Retorno:
.T. si existe y .F. si no.
Ejemplo:
If IsLCD()
? "Hay una monitor LCD"
EndIf
See Also: "IsCGA()" "IsEGA()" "IsHerc()" "IsVGA()"
IsMono()
Determina si el sistema tiene tarjeta VGA mono
Sintaxis:
IsMono() -> lVGAMono
Descripción:
Determina si el sistema tiene tarjeta VGA mono y retorna un lógico
indicando el resultado.
Valor de Retorno:
.T. si existe y .F. si no.
- Page 106 -
Norton Guide: `FAST.lib 3.50 » Referencia'
Ejemplo:
If IsMono()
? "Hay una tarjeta VGA mono"
EndIf
See Also: "IsCGA()" "IsEGA()" "IsHerc()" "IsLCD()" "IsVGA()" "IsVESA()"
IsVESA()
Determina si el sistema gráfico es compatible con VESA
Sintaxis:
IsVESA() -> lVESA
Descripción:
Retorna un lógico indicando si el sistema es compatible con el
standard desarrollado por el comité VESA. Si su tarjeta gráfico no
es compatible con VESA contacte con su distribuidor y probablemente
habrá algun driver que permite a su tarjeta la emulación VESA.
Valor de Retorno:
Un lógico indicando si es compatible.
Ejemplo:
If IsVESA()
? VESAVer()
EndIf
See Also: "IsVGA()" "VESAMode()" "VESAOEM()" "VESAVer()"
IsVGA()
Determina si el sistema tiene tarjeta VGA
Sintaxis:
IsVGA() -> lVGA
Descripción:
Determina si el sistema tiene tarjeta VGA y retorna un lógico
indicando el resultado.
Valor de Retorno:
.T. si existe y .F. si no.
- Page 107 -
Norton Guide: `FAST.lib 3.50 » Referencia'
Ejemplo:
If IsVGA()
? "Hay una tarjeta VGA"
EndIf
See Also: "IsCGA()" "IsEGA()" "IsHerc()" "IsLCD()" "IsMono()" "IsVESA()"
Legend()
Dibuja y rellena un cuadro con texto opcional
Sintaxis:
Legend ( nX, nY, nSize, nColor, cText ) -> NIL
nX : Coordenada X superior izquierda del cuadro
nY : Coordenada Y superior izquierda del cuadro
nSize : Tamaño del cuadro
nColor : Color del cuadro
cText : Un texto asociado con este color en la leyenda
Descripción:
Está función ya existía en la versión 1.25 pero no estaba
documentada ya que era usada internamente por GraphBar().
Ahora, con la inclusión de GraphTart() el usuario puede crear
sus propias leyendas donde y cuando guste dado que ha sido
documentada.
Valor de Retorno:
Nada.
Ejemplo:
SetVGA()
cTitulo := "Fast Graphic System"
GraphTart ( 320, 240, 100, { 17, 3, 15, 60, 15 } )
DispStr ( cTitulo, 320 - Len ( cTitulo ) * 4, 370, 15, 0 )
Legend ( 320, 460, 15, 4, "Fast Library" )
Inkey (0)
TxtMode ()
See Also: "DispStr()" "GraphBar()" "GraphTart()"
Origin()
Modifica el origen de vídeo en el CRT controller
Sintaxis:
- Page 108 -
Norton Guide: `FAST.lib 3.50 » Referencia'
Origin( nX, nY ) -> NIL
nX : Coordenada X
nY : Coordenada Y
Descripción:
Accede al CRT controller y fija la posición relativo dada como
comoienzo de la memoria de vídeo.
Por ejemplo, si se llama a Origin( 5, 6 ) se indica que la nueva
posición X es desplazada 5 pixels y la Y es desplazada 6 pixels.
Con esto la imagen descenderá 6 líneas y se moverá 5 columnas hacia
la derecha.
Los movimientos son extraordinariamente rápidos.
Valor de Retorno:
Nada.
Ejemplo:
gifShow256( "demo.gif" )
For nInd := 0 To 200 Step 2
Origin( 0, nInd )
Next
Outxy()
Escribe un string en la pantalla en todos los modos
Sintaxis:
Outxy( nX, nY, cString, nColor ) -> NIL
nX : Coordenada X
nY : Coordenada Y
cString : El string a escribir
nColor : El color de los caracteres
Descripción:
Escribe un string en modo gráfico. La función trabaja en todos
los modos de vídeo, CGA, Herc, EGA, VGA y SVGA.
Valor de Retorno:
Nada.
Ejemplo:
DispStr ( 20, 10, "Write in graphic mode", 10 )
- Page 109 -
Norton Guide: `FAST.lib 3.50 » Referencia'
See Also: "DispChar()" "DispStr()"
GetPalette()
Retorna el color actual de la paleta
Sintaxis:
GetPalette() -> cPalette
Descripción:
Retorna un string de 768 con el color actual de la paleta.
Esta función es muy útil con Upgrade() y Degrade().
Valor de Retorno:
Un string de 768 bytes con el color de la paleta.
Ejemplo:
cPalette := GetPalette()
Degrade( cPalette )
Upgrade( cPalette )
See Also: "Degrade()" "SetPalette()" "Upgrade()"
pcxBitsPixel()
Retorna el número de bits por pixel de un PCX
Sintaxis:
pcxBitsPixel ( cFile ) -> nBitsPixel
cFile : Nombre del fichero PCX
Descripción:
Esta función retorna el número de bits por pixel de un fichero
PCX si éste existe y tiene formato PCX. Caso contrario retorna
NIL.
Valor de Retorno:
El número de bits por pixel o NIL si el fichero no existe o no
tiene formato PCX.
Ejemplo:
? pcxBitsPixel ( "c:\fast\lib\fast.pcx" )
- Page 110 -
Norton Guide: `FAST.lib 3.50 » Referencia'
See Also: "pcxIsPCX()"
pcxIsPCX()
Inidica si un fichero tiene formato PCX o no
Sintaxis:
pcxIsPCX ( cFile ) -> lEsPCX
cFile : Nombre del fichero PCX
Descripción:
Esta función retorna un lógico indicando si el fichero es PCX o no.
El resto de las funciones PCX usan ésta para determinar cuando
deben retornar valores.
Valor de Retorno:
.T. si el fichero es un PCX o .F. si el fichero no tiene formato
PCX o no existe.
Ejemplo:
? pcxIsPCX ( "c:\fast\lib\fast.pcx" )
pcxShow()
Muestra un PCX 16 colores en la pantalla
Sintaxis:
pcxShow ( cFile, [lPalette], [nX], [nY] ) -> lError
cFile : Nombre del fichero PCX
lPalette : UN lógico indicando si se desea la paleta del PCX o la
del sistema. Si es .T. prevalece la paleta del PCX y si
es .F. se fijará la paleta del sistema. Por defecto .T.
Esta opción es muy útil para programas tipo PaintBrush
for Windows que destruyen la paleta.
nX : Coordenada inicial X donde se desea ver el PCX.
Por defecto es 0. Puede ser asignado cualquier valor
entre 0 y el número de pixels horizontales del modo
actual. Por ejemplo, si es VGA, entre 0 y 639.
nY : Coordenada inicial Y donde se desea ver el PCX.
Por defecto es 0. Puede ser asignado cualquier valor
entre 0 y el número de pixels verticales del modo
actual. Por ejemplo, si es VGA, entre 0 y 479.
Descripción:
- Page 111 -
Norton Guide: `FAST.lib 3.50 » Referencia'
El PCX puede ser de cualquier tamaño. Olvídese de la limitación
de los 64kb.
Solo trabaja si el sistema dispone de VGA.
Esta función no activa el modo de vídeo al entrar ni lo desactiva
al salir. Esto es muy útil cuando se desea mostrar varios PCX uno
tras otro y no se desea cambiar a modo texto entre ellos.
Valor de Retorno:
.T. si todo va bien o .F. si el fichero no existe, el sistema no
tiene VGA o el fichero no tiene formato PCX.
Ejemplo:
nOldMode := SetVGA()
If pcxShow ( "c:\fast\lib\fast1.pcx", .T. 10, 10 )
Inkey(0)
EndIf
VideoMode ( noldmode )
See Also: "pcxShow256()"
pcxShow256()
Muestra un fichero PCX 320x200x256 en la pantalla
Sintaxis:
pcxShow256 ( cFile, [lPalette], [lDegrade] ) -> lError
cFile : Nombre del fichero PCX
lPalette : Un lógico indicando si se desea fijar la paleta del PCX
o la del sistema. Si es .T. prevalece la del PCX y si
es .F. se fijará la del sistema. Por defecto es .T.
Esta opción es muy útil para programas tipo PaintBrush
for Windows que destruyen la paleta.
lDegrade : Un lógico indicando si se desea fijar la paleta en una
simulación de degradado progresivo (.T.) o si se desea
fijar la paleta de forma rápida (.F.). Por defecto es .F.
Solo disponible cuando lPalette es .T.
Descripción:
El PCX puede ser de cualquier tamaño. Olvídese de la limitación
de los 64kb.
Solo trabaja si el sistema dispone de VGA.
Esta función no activa el modo de vídeo al entrar ni lo desactiva
al salir. Esto es muy útil cuando se desea mostrar varios PCX uno
tras otro y no se desea cambiar a modo texto entre ellos.
- Page 112 -
Norton Guide: `FAST.lib 3.50 » Referencia'
Valor de Retorno:
.T. si todo va bien o .F. si el fichero no existe, el sistema no
tiene VGA o el fichero no tiene formato PCX.
Ejemplo:
noldmode := SetVGA256()
If pcxShow256 ( "c:\fast\lib\m_roibal.pcx" )
Inkey(0)
EndIf
VideoMode ( noldmode )
See Also: "pcxShow()"
pcxPlanes()
Retorna el número de planos de un PCX
Sintaxis:
pcxPlanes ( cFile ) -> nPlanes
cFile : Nombre del fichero PCX
Descripción:
Esta función retorna el número de planos de un fichero PCX si
existe y tiene formato PCX. Caso contrario retorna NIL.
Valor de Retorno:
El número de planos o NIL si el fichero no existe o no tiene
formato PCX.
Ejemplo:
? pcxPlanes ( "c:\fast\lib\fast.pcx" )
See Also: "pcxIsPCX()"
pcxPalette()
Retorna la paleta de un PCX
Sintaxis:
pcxPalette ( cFile ) -> cPalette
cFile : Nombre del fichero PCX
Descripción:
- Page 113 -
Norton Guide: `FAST.lib 3.50 » Referencia'
Esta función retorna la paleta de colores de un fichero PCX.
El resultado no tiene significado si la tarjeta de vídeo es
monocroma.
Valor de Retorno:
Un string de 48 bytes con la paleta o NIL si el fichero no existe
o no tiene formato PCX.
Ejemplo:
cPalette := pcxPalette ( "c:\fast\lib\fast.pcx" )
See Also: "pcxIsPCX()"
pcxResH()
Retorna la resolución horizontal de un PCX
Sintaxis:
pcxResH ( cFile ) -> nResH
cFile : Nombre del fichero PCX
Descripción:
Esta función retorna la resolución horizontal de un fichero PCX si
existe un tiene formato PCX. Caso contrario retorna NIL.
Valor de Retorno:
La resolución horizontal o NIL si el fichero no existe o no tiene
formato PCX.
Ejemplo:
? pcxResH ( "c:\fast\lib\fast.pcx" )
See Also: "pcxIsPCX()" "pcxResV()"
pcxResV()
Retorna la resolución vertical de un PCX
Sintaxis:
pcxResV ( cFile ) -> nResV
cFile : Nombre del fichero PCX
Descripción:
- Page 114 -
Norton Guide: `FAST.lib 3.50 » Referencia'
Esta función retorna la resolución vertical de un fichero PCX si
existe un tiene formato PCX. Caso contrario retorna NIL.
Valor de Retorno:
La resolución vertical o NIL si el fichero no existe o no tiene
formato PCX.
Ejemplo:
? pcxResV ( "c:\fast\lib\fast.pcx" )
See Also: "pcxIsPCX()" "pcxResH()"
pcxVersion()
Retorna la versión del formato de un fichero PCX
Sintaxis:
pcxVersion ( cFile ) -> cVersion
cFile : Nombre del fichero PCX
Descripción:
Retorna la versión del formato de un fichero PCX si ésta es
conocida.
Esta función permite formatos desde 2.5 hasta 3.0. El resto de
los formato inferiores a 2.5 son compatibles con éste.
Valor de Retorno:
Un string con la versión del formato.
Ejemplo:
? pcxVersion ( "c:\fast\lib\fast.pcx" )
See Also: "pcxIsPCX()"
pcxX1()
Retorna la coordenada inicial X del PCX
Sintaxis:
pcxX1 ( cFile ) -> cCoorX1
cFile : Nombre del fichero PCX
- Page 115 -
Norton Guide: `FAST.lib 3.50 » Referencia'
Descripción:
Retorna la coordenada inicial X del fichero PCX que es usualmente 0.
Valor de Retorno:
El valor de la coordenada inicial X.
Ejemplo:
? pcxX1 ( "c:\fast\lib\fast.pcx" )
See Also: "pcxIsPCX()" "pcxX2()" "pcxY1()" "pcxY2()"
pcxX2()
Retorna la coordenada final X del PCX
Sintaxis:
pcxX2 ( cFile ) -> cCoorX2
cFile : Name of the PCX file
Descripción:
Retorna la coordenada final X del fichero PCX. Este valor usualmente
determina el propio ancho del PCX cuando exactamente debería
calcularse de la siguiente forma:
nWidth := pcxX2 - pcxX1 + 1
Dado que habitualmente pcxX1 toma valor 0, el valor pcxX2 + 1
indica el ancho por si mismo.
Valor de Retorno:
El valor del la coordenada final X.
Ejemplo:
? pcxX2 ( "c:\fast\lib\fast.pcx" )
See Also: "pcxIsPCX()" "pcxX1()" "pcxY1()" "pcxY2()"
pcxY1()
Retorna la coordenada inicial Y del PCX
Sintaxis:
pcxY1 ( cFile ) -> cCoorY1
- Page 116 -
Norton Guide: `FAST.lib 3.50 » Referencia'
cFile : Nombre del fichero PCX
Descripción:
Retorna la coordenada inicial Y del fichero PCX que es usualmente 0.
Valor de Retorno:
El valor de la coordenada inicial Y.
Ejemplo:
? pcxY1 ( "c:\fast\lib\fast.pcx" )
See Also: "pcxIsPCX()" "pcxX1()" "pcxX2()" "pcxY2()"
pcxY2()
Retorna la coordenada final Y del PCX
Sintaxis:
pcxY2 ( cFile ) -> cCoorY2
cFile : Name of the PCX file
Descripción:
Retorna la coordenada final Y del fichero PCX. Este valor
usualmente determina el propio alto del PCX cuando exactamente
debería calcularse de la siguiente forma:
nHeight := pcxY2 - pcxY1 + 1
Dado que habitualmente pcxY1 toma valor 0, el valor pcxY2 + 1
indica el alto por si mismo.
Valor de Retorno:
El valor del la coordenada final Y.
Ejemplo:
? pcxY2 ( "c:\fast\lib\fast.pcx" )
See Also: "pcxIsPCX()" "pcxX1()" "pcxX2()" "pcxY1()"
SearchVESA()
Busca el modo VESA de un fichero GIF
Sintaxis:
- Page 117 -
Norton Guide: `FAST.lib 3.50 » Referencia'
SearchVESA ( cFile ) -> nMode
cFile : El nombre del fichero GIF
Descripción:
Lee la cabecera de un fichero GIF y determina el modo de vídeo
VESA adecuado para la imagen.
Valor de Retorno:
El modo VESA apropiado o NIL si el fichero no existe, no es un
fichero GIF o el tamaño del GIF es desconocido.
Ejemplo:
cFile := "f:\xxx\car.gif" // 1024x768x256
? SearchVESA( cFile ) // VESA mode 261
See Also: "gifColors()" "gifShowVESA()" "gifX()" "gifY()"
SetEGA()
Activa el modo EGA 640x350 16 colores
Sintaxis:
SetEGA() -> nOldMode
Descripción:
Activa el modo de vídeo EGA 640x350x16 colores y retorna el modo
anterior.
Esta función es un caso especial de la genérica VideoMode().
Valor de Retorno:
El modo de vídeo anterior.
Ejemplo:
SetEGA()
See Also: "VideoMode()" "SetVGA()" "TxtMode()"
SetPalette()
Activa una paleta de colores
Sintaxis:
SetPalette( cPalette ) -> NIL
- Page 118 -
Norton Guide: `FAST.lib 3.50 » Referencia'
cPalette : un string con la nueva paleta
Descripción:
Activa una paleta de colores.
Valor de Retorno:
Nada.
Ejemplo:
SetPalette( cNewPalette )
See Also: "Degrade()" "GetPalette()" "Upgrade()"
SetPixel()
Dibuja un punto en modo gráfico
Sintaxis:
SetPixel( nCol, nRow, nColor ) -> NIL
nCol : La columna del punto.
nRow : La fila del punto.
nColor : El color. Debe ser un valor numérico.
Descripción:
Dibuja un punto en la pantalla en las coordenadas y color dados.
Valor de Retorno:
Nada.
Ejemplo:
nMode := SetVGA()
SetPixel ( 330, 240, 2 )
Inkey(0)
TxtMode()
See Also: "GetPixel()"
SetVGA()
Activa el modo VGA 640x480 16 colores
Sintaxis:
SetVGA() -> nOldMode
- Page 119 -
Norton Guide: `FAST.lib 3.50 » Referencia'
Descripción:
Activa el modo de vídeo VGA 640x480x16 colores y retorna el modo
anterior.
Esta función es un caso especial de la genérica VideoMode().
Valor de Retorno:
El modo de vídeo anterior.
Ejemplo:
SetVGA()
See Also: "SetEGA()" "VideoMode()" "TxtMode()"
SetVGA256()
Activa el modo VGA 320x200x256 colores
Sintaxis:
SetVGA256() -> nOldMode
Descripción:
Activa el modo de vídeo VGA 320x200x256 colores y retorna el modo
anterior.
Esta función es un caso especial de la genérica VideoMode().
Valor de Retorno:
El modo de vídeo anterior.
Ejemplo:
SetVGA256()
See Also: "SetEGA()" "VideoMode()" "SetVGA()" "TxtMode()"
SetVGA()
Activa el modo VGA texto 80x25
Sintaxis:
TxtMode() -> nOldMode
Descripción:
- Page 120 -
Norton Guide: `FAST.lib 3.50 » Referencia'
Activa el modo de vídeo VGA texto 80x25 y retorna el modo
anterior.
Esta función es un caso especial de la genérica VideoMode().
Valor de Retorno:
El modo de vídeo anterior.
Ejemplo:
TxtMode()
See Also: "SetEGA()" "VideoMode()" "SetVGA()"
Upgrade()
Fija una paleta de forma progresiva
Sintaxis:
Upgrade( cPalette ) -> NIL
cPalette : Un string de 768 bytes con la paleta actual o con una
paleta que se desea sea tomada como referencia para
upgrade().
Descripción:
Esta función trabaja en sincronismo con el CRT controller, así
pues, el degradado ofrece un visión de cambio suave y progresivo.
Valor de Retorno:
Nada.
Ejemplo:
cPalette := GetPalette()
Degrade( cPalette )
Upgrade( cPalette )
See Also: "Degrade()" "GetPalette()"
VESAMode()
Activa un modo de vídeo VESA
Sintaxis:
VESAMode( [nMode] ) -> nOldMode
nMode : El modo de vídeo VESA a hacer activo:
- Page 121 -
Norton Guide: `FAST.lib 3.50 » Referencia'
VESA 1.0
0-255 -> OEM video modes, CGA, EGA, VGA...
256 -> 640 x 400 x 256 colors Graph
257 -> 640 x 480 x 256 colors Graph
258 -> 800 x 600 x 16 colors Graph
259 -> 800 x 600 x 256 colors Graph
260 -> 1024 x 768 x 16 colors Graph
261 -> 1024 x 768 x 256 colors Graph
262 -> 1280 x 1024 x 16 colors Graph
263 -> 1280 x 1024 x 256 colors Graph
264 -> 80 x 60 x 16 colors Text
265 -> 132 x 25 x 16 colors Text
266 -> 132 x 43 x 16 colors Text
267 -> 132 x 50 x 16 colors Text
268 -> 132 x 60 x 16 colors Text
VESA 1.2
269 -> 320 x 200 x 32k colors Graph
270 -> 320 x 200 x 64k colors Graph
271 -> 320 x 200 x 16M colors Graph
272 -> 640 x 480 x 32k colors Graph
273 -> 640 x 480 x 64k colors Graph
274 -> 640 x 480 x 16M colors Graph
275 -> 800 x 600 x 32k colors Graph
276 -> 800 x 600 x 64k colors Graph
277 -> 800 x 600 x 16M colors Graph
278 -> 1024 x 768 x 32k colors Graph
279 -> 1024 x 768 x 64k colors Graph
280 -> 1024 x 768 x 16M colors Graph
281 -> 1280 x 1024 x 32k colors Graph
282 -> 1280 x 1024 x 64k colors Graph
283 -> 1280 x 1024 x 16M colors Graph
Descripción:
Activa un modo de vídeo via VESA driver. La ventaja de usar este
driver es que se puede obviar la programación de las diferentes SVGA
dado que el driver VESA las unifica.
El driver existente en muchas BBS < Universal VESA > puede ser
instalado en un gran número de chip sets. No obstante, se recomienda
un driver VESA específico para cada tarjeta dado que estará más
optimizado.
Valor de Retorno:
El modo de vídeo anterior.
Ejemplo:
? VESAMode( 257 ) // activa SVGA 640x480x256 colores
- Page 122 -
Norton Guide: `FAST.lib 3.50 » Referencia'
See Also: "IsVESA()" "VESAOEM()" "VESAVer()"
VESAOEM()
Retorna el OEM de un driver VESA
Sintaxis:
VESAOEM() -> cOEM
Descripción:
Retorna un string con el OEM o fabricante de un driver VESA.
Valor de Retorno:
Un string con el nombre del fabricante.
Ejemplo:
? VESAOEM()
See Also: "IsVESA()" "VESAMode()" "VESAVer()"
VESAVer()
Retorna la versión del driver VESA
Sintaxis:
VESAVer() -> cVersion
Descripción:
Retorna un string de 5 caracteres con la versión del driver VESA,
sin importar si el driver es soft o está incluído en la propia
tarjeta de vídeo.
Valor de Retorno:
Un string como xx.xx con la versión del driver.
Ejemplo:
If IsVESA()
? VESAVer()
EndIf
See Also: "IsVESA()" "VESAMode()" "VESAOEM()"
VideoMode()
- Page 123 -
Norton Guide: `FAST.lib 3.50 » Referencia'
Retorna y/o cambia el modo de vídeo
Sintaxis:
VideoMode( nNewMode ) -> nOldMode
nNewMode : El nuevo modo de vídeo.
01 -> 40x25
03 -> 80x25
15 -> EGA 640x350 Mono
16 -> EGA 640x350 Color
17 -> VGA 640x480 Mono
18 -> VGA 640x480 Color
...
Descripción:
Retorna el modo de vídeo activa y opcionalmente lo cambia al
modo especificado. Para obtener más información sobre modos de
vídeo consulte la extensa bibliografía existente sobre el tema.
Se recomienda la lista de interrupciones de Ralf Brown que está
disponible en muchas BBS.
Valor de Retorno:
El modo de vídeo anterior.
Ejemplo:
nOld := VideoMode ( 18 )
DispStr ( "Hello", 10, 10, 7, 12 )
Inkey(0)
VideoMode ( nOld )
- Page 124 -
Norton Guide: `FAST.lib 3.50 » Referencia'
Menu List: FAST.lib 1, Teclado
Con estas funciones se centralizan todos los accesos al teclado en
Clipper.
──────────────────────────────────────────────────────────────────────────────
ClrBuffer()
Vacia el buffer de teclado y el valor de Lastkey()
Sintaxis:
ClrBuffer() -> NIL
Descripción:
ClrBuffer() es una función de teclado que limpia todas las teclas
pendientes en el buffer de teclado de Clipper y resetea el valor
de Lastkey().
Valor de Retorno:
Nada.
Ejemplo:
ClrBuffer()
See Also: "Inkey2()" "SetLastKey()"
FastKey()
Establece el máximo ratio de typematic
Sintaxis:
FastKey() -> NIL
Descripción:
Establace el mínimo intervalo de tiempo de typematic y de comienzo
de auto-repeat.
Valor de Retorno:
Nada.
Ejemplo:
- Page 125 -
Norton Guide: `FAST.lib 3.50 » Referencia'
FastKey()
See Also: "NormKey()" "SlowKey()"
Inkey2()
Hace lo mismo que Inkey() pero atiende al Setkey()
Sintaxis:
Inkey2( nSeconds ) -> NIL
Descripción:
La forma de actuar de esta function es exactamente igual a la
función standard Inke() de Clipper.lib pero atendiendo a los
SetKey() definidos en el sistema.
Valor de Retorno:
Los mismo que InKey()
Ejemplo:
InKey2( 0 )
See Also: "ClrBuffer()"
IsAlt()
Determina si la tecla Alt está pulsada
Sintaxis:
IsAlt() -> lPress
Descripción:
Determina si la tecla Alt está pulsada retornando un valor lógico.
Valor de Retorno:
Un valor lógico indicando si está pulsada o no.
Ejemplo:
If IsAlt()
Warning ( "Alt está pulsada" )
EndIf
See Also: "IsCtrl()" "IsLShift()" "IsRShift()"
- Page 126 -
Norton Guide: `FAST.lib 3.50 » Referencia'
IsCaps()
Determina si la tecla Caps Lock está activa
Sintaxis:
IsCaps( [ lNew ] ) -> lActive
lNew : a logic value with the new state of Caps lock key
Descripción:
Determina si la tecla Caps está activa retornando un valor lógico.
Valor de Retorno:
Un valor lógico indicando si está activa o no.
Ejemplo:
If IsCaps()
Warning ( "Capslock está en ON" )
EndIf
See Also: "IsInsert()" "IsNum()" "IsScroll()"
IsCtrl()
Determina si la tecla Ctrl está pulsada
Sintaxis:
IsCtrl() -> lPress
Descripción:
Determina si la tecla Ctrl está pulsada retornando un valor lógico.
Valor de Retorno:
Un valor lógico indicando si está pulsada o no.
Ejemplo:
If IsCtrl()
Warning ( "Ctrl está pulsada" )
EndIf
See Also: "IsAlt()" "IsLShift()" "IsRShift()"
IsInsert()
Determina si Insert está activo
- Page 127 -
Norton Guide: `FAST.lib 3.50 » Referencia'
Sintaxis:
IsInsert( [ lNew ] ) -> lActive
lNew : a logic value with the new mode of Insert key
Descripción:
Determina si la tecla Ctrl está pulsada retornando un valor lógico.
Valor de Retorno:
Un valor lógico indicando si está activa o no.
Ejemplo:
If ! IsInsert()
Warning ( "Insert está en ON" )
EndIf
See Also: "IsCaps()" "IsNum()" "IsScroll()"
IsLShift()
Determina si la tecla Left Shift está pulsada
Sintaxis:
IsLShift() -> lPress
Descripción:
Determina si la tecla Left Shift está pulsada retornando un valor
lógico.
Valor de Retorno:
Un valor lógico indicando si está pulsada o no.
Ejemplo:
If IsLShift()
Warning ( "Left Shift está pulsada" )
EndIf
See Also: "IsAlt()" "IsCtrl()" "IsRShift()"
IsNum()
Determina si la tecla Num Lock está activa
Sintaxis:
- Page 128 -
Norton Guide: `FAST.lib 3.50 » Referencia'
IsNum( [ lNew ] ) -> lActive
lNew : a logic value with the new state of Num lock key
Descripción:
Determina si la tecla Num Lock está activa retornando un valor
lógico.
Valor de Retorno:
Un valor lógico indicando si está activa o no.
Ejemplo:
If IsNum()
Warning ( "Numeric pad está activo" )
EndIf
See Also: "IsCaps()" "IsInsert()" "IsScroll()"
IsRShift()
Determina si la tecla Right Shift está pulsada
Sintaxis:
IsRShift() -> lPress
Descripción:
Determina si la tecla Right Shift está pulsada retornando un valor
lógico.
Valor de Retorno:
Un valor lógico indicando si está pulsada o no.
Ejemplo:
If IsRShift()
Warning ( "Right shift está pulsada" )
EndIf
See Also: "IsAlt()" "IsCtrl()" "IsLShift()"
IsScroll()
Determina si la tecla Scroll Lock está activa
Sintaxis:
- Page 129 -
Norton Guide: `FAST.lib 3.50 » Referencia'
IsScroll( [ lNew ] ) -> lActive
lNew : a logic value with the new state of Scroll lock key
Descripción:
Determina si la tecla Scroll Lock está pulsada retornando un valor
lógico.
Valor de Retorno:
Un valor lógico indicando si está activa o no.
Ejemplo:
If IsScroll()
Warning ( "Scroll lock está activo" )
EndIf
See Also: "IsCaps()" "IsInsert()" "IsNum()"
KeyScan()
Extrae un carácter del buffer de teclado
Sintaxis:
KeyScan() -> nKey
Descripción:
Extrae un caracter del buffer de teclado o para el programa hasta
que se pulse una tecla.
KeyScan() retorna un entero identificando la tecla extraída del
buffer de teclado.
nkey % 256 = ascii code (0 en teclas de función)
nKey / 256 = scan code
Valor de Retorno:
La tecla pulsada.
Ejemplo:
nKey := KeyScan()
? nKey / 256
? nKey % 256
See Also: "KeyStuff()"
KeyStuff()
- Page 130 -
Norton Guide: `FAST.lib 3.50 » Referencia'
Introduce un carácter en el buffer de teclado
Sintaxis:
KeyStuff( nAscii, nCod ) -> NIL
Descripción:
Introduce un carácte en el buffer de teclado sin limpiar las teclas
pendientes en el mismo. Permite teclas de función.
Las teclas de función tienen ascii code 0 e indican su valor en el
scan code. Las teclas normales (no de función) indican su valor en
el ascii code y su scan code es 0.
Valor de Retorno:
Nada.
Ejemplo:
nKey := KeyScan()
KeyStuff ( nKey % 256, nKey / 256 )
See Also: "KeyScan()"
NormKey()
Establece el ratio normal de typematic
Sintaxis:
NormKey() -> NIL
Descripción:
Establace el intervalo normal de tiempo de typematic y de comienzo
de auto-repeat.
Valor de Retorno:
Nada.
Ejemplo:
NormKey()
See Also: "FastKey()" "SlowKey()"
SetLastKey()
Establece el valor de LastKey()
- Page 131 -
Norton Guide: `FAST.lib 3.50 » Referencia'
Sintaxis:
SetLastKey( nKey ) -> NIL
Descripción:
SetLastKey() es una función de teclado que limpia todas las teclas
pendientes en el buffer de teclado de Clipper y establece el valor
de LastKey().
Valor de Retorno:
Nada.
Ejemplo:
#include "inkey.ch"
SetLastKey( K_ESC )
See Also: "ClrBuffer()"
SlowKey()
Establece el mínimo ratio de typematic
Sintaxis:
SlowKey() -> NIL
Descripción:
Establace el máximo intervalo de tiempo de typematic y de comienzo
de auto-repeat.
Valor de Retorno:
Nada.
Ejemplo:
SlowKey()
See Also: "FastKey()" "NormKey()"
- Page 132 -
Norton Guide: `FAST.lib 3.50 » Referencia'
Menu List: FAST.lib 1, Redes y Multitaskers
Dispone aquí de unas pocas funciones para hacer su trabajo con Novell,
Windows y DesqView un poco menos aburrido.
──────────────────────────────────────────────────────────────────────────────
DesqVer()
Returna la versión de DesqView
Sintaxis:
DesqVer() -> cVersion
Descripción:
Retorna la versión de DesqView o un string vacio si DesqView no está
en ejecución.
Valor de Retorno:
Un string con la versión de DesqView o un string vacio.
Ejemplo:
If IsDesqView()
Warning( "DesqView Versión: " + DesqVer() )
EndIf
See Also: "IsDesqView()"
IsDesqView()
Determina si Desqview está en ejecución
Sintaxis:
IsDesqView() -> lLoaded
Descripción:
Determina si DesqView está instalado y en ejecución.
Valor de Retorno:
Un valor lógico.
Ejemplo:
- Page 133 -
Norton Guide: `FAST.lib 3.50 » Referencia'
If IsDesqView()
Warning( "Desqview está presente" )
EndIf
See Also: "IsWin3()" "IsLANtastic()" "IsMSLAN()" "IsNovell()"
IsLANtastic()
Determina si una red LANtastic está presente
Sintaxis:
IsLANtastic() -> lLAN
Descripción:
Determina si una red LANtastic está presente y activa.
Valor de Retorno:
Un valor lógico.
Ejemplo:
If IsLANtastic()
Warning ( "LANTastic está presente" )
EndIf
See Also: "IsDesqView()" "IsMSLAN()" "IsNovell()" "IsWin3()"
IsMSLAN()
Determina si una red MS LAN está presente
Sintaxis:
IsMSLAN() -> lMSLAN
Descripción:
Determina si una red MS LAN está presente y activa.
Valor de Retorno:
Un valor lógico.
Ejemplo:
If IsMSLAN()
Warning ( "MS LAN está presente. Hola Bill" )
EndIf
See Also: "IsDesqView()" "IsLANtastic()" "IsNovell()" "IsWin3()"
- Page 134 -
Norton Guide: `FAST.lib 3.50 » Referencia'
IsNovell()
Determina si una red Novell está presente
Sintaxis:
IsNovell() -> lNovell
Descripción:
Determina si una red Novell Netware está presente y activa.
Valor de Retorno:
Un valor lógico.
Ejemplo:
If ! IsNovell()
Warning ( "Netware, mejor" )
EndIf
See Also: "IsDesqView()" "IsLANtastic()" "IsMSLAN()" "IsWin3()"
IsWin3()
Determina si Windows 3 está presente
Sintaxis:
IsWin3() -> lWin
Descripción:
Determina si Windows 3 está presente y activo.
Valor de Retorno:
Un valor lógico.
Ejemplo:
If IsWin3()
Warning ( "Cierre la ventana" )
EndIf
See Also: "IsDesqView()" "IsLANtastic()" "IsMSLAN()" "IsNovell()"
nwAbortCap()
Cancela una captura LPT de Novell Netware
- Page 135 -
Norton Guide: `FAST.lib 3.50 » Referencia'
Sintaxis:
nwAbortCap( nPort ) -> nError
nPort : LPT port. 0 = LPT1, 1 = LPT2, 2 = LPT3
Descripción:
Cancela una captura de un puerto remoto y aborta los trabajos
pendientes en la cola.
Valor de Retorno:
Un valor numérico indicando un error o 0 si no hay error.
Ejemplo:
If nwAbortCap() == 0
Warning ( "Captura ok" )
EndIf
See Also: "nwBeginCap()" "nwEndCap()" "nwFlushCap()"
nwBeginCap()
Arranca una captura LPT de Novell Netware
Sintaxis:
nwBeginCap( nPort ) -> nError
nPort : LPT port. 0 = LPT1, 1 = LPT2, 2 = LPT3
Descripción:
Comienza una captura de un puerto remoto.
Valor de Retorno:
Un valor numérico indicando un error o 0 si no hay error.
Ejemplo:
If nwBeginCap() == 0
Warning ( "Captura ok" )
EndIf
See Also: "nwAbortCap()" "nwEndCap()" "nwFlushCap()"
nwEndCap()
Finaliza una captura LPT de Novell Netware
- Page 136 -
Norton Guide: `FAST.lib 3.50 » Referencia'
Sintaxis:
nwEndCap( nPort ) -> nError
nPort : LPT port. 0 = LPT1, 1 = LPT2, 2 = LPT3
Descripción:
Finaliza la captura de un puerto remoto abortando los trabajos
pendientes en la cola.
Valor de Retorno:
Un valor numérico indicando un error o 0 si no hay error.
Ejemplo:
If nwEndCap() == 0
Warning ( "Captura ok" )
EndIf
See Also: "nwAbortCap()" "nwBeginCap()" "nwFlushCap()"
nwFlushCap()
Refresca una captura LPT de Novell Netware
Sintaxis:
nwFlushCap( nPort ) -> nError
nPort : LPT port. 0 = LPT1, 1 = LPT2, 2 = LPT3
Descripción:
Refresca la información de la cola LPT de un puerto remoto.
Valor de Retorno:
Un valor numérico indicando un error o 0 si no hay error.
Ejemplo:
If nwFlushCap() == 0
...
EndIf
See Also: "nwAbortCap()" "nwBeginCap()" "nwEndCap()"
nwLogout()
Se despide de un sistema Novell Netware
- Page 137 -
Norton Guide: `FAST.lib 3.50 » Referencia'
Sintaxis:
nwLogout() -> nError
Descripción:
Dice adios a Novell cancelando todos los trabajos y servicios
pendientes.
Valor de Retorno:
Un valor numérico indicando un error o 0 si no hay error.
Ejemplo:
If nwLogout() == 0
Warning ( "Adios." )
EndIf
See Also: "nwStation()"
nwStation()
Retorna el número de estación de la red Novell Netware
Sintaxis:
nwStation() -> nConnect
Descripción:
Retorna el número de conexión a la red.
Valor de Retorno:
Un valor numérico indicando el número de conexión de la estación.
Ejemplo:
? Str( nwStation() )
See Also: "nwLogout()"
WinVersion()
Retorna la versión de MS-Windows
Sintaxis:
WinVersion() -> cVersion
Descripción:
- Page 138 -
Norton Guide: `FAST.lib 3.50 » Referencia'
Retorna la versión de MS-Windows o un string vacio si Windows no
está en ejecución.
Valor de Retorno:
Un string con la versión de Windows.
Ejemplo:
Warning( "Windows Versión: " + WinVersion() )
See Also: "IsWin3()"
WinClipSize()
Determina el tamaño del clipboard de win 3
Sintaxis:
WinClipSize() -> nBytes
Descripción:
Determina el tamaño del clipboard de win 3 si éste se encuentra
en ejecución.
Valor de Retorno:
Un número indicando el tamaño del clipboard de win 3.
Ejemplo:
If WinOpenClip()
? WinClipSize()
If ! WinCloseClip()
? "Error cerrando el clipboard"
EndIf
Else
"Error abriendo el clipboard"
EndIf
See Also: "WinCloseClip()" "WinOpenClip()"
WinCloseClip()
Cierra el clipboard de win 3
Sintaxis:
WinCloseClip() -> lOk
Descripción:
- Page 139 -
Norton Guide: `FAST.lib 3.50 » Referencia'
Cierra el clipboard de win 3 si éste se encuentra en ejecución.
Valor de Retorno:
Un valor lógico indicando si hay algún error.
Ejemplo:
If WinOpenClip()
? WinClipSize()
If ! WinCloseClip()
? "Error cerrando el clipboard"
EndIf
Else
"Error abriendo el clipboard"
EndIf
See Also: "WinClipSize()" "WinOpenClip()"
WinDelClip()
Borra el contenido del clipboard de win 3
Sintaxis:
WinDelClip() -> lOk
Descripción:
Borra el contenido del clipboard de win 3 si esté se encuentra en
ejecución.
Valor de Retorno:
Un valor lógico indicando si hay algún error.
Ejemplo:
If WinOpenClip()
? WinClipSize()
If ! WinDelClip()
? "Error borrando el clipboard"
EndIf
If ! WinCloseClip()
? "Error cerrando el clipboard"
EndIf
Else
"Error abriendo el clipboard"
EndIf
See Also: "WinClipSize()" "WinOpenClip()"
- Page 140 -
Norton Guide: `FAST.lib 3.50 » Referencia'
WinGetClip()
Devuelve el contenido del clipboard de win 3
Sintaxis:
WinGetClip() -> cClip
Descripción:
Devuelve el contenido del clipboard de win 3 si éste se encuentra
en ejecución.
Valor de Retorno:
Un string con el contenido del clipboard de win 3.
Ejemplo:
If WinOpenClip()
cBuffer := WinGetClip()
WinCloseClip()
EndIf
See Also: "WinClipSize()" "WinOpenClip()"
WinOpenClip()
Abre el clipboard de win 3
Sintaxis:
WinOpenClip() -> lOk
Descripción:
Abre el clipboard de win 3 si éste se encuentra en ejecución.
Valor de Retorno:
Un valor lógico indicando si hay algún error.
Ejemplo:
If WinOpenClip()
? WinClipSize()
If ! WinCloseClip()
? "Error cerrando el clipboard"
EndIf
Else
"Error abriendo el clipboard"
EndIf
See Also: "WinClipSize()" "WinCloseClip()"
- Page 141 -
Norton Guide: `FAST.lib 3.50 » Referencia'
WinSetClip()
Modifica el valor del clipboard de win 3
Sintaxis:
WinSetClip( cClip ) -> lOk
cClip : El valor a insertar en el clipboard de win 3
Descripción:
Modifica el contenido del clipboard de win 3 si éste se encuentra
en ejecución.
Valor de Retorno:
Un valor lógico indicando si hay algún error.
Ejemplo:
If WinOpenClip()
WinSetClip( "Esto es un texto" )
WinCloseClip()
EndIf
See Also: "WinClipSize()" "WinOpenClip()"
- Page 142 -
Norton Guide: `FAST.lib 3.50 » Referencia'
Menu List: FAST.lib 1, MetaFunctions
Intentar documentar todo esto sería imposible. Mejor mírelo y busque
lo que necesita.
──────────────────────────────────────────────────────────────────────────────
AsciiTab()
Muestra una tabla ascii
Sintaxis:
AsciiTab( [nRow], [nCol], [nStart] ) -> NIL
nRow : Línea de la tabla
nCol : Columna de la tabla
nStart : Carácter ascii inicial
Descripción:
Muestra una tabla ascii en la posición especificada.
Valor de Retorno:
Nada.
Ejemplo:
AsciiTab( 10, 10, 1 )
Backup()
Realiza un backup
Sintaxis:
Backup( [dDate], [cTime], [cUser], [cUnit], aDir, [lRec], ;
[cColor], [bBlock] ) -> lError
dDate : La fecha de backup
cTime : La hora de backup
cUser : El usuario que realiza el backup. 127 caracteres máximo.
cUnit : La unidad de backup
aDir : Array bidimensional con los directorios a salvar.
lRec : Un valor lógico que determina si los subdirectorios que
dependen de los indicados también deben incluirse.
cColor : El color de la ventana de estadísticas.
bBlock : Un codeblock a evaluar antes de cambiar a nuevo disco.
- Page 143 -
Norton Guide: `FAST.lib 3.50 » Referencia'
Descripción:
Realiza un backup de los directorios especificados.
WARNING
Esta función realiza un dbCloseAll(), asi pués, las bases de datos
activas serán cerradas.
Valor de Retorno:
Un valor lógico indicando si se ha producido algún error.
Ejemplo:
If Backup ( Date (), Time (), "FAST.lib", "A:\", ;
{ { "C:\DOS\", "*.*" }, ;
{ "C:\OS2\MDOS\", "*.COM" } }, ;
.T., "N/W,N/W", ;
{ || NewDisk() } )
BoxWarning ( "Backup ok" )
Else
BoxWarning ( "Errores detectados" )
EndIf
Function NewDisk ()
Format ( 0, 4, .F. ) // Da formato 3½ HD en A:
Return ( .T. ) // Debe retornar .T.
// Si retorna .F. cancela el backup
See Also: "Restore()"
BigClock()
Muestra un reloj digital con números gigantes
Sintaxis:
BigClock( [nRow], [nCol] ) -> NIL
nRow : Línea del reloj
nCol : Columna del reloj
Descripción:
Esta función muestra un reloj digital con números gigantes y espera
a que se pulse una tecla restaurando la pantalla.
Valor de Retorno:
Nada.
Ejemplo:
BigClock( 10, 20 )
- Page 144 -
Norton Guide: `FAST.lib 3.50 » Referencia'
See Also: "Clock()"
Calculator()
Muestra una calculadora
Sintaxis:
Calculator( [cColor], [cColorNum], [ColorMem] ) -> nResult
cColor : El color de la caja
cColorNum : El color de los números
cColorMem : El color del indicador de memoria
Descripción:
Muestra una calculadora con los colores seleccionados
Valor de Retorno:
El resultado del cálculo si se pulsa F10 o NIL si se pulsa Esc.
Ejemplo:
nRes := Calculator ( "N/W", "G+/N", "R+/N" )
Calendar()
Muestra un calendario
Sintaxis:
Calendar( [nY], [nX], [cColor], [cSunday], [cColorHigh] ) -> dDate
nY : Línea
nX : Columna
cColor : El color del calendario
cSunday : El color de los días festivos
cColorHigh : El color del día seleccionado
Descripción:
Muestra un calendario en la posición y color dados.
Valor de Retorno:
Selecciona una fecha si se pulsa <┘ o NIL si se pulsa Esc.
Ejemplo:
dDate := Calendar ( 5, 20, "N/BG", "R/BG", "GR+/B" )
- Page 145 -
Norton Guide: `FAST.lib 3.50 » Referencia'
ChkDsk()
Comprueba el formato de un disquete
Sintaxis:
ChkDsk ( nDisk ) -> nFormat
nDisk : Unidad a comprobar. A: -> 0, B: -> 1.
Descripción:
Comprueba el formato de un disquete un devuelve un valor numérico.
Valor de Retorno:
-2 Parámetros erróneos
-1 Error durante la comprobación
0 Formato desconocido
1 360 kb 5¼ DD
2 720 kb 3½ DD
3 1.2 mb 5¼ HD
4 1.44 mb 3½ HD
Ejemplo:
nFormat := ChkDsk ( 0 )
If nFormat > 0
Format ( 0, nFormat, .T. )
Else
Warning ( "Unknown format" )
EndIf
See Also: "Format()"
ChooseColor()
Permite seleccionar un color
Sintaxis:
ChooseColor( [nRow], [nCol], [lShowColor] ) -> NIL
nRow : La línea de la ventana. Por defecto es 3.
nCol : La columna de la ventana. Por defecto es 28.
lShowColor : Un valor lógico indicando si el color debe ser mostrado
en formato string durante la selección. Por defecto .F.
Descripción:
Permite al usuario elegir un color.
Valor de Retorno:
- Page 146 -
Norton Guide: `FAST.lib 3.50 » Referencia'
El color en formato string o NIL si se pulsa Esc.
Ejemplo:
? "El color seleccionado es " + ChooseColor( 3, 28, .T. )
Chrono()
Cambia/Devuelve el valor de 3 cronos programables
Sintaxis:
Chrono( nChrono [, lLoad] ) -> nTime
nChrono : El número del crono ( 1 2 3 )
lLoad : Un valor lógico indicando si se quiere cargar el crono
con la hora actual. Por defecto es .F.
Descripción:
Cabia/Devuelve el valor de 3 cronos programables. Los cronos pueden
ser programados por separado.
Valor de Retorno:
El intervalo entre la hora actual y la hora en la que el crono fue
programado.
Ejemplo:
Chrono( 1, .T. ) // El crono 1 se carga con la hora actual
Delay( 10 ) // Delay, 10 segundos
? Chrono( 1 ) // 10
Clock()
Des/Instala un reloj residente
Sintaxis:
Clock( [lActive], [nPosY], [nPosX], [cColor] ) -> lIsActive
lActive : Un valor lógico indicando si se desea activar (.T.) o
desactivar (.F.) el reloj.
Si el parámetro es NIL, Clock() retorna el modo actual.
nPosY : La línea del reloj. Por defecto es 0.
nPosX : La columna del reloj. Por defecto es 70.
cColor : El color del reloj. Por defecto es "GR+/B"
Descripción:
Muestra un reloj sin la acción del programador.
- Page 147 -
Norton Guide: `FAST.lib 3.50 » Referencia'
Valor de Retorno:
El modo actual del reloj. .T. activo y .F. inactivo.
Ejemplo:
Clock( .T., 0, 1, "W/B" ) // instala el reloj en la línea 0,
// columna 1 y color "W/B"
Inkey( 0 )
Clock( .F. )
See Also: "BigClock()"
DirTree()
Crea un array con la estructura de un disco
Sintaxis:
DirTree( cMask, cDir ) -> aArray
cMask : La máscara de ficheros a buscar
cDir : El directorio de comienzo
Descripción:
Retorna un array con los directorios especificados ordenados de
padre a hijo.
Valor de Retorno:
Un array con directorios.
Ejemplo:
Window ( 4, 0, 22, 29, "Directory C:\", "╔═╗║╝═╚║ ", .T. )
aChoice ( 5, 2, 21, 27, DirTree ( "\*.*", "C:\" ), .T. )
Editor()
Edita un fichero de texto
Sintaxis:
Editor ( [cFile], [cColor] ) -> NIL
cFile : Fichero a editar.
cColor : El color del editor.
Descripción:
Ejecuta un editor ascii con ficheros no superiores a 64 kb.
- Page 148 -
Norton Guide: `FAST.lib 3.50 » Referencia'
Valor de Retorno:
Nada.
Ejemplo:
Editor ( "Fast.Ini", "W/B" )
See Also: "Notes()"
FastMemo()
Edita un campo memo
Sintaxis:
FastMemo( nY1, nX1, nY2, nX2, cMemo, [cTitle], [cColBro], ;
[lShadow], [lWrite] ) -> cNewMemo
nY1 : Coordenada Y superior izquierda
nX1 : Coordenada X superior izquierda
nY2 : Coordenada Y inferior derecha
nX2 : Coordenada X inferior derecha
cMemo : El memo a editar
ctitle : El título de la ventana de edición
cColBro : El color de la ventana
lShadow : Un valor lógico que indica si se desea ventana con sombra
lWrite : Un valor lógico que indica si el memo es de solo lectura
Descripción:
Edita un campo memo de Clipper.
Valor de Retorno:
Un nuevo campo memo.
Ejemplo:
Local cMemo := "Hola"
? FastMemo( 10, 10, 20, 55, cMemo, "MemoTest", "GR+/B", .T., .T. )
FontEdit()
Edita la fuente de caracteres
Sintaxis:
FontEdit( [ cFile ] ) -> NIL
cFile : El fichero con la fuente de caracteres
- Page 149 -
Norton Guide: `FAST.lib 3.50 » Referencia'
Descripción:
Edita la fuente de caracteres desde Clipper.
Valor de Retorno:
Nada.
Ejemplo:
FontEdit( "cubo.fon" )
Format()
Da formato a un disquete
Sintaxis:
Format ( nDisk, nFormat, lQuick ) -> nError
nDisk : La unidad para dar formato. A:=0, B:=1.
nFormat : Formato. 360=1, 720=2, 1.2=3, 1.44=4
lQuick : Un valor lógico indicando si se desea un QuickFormat o no.
Descripción:
Da formato a un disquete según el formato especificado.
Valor de Retorno:
-2 Parámetros erróneos
-1 Error en el formato
0 Ok
Ejemplo:
nFormat := ChkDsk ( 0 )
If nFormat > 0
Format ( 0, nFormat, .T. )
Else
Warning ( "Formato desconocido" )
EndIf
See Also: "ChkDsk()"
GaugeNew()
Crea e inicializa una barra de estado
Sintaxis:
GaugeNew( nRow, cMessage, cColor ) -> aBar
- Page 150 -
Norton Guide: `FAST.lib 3.50 » Referencia'
nRow : La línea de la barra
cMessage : El mensaje a mostrar
cColor : El color de la ventana
Descripción:
Crea e inicializa una barra de estado retornando un array con la
información de la barra para GaugeUpdate().
Valor de Retorno:
Un array con la información de la barra.
Ejemplo:
aGauge := GaugeNew( 9, "Fast Library Installation progress", "G" )
See Also: "GaugeUpdate()"
GaugeUpdate()
Incrementa un barra de estado
Sintaxis:
GaugeUpdate( aBar, nInc ) -> NIL
aBar : Un array con la información de la barra de estado
nInc : El incremento. El rango total de la barra es 0-1
Descripción:
Incrementa una barra de estado que ha sido creada con GaugeNew().
Valor de Retorno:
Nada.
Ejemplo:
aGauge := GaugeNew( 9, "Fast Library Installation", "G" )
GaugeUpdate( aGauge, 0.5 )
GaugeUpdate( aGauge, 0.5 )
See Also: "GaugeNew()"
InspectDBF()
Inspecciona las workareas activas
Sintaxis:
InspectDBF() -> NIL
- Page 151 -
Norton Guide: `FAST.lib 3.50 » Referencia'
Descripción:
Esta función inspecciona las workareas activas dando información
sobre ellas.
Valor de Retorno:
Nada.
Ejemplo:
InspectDBF()
See Also: "InspectOBJ()" "InspectSETS()"
InspectOBJ()
Inspecciona un array u objeto
Sintaxis:
InspectOBJ( cVarName, xVar ) -> NIL
cVarName : El título de la ventana del inspector de objetos
xVar : La variable a inspeccionar
Descripción:
Esta función inspecciona un array u objeto y permite cambiarlo.
Valor de Retorno:
Nada.
Ejemplo:
aArray := { "Hello", 12, { "First", "Second" }, { || NIL } }
InspectOBJ( "aArray", aArray )
See Also: "InspectDBF()" "InspectSETS()"
InspectSETS()
Inspecciona el valor de los SETS
Sintaxis:
InspectSETS() -> NIL
Descripción:
Esta función inspecciona el valor de los SETS de Clipper
- Page 152 -
Norton Guide: `FAST.lib 3.50 » Referencia'
permitiendo cambiarlos.
Valor de Retorno:
Nada.
Ejemplo:
InspectSETS()
See Also: "InspectDBF()" "InspectOBJ()"
IsFastGT()
Determina si FAST.GT está lincado
Sintaxis:
IsFastGT() -> lLinked
Descripción:
Determina si FAST.GT está lincado.
FAST.GT es un software que permite a los programas Clipper
ejecutarse en modo gráfico sin ningún cambio adicional en el
código.
Valor de Retorno:
Un valor lógico.
Ejemplo:
If IsFastGT()
? "Oh!!! estámos en modo gráfico"
EndIf
IsPirate()
Determina si el programa es una copia pirata
Sintaxis:
IsPirate() -> lIsPirate
Descripción:
Esta función determina si el programa en ejecución es una copia
pirata. La primera vez que se ejecuta el programa, éste se
automarcará. De esta forma, podrá comprobar esta marca en
siguientes ejecuciones.
Si este programa, ya automarcado, se ejecuta en otro sistema
IsPirate() devolverá .T. Si todo está correcto devuelve .F.
- Page 153 -
Norton Guide: `FAST.lib 3.50 » Referencia'
Valor de Retorno:
Un lógico indicando si el programa en ejecución es una copia
pirata.
Ejemplo:
If IsPirate()
? "Don't forget to register"
Quit
EndIf
IsSound()
Determina si los sonidos del speaker están permitidos
Sintaxis:
IsSound( [lMode] ) -> lOldMode
lMode : Un lógico para indicar el nuevo modo
Descripción:
Esta función determina si los sonidos del speaker están permitidos
cuando un función de Fast Library está en ejecución.
Valor de Retorno:
El modo actual.
Ejemplo:
lSound := IsSound( .F. )
Serpent() // Sin sonido
IsSound( lSound )
Manager()
Un pequeño PCTools en Clipper
Sintaxis:
Manager ( [cColor], [cColorHigh] ) -> NIL
cColor : El color del File Manager.
cColorHigh : El color de los botones de las cajas de diálogo.
Descripción:
Ejecuta un pequeño File Manager al estilo PCTools.
- Page 154 -
Norton Guide: `FAST.lib 3.50 » Referencia'
Valor de Retorno:
Nada.
Ejemplo:
Manager ( "N/W,N/BG", "N/BG" )
MiniDebug()
Evalua una expresión Clipper
Sintaxis:
MiniDebug( nY, cExpr ) -> NIL
nY : La línea del debugger
cExpr : La expresión inicial
Descripción:
Evalua una expresión xBASE/Clipper.
Valor de Retorno:
Nada.
Ejemplo:
MiniDebug( 7, "Replicate( 'Fast ', 2 )" )
MsgScroll()
Muestra un mensaje con scroll horizontal
Sintaxis:
MsgScroll( nRow, nCol, nSize, cString, cColor ) -> NIL
nRow : La línea del mensaje
nCol : La columna izquierda del mensaje
nSize : El tamaño horizontal
cString : El mensaje a mostrar
cColor : El color del mensaje
Descripción:
Muestra un mensaje con scroll horizontal hasta que se pulse una
tecla.
Valor de Retorno:
Nada.
- Page 155 -
Norton Guide: `FAST.lib 3.50 » Referencia'
Ejemplo:
MsgScroll( 10, 12, 20, "Pulse una tecla para continuar", "GR+/B" )
Notes()
Hace cálculos al estilo Lotus123
Sintaxis:
Notes ( [cColor], [cColorBrowse], [cFile] ) -> NIL
cColor : El color de la hoja de cálculo
cColorBrowse : El template de colores para el browse
cFile : El fichero HC con la hoja de cálculo
Descripción:
Con esta función puede acceder a una hoja de cálculo.
Valor de Retorno:
Nada.
Ejemplo:
Notes( "W/B,N/BG", "W/B,N/BG,G/B,W/B,R+/B", "ejemplo1.hc" )
See Also: "Editor()"
RealStars()
Muestra un campo de estrellas
Sintaxis:
RealStars( nSpeed ) -> NIL
nSpeed : La velocidad de las estrellas. Rango 1-10. Por defecto 3.
Descripción:
Apaga la pantalla y muestra un cielo de estrellas de diferentes
colores y tamaños. Espera hasta que se pulsa una tecla y restaura
el estado del ordenador.
Valor de Retorno:
Nada.
Ejemplo:
- Page 156 -
Norton Guide: `FAST.lib 3.50 » Referencia'
RealStars()
See Also: "Stars()" "ScreenSaver()"
Restore()
Restaura un backup
Sintaxis:
Restore( [cUnit], aDirec, cColor ) -> lExit
cUnit : La unidad de backup
aDirec : El array de directorios a restaurar
cColor : El color de la ventana de estadísticas
Descripción:
Restaura desde la unidad cUnit todos los ficheros cuyos nombres
coincidad con los elementos del array de directorios.
¡¡AVISO!!
Esta función realiza un dbCloseAll()
Valor de Retorno:
Un valor lógico indicando el resultado.
Ejemplo:
Restore ( "A:\", { "C:\DOS" }, "N/W,N/W" )
See Also: "Backup()"
ScreenSaver()
Muestra un screen saver
Sintaxis:
ScreenSaver( cColor [, cMessage] ) -> NIL
cColor : El color del mensaje
cMessage : El mensaje a mostrar
Descripción:
Su monitor se lo agradecerá eternamente.
Valor de Retorno:
Nada.
- Page 157 -
Norton Guide: `FAST.lib 3.50 » Referencia'
Ejemplo:
ScreenSaver( "BG+/N", "Fast Library For Clipper ScreenSaver" )
See Also: "Stars()"
Stars()
Muestra un screen saver
Sintaxis:
Stars() -> NIL
Descripción:
Apaga la pantalla y muestra un cielo de estrellas de diferentes
colores y tamaños. Espera hasta que se pulsa una tecla y restaura
el estado del ordenador.
Valor de Retorno:
Nada.
Ejemplo:
Stars ()
See Also: "RealStars()" "ScreenSaver()"
VirCheck()
Comprueba la memoria buscando más de 100 virus conocidos
Sintaxis:
VirCheck() -> aVirus
Descripción:
Comprueba la memoria en busca de más de 100 virus conocidos.
La lista de virus que detecta VirCheck es la siguiente
shake invader
mg 669 / thirteen minutes
1063 / mono plastique / anticad
jabberwocky horse-2
murphy-2 patricia / smack
plastique2576 / anticad 2576 horse
sparse murphy-1 / murphy-4
shirley zherkov-1882
1876 / dash-em nomenklatura
948 / screenplus1 magnitogorsk
- Page 158 -
Norton Guide: `FAST.lib 3.50 » Referencia'
lozinsky / zherkov hitchcock
dark avenger-1028 1193 / copyright
ussr-707 justice
europe-92 cascade
516 / leapfrog 1067 / headcrash
rape-747 klaeren / hate
growing block squeaker
SVC SVC 5.0 or SVC 6.0
vriest carioca
789 / filehider eddie-2
blinker backtime
600 or voronezh family hey you
datalock ussr-1049
slow / zerotime solano
905 / backfont sverdlov
socha yankee or mlti
mh-757 milous
vitcode westwood
fellowship diamond-a
diamond-b dir
gotcha plovdiv 1.3
durban brothers
jerusalem family armagedon
8-tunes mendoza
fu manchu anarkia
spyer / kiev terror
jerusalem-g pregnant
frere jacques tremor
pcvrsds carfield
gp1 cinderella
dbase troi
border 483
flip 2468 / tequila
black monday sunday
tumen 0.5 / hero twins
08/15 / many fingers ontario
year 1992 / b1m92 revenge
VirCheck() solo comprueba la memoria, nunca los discos o ficheros.
Valor de Retorno:
Un array con un elemento por cada virus comprobado que contiene .F.
si el virus comprobado no está en memoria o .T. si está activo en
memoria.
Ejemplo:
FUNCTION Demo()
LOCAL lVirus := .F.
LOCAL aArray
LOCAL nInd
LOCAL aName := { ;
"shake", "invader", ;
"mg", "669 / thirteen minutes", ;
- Page 159 -
Norton Guide: `FAST.lib 3.50 » Referencia'
"1063 / mono", "plastique / anticad", ;
"jabberwocky", "horse-2", ;
"murphy-2", "patricia / smack", ;
"plastique2576 / anticad 2576", "horse", ;
"sparse", "murphy-1 / murphy-4", ;
"shirley", "zherkov-1882", ;
"1876 / dash-em", "nomenklatura", ;
"948 / screenplus1", "magnitogorsk", ;
"lozinsky / zherkov", "hitchcock", ;
"dark avenger-1028", "1193 / copyright", ;
"ussr-707", "justice", ;
"europe-92", "cascade", ;
"516 / leapfrog", "1067 / headcrash", ;
"rape-747", "klaeren / hate", ;
"growing block", "squeaker", ;
"SVC", "SVC 5.0 or SVC 6.0", ;
"vriest", "carioca", ;
"789 / filehider", "eddie-2", ;
"blinker", "backtime", ;
"600 or voronezh family", "hey you", ;
"datalock", "ussr-1049", ;
"slow / zerotime", "solano", ;
"905 / backfont", "sverdlov", ;
"socha", "yankee or mlti", ;
"mh-757", "milous", ;
"vitcode", "westwood", ;
"fellowship", "diamond-a", ;
"diamond-b", "dir", ;
"gotcha", "plovdiv 1.3", ;
"durban", "brothers", ;
"jerusalem family", "armagedon", ;
"8-tunes", "mendoza", ;
"fu manchu", "anarkia", ;
"spyer / kiev", "terror", ;
"jerusalem-g", "pregnant", ;
"frere jacques", "tremor", ;
"pcvrsds", "carfield", ;
"gp1", "cinderella", ;
"dbase", "troi", ;
"border", "483", ;
"flip", "2468 / tequila", ;
"black monday", "sunday", ;
"tumen 0.5 / hero", "twins", ;
"08/15 / many fingers", "ontario", ;
"year 1992 / b1m92", "revenge" ;
}
? "Bienvenido a la demo de FAST.lib SCAN-VIR TOOL"
? "FAST.lib detecta más de 100 virus como jerusalem, flip, dbase..."
?
? "Pulse una tecla para continuar..."
Inkey( 0 )
? "Comprobando memoria en busca de virus..."
aArray := VirCheck()
- Page 160 -
Norton Guide: `FAST.lib 3.50 » Referencia'
?
? "Comprobando resultados de la búsqueda..."
aEval( aArray, { | lX | IIF( lX, lVirus := .T., ) } )
?
IF lVirus
? "PELIGRO!!! Se han encontrado virus"
FOR nInd := 1 TO LEN( aArray )
IF aArray[ nInd ]
? "Virus " + aName[ nInd ] + " detectado en memoria"
Tone( 500, 10 )
ENDIF
NEXT
ELSE
? "No se han encontrado virus"
ENDIF
?
RETURN NIL
- Page 161 -
Norton Guide: `FAST.lib 3.50 » Referencia'
Menu List: FAST.lib 2, Menues
Con estas funciones podrá crear menues pop-up event-driven de una forma
muy sencilla. Su uso es muy sencillo.
Todo el sistema de menues está basado en arrays; de esta forma, puede
añadir o borrar items o líneas en cada menú. Cuando añade un item, este es
inicializado como seleccionable. Después, el atributo de selección puede ser
modificado. Cuando se añade una línea, ésta es automaticamente inicializada
como no seleccionable.
──────────────────────────────────────────────────────────────────────────────
AddItem()
Añade un item seleccionable a un submenú
Sintaxis:
AddItem( aMenu, nSubMenu, cItem, [cMess], [nPos], [aSub] ) -> NIL
aMenu : El menú creado con NewMenu()
nSubMenu : El número de submenú al que añadir el item
cItem : El item a añadir al submenú
cMess : El mensaje a mostrar cuando se selecciona el item
nPos : La posición del item dentro del submenú;
última posición por defecto
aSub : Un array con las opciones de submenú
Descripción:
Añade un item a un submenú, activando el item como seleccionable.
Valor de Retorno:
NIL.
Ejemplo:
aMenu := NewMenu( { "^Sistema", "^Herramientas", "^Otros" }, ;
{ "N/W", "R/W", "W/B", "W+/B", ;
"N/W", "W/B", "N+/W", "R/W", "GR+/B" } )
AddItem ( aMenu, 1, "Item ^1", "Mensaje", , { "Sub1", "Sub2" } )
See Also: "AddLine()" "DelItem()"
AddLine()
Añade un línea a un submenú como item no seleccionable
- Page 162 -
Norton Guide: `FAST.lib 3.50 » Referencia'
Sintaxis:
AddLine( aMenu, nSubMenu [, nPos] ) -> NIL
aMenu : El menú creado con NewMenu()
nSubMenu : El número de submenú al que añadir la línea
nPos : La posición de la línea en el submenú;
última posición por defecto
Descripción:
Añade un línea a un submenu, activándolo como no seleccionable.
Valor de Retorno:
NIL.
Ejemplo:
aMenu := NewMenu( { "^Sistema", "^Herramientas", "^Otros" }, ;
{ "N/W", "R/W", "W/B", "W+/B", ;
"N/W", "W/B", "N+/W", "R/W", "GR+/B" } )
AddItem ( aMenu, 1, "Item ^1", "Mensaje 1" )
AddItem ( aMenu, 1, "Item ^2", "Mensaje 2" )
AddLine ( aMenu, 1, 2 ) // Añade un línea entre los 2 items.
See Also: "AddItem()" "DelItem()"
DelLine()
Borra un item de un submenú
Sintaxis:
DelLine( aMenu, nSubMenu, nPos ) -> NIL
aMenu : El menú creado con NewMenu()
nSubMenu : El número del submenú del que borrar el item
nPos : La posición del item dentro del submenú
Descripción:
Borra un item o una línea de un submenú y reconfigura el submenú.
Valor de Retorno:
NIL.
Ejemplo:
aMenu := NewMenu( { "^Sistema", "^Herramientas", "^Otros" }, ;
{ "N/W", "R/W", "W/B", "W+/B", ;
"N/W", "W/B", "N+/W", "R/W", "GR+/B" } )
- Page 163 -
Norton Guide: `FAST.lib 3.50 » Referencia'
AddItem ( aMenu, 1, "Item ^1", "Mensaje 1" )
AddItem ( aMenu, 1, "Item ^2", "Mensaje 2" )
DelLine ( aMenu, 1, 2 ) // Borra el segundo item
See Also: "AddItem()" "AddLine()"
DispMenu()
Activa un menú que ha sido previamente creado
Sintaxis:
DispMenu( aMenu [, nInit] ) -> nOption
aMenu : Un array definiendo la estructura del menú que fue creado
previamente con NewMenu().
nInit : Un número opcional que indica el submenú por defecto al
mostrar el menú.
Descripción:
Activa un menú y procesa todas las teclas de navegación retornando
un valor calculado como:
nOption := ;
( Menu_Num * 10000 ) + ( Opt_Num * 100 ) + SubMenu Option
Note que puede crear múltiples menues y después activar el necesario.
Esto puede ser muy útil para mantener menues en varios idiomas.
El mensaje asociado a cada item será mostrado en la línea de
pantalla especificado por SET MESSAGE TO <nRow>.
Valor de Retorno:
Un número indicando la opción seleccionada o 0 si se pulsa ESC.
Ejemplo:
aMenu := NewMenu( { "^Sistema", "^Herramientas", "^Otros" }, ;
{ "N/W", "R/W", "W/B", "W+/B", ;
"N/W", "W/B", "N+/W", "R/W", "GR+/B" } )
AddItem ( aMenu, 1, "Item ^1-1", "Mensaje" )
AddItem ( aMenu, 1, "Item ^2-1", "Mensaje" )
AddItem ( aMenu, 2, "Item ^1-2", "Mensaje" )
AddItem ( aMenu, 2, "Item ^2-2", "Mensaje" )
AddItem ( aMenu, 3, "Item ^1-3", "Mensaje" )
nOpt := DispMenu ( aMenu, 3 )
Do Case
Case nOpt == 101 // Menu 1, opción 1
- Page 164 -
Norton Guide: `FAST.lib 3.50 » Referencia'
...
Case nOpt == 102 // Menu 1, opción 2
...
EndCase
See Also: "NewMenu()"
OffItem()
Desactiva un item de un submenú
Sintaxis:
OffItem( aMenu, nSubMenu, nPos ) -> NIL
aMenu : El menú creado con NewMenu()
nSubMenu : El número del submenú en el que desactivar el item
nPos : La posición del item dentro del submenú
Descripción:
Desactiva un item; el item seguirá estando visible pero no podrá
ser seleccionado.
Valor de Retorno:
NIL.
Ejemplo:
aMenu := NewMenu( { "^Sistema", "^Herramientas", "^Otros" }, ;
{ "N/W", "R/W", "W/B", "W+/B", ;
"N/W", "W/B", "N+/W", "R/W", "GR+/B" } )
AddItem ( aMenu, 1, "Item ^1", "Mensaje 1" )
AddItem ( aMenu, 1, "Item ^2", "Mensaje 2" )
OffItem ( aMenu, 1, 2 ) // Desactiva el segundo item.
See Also: "OnItem()"
OnItem()
Reactiva un item de un submenú
Sintaxis:
OnItem( aMenu, nSubMenu, nPos ) -> NIL
aMenu : El menú creado con NewMenu()
nSubMenu : El número del submenú en el que reactivar el item
nPos : La posición del item dentro del submenú
Descripción:
- Page 165 -
Norton Guide: `FAST.lib 3.50 » Referencia'
Reactiva un item de un menú, haciendolo seleccionable de nuevo.
Una línea no puede ser hecha seleccionable.
Solo un item previamente desactivado puede reactivarse.
Valor de Retorno:
NIL.
Ejemplo:
aMenu := NewMenu( { "^Sistema", "^Herramientas", "^Otros" }, ;
{ "N/W", "R/W", "W/B", "W+/B", ;
"N/W", "W/B", "N+/W", "R/W", "GR+/B" } )
AddItem ( aMenu, 1, "Item ^1", "Mensaje 1" )
AddItem ( aMenu, 1, "Item ^2", "Mensaje 2" )
OffItem ( aMenu, 1, 2 ) // Desactiva el segundo item
OnItem ( aMenu, 1, 2 ) // Ahora lo reactiva
See Also: "OffItem()"
NewMenu()
Crea una estructura de menú
Sintaxis:
NewMenu( aOptions, aColors, lShadow ) -> aMenu
aOptions : Un array con la siguiente estructura:
{ cOpción1, cOpción2, ..., cOpciónN }
Cada opción puede incluir el símbolo "^" para indicar
que el caracter que precede será una hotkey que podrá
ser seleccionado con ALT y la tecla especificada.
aColors : Un array de 9 elementos especificando los colores:
- opciones no seleccionables
- Caracter especial de las opciones no seleccionables
- Opción seleccionada
- Caracter especial de la opción seleccionada
- Items de los submenues
- Item seleccionado de los submenues
- Items no seleccionables de los submenues
- Caracter especial del los items no seleccionables
- Caracter especial del item seleccionado
lShadow : Un valor lógico indicando si se desea sombras en los
submenues. Por defecto .F.
Descripción:
- Page 166 -
Norton Guide: `FAST.lib 3.50 » Referencia'
Crea un array definiendo la estructura de un menú y los colores
con los que será mostrado.
Valor de Retorno:
Un array definiendo la estructura y los colores del nuevo menú.
Ejemplo:
aMenu := NewMenu( { "^Sistema", "^Herramientas", "^Otros" }, ;
{ "N/W", "R/W", "W/B", "W+/B", ;
"N/W", "W/B", "N+/W", "R/W", "GR+/B" }, ;
.T. )
See Also: "DispMenu()"
READ
@ SAY..GET con radio botones
Sintaxis:
@ nRow, nCol [ SAY cSayText ]
GET cGetVar
[ WHEN lPrevalid ]
[ VALID lPostValid ]
[ COLOR cColor ]
WITH RADIOBUTTONS aOptions
[ NOBOX ]
[ DOUBLE ]
[ HORIZONTAL ]
Descripción:
Ahora puede crear atractivos radio botones que cumplen con las
especificaciones CUA usando un variante adicional del comando
@ SAY..GET y el comando standard READ.
El nueva claúsula @ SAY..GET WITH RADIOBUTTONS especifica un
array que contiene las características del radio botón. Si NOBOX es
especificado, el radio botón será mostrado sin caja. Si NOBOX es
omitido el radio botón será mostrado con una caja de líneas
simples o dobles dependiendo de que DOUBLE sea o no especificado.
El radio botón será orientado horizontalmente si HORIZONTAL es
especificado; caso contrario se orientará verticalmente.
Valor de Retorno:
No aplicable.
Ejemplo:
@ 4,5 SAY "Get Normal 1:" GET cGet1
- Page 167 -
Norton Guide: `FAST.lib 3.50 » Referencia'
@ 6,5 SAY "Clipper Lib" GET nChoice1 ;
COLOR "R/B" ;
WITH RADIOBUTTONS { "1 Opc", "2 No buttons", "3 Opc" }
@ 6,40 SAY "Fast Library" GET nChoice2 WHEN nChoice1 != 2 ;
COLOR "W/N" ;
WITH RADIOBUTTONS { "1 Adios", "2 Agur", "3 Bye bye" }
@ 7,60 GET nChoice3 ;
COLOR "GR+/B" ;
WITH RADIOBUTTONS { "1 Quick", "3 Simple", "4 Beautiful" } ;
NOBOX
@ 12,5 SAY "Get Normal 2:" GET cGet2
@ 17,5 SAY "Buttons 4:" GET nChoice4 ;
COLOR "R+/W" ;
WITH RADIOBUTTONS { "1 Option", "2 Option", "3 Option" } ;
DOUBLE ;
HORIZONTAL
READ
- Page 168 -
Norton Guide: `FAST.lib 3.50 » Referencia'
Menu List: FAST.lib 2, Ratón
Esta sección de la biblioteca dara un completo acceso al ratón en sus
aplicaciones Clipper.
──────────────────────────────────────────────────────────────────────────────
rButtons()
Retorna el número de botones
Sintaxis:
rButtons() -> nButtons
Descripción:
Retorna 2 si el ratón es un Microsoft mouse o 3 si es un
Mouse Systems/Logitech mouse.
Valor de Retorno:
Un número indicando el número de botones.
Ejemplo:
? rButtons ()
rCentre()
Determina si el botón central está pulsado
Sintaxis:
rCentre() -> lPress
Descripción:
Determina si el botón central está pulsado retornando un valor
lógico.
Valor de Retorno:
Un lógico indicando si está pulsado o no.
Ejemplo:
If rCentre()
Warning ( "Central button pulsado" )
EndIf
- Page 169 -
Norton Guide: `FAST.lib 3.50 » Referencia'
See Also: "rLeft()" "rRight()"
rCursorOff()
Desactiva la visualización del cursor de ratón
Sintaxis:
rCursorOff() -> NIL
Descripción:
Esconde el cursor de ratón. Múltiples llamadas a esta función
requeriran múltiples llamadas a rCursorOn() para mostrarlo de
nuevo.
Valor de Retorno:
Nada.
Ejemplo:
rCursorOff()
See Also: "rCursorOn()"
rCursorOn()
Activa la visualización del cursor de ratón
Sintaxis:
rCursorOn() -> NIL
Descripción:
Muestra el cursor de ratón. Múltiples llamadas a rCursorOff()
requerirarán múltiples llamadas a esta función para mostrarlo de
nuevo.
Valor de Retorno:
Nada.
Ejemplo:
rCursorOn()
See Also: "rCursorOff()"
rClick()
- Page 170 -
Norton Guide: `FAST.lib 3.50 » Referencia'
Determina si algún botón está pulsado
Sintaxis:
rClick() -> lPush
Descripción:
Determina si algún botón está pulsado retornando un valor lógico.
Valor de Retorno:
Un valor lógico indicando si está pulsado o no.
Ejemplo:
If rClick()
? "Si"
EndIf
See Also: "rCentre()" "rRight()" "rLeft()"
rGetPosX()
Retorna la coordenada horizontal del ratón
Sintaxis:
rGetPosX() -> nCoorX
Descripción:
Retorna la coordenada horizontal del ratón.
Valor de Retorno:
Un número indicando la posición en X.
Ejemplo:
? rGetPosX()
See Also: "rGetPosY()"
rGetPosY()
Retorna la coordenada vertical del ratón
Sintaxis:
rGetPosY() -> nCoorY
- Page 171 -
Norton Guide: `FAST.lib 3.50 » Referencia'
Descripción:
Retorna la coordenada vertical del ratón.
Valor de Retorno:
Un número indicando la posición en Y.
Ejemplo:
? rGetPosY()
See Also: "rGetPosX()"
rHardCur()
Define el cursor del ratón via Hardware
Sintaxis:
rHardCur() -> NIL
Descripción:
Cuando el software cursor es seleccionado, el carácter/atributo
de la posición seleccionada es ANDed con la máscara de pantalla y
XORed con la mascara de cursor.
Valor de Retorno:
Nada.
Ejemplo:
rHardCur()
See Also: "rSoftCur()"
rInArea()
Determina si el ratón está en una zona de la pantalla
Sintaxis:
rInArea( nY1, nX1, nY2, nX2 ) -> lHere
nY1, nX1, nY2, nX2 : Las coordenadas de la zona.
Descripción:
Determina si el ratón está dentro o fuera de una zona de la
pantalla.
- Page 172 -
Norton Guide: `FAST.lib 3.50 » Referencia'
Valor de Retorno:
Un valor lógico indicando si está dentro o fuera de la zona
especificada.
Ejemplo:
If rInArea ( 10, 10, 12, 20 )
Warning ( "Mouse ok" )
EndIf
rInkey()
Hace lo mismo que Inkey() pero atiende al ratón
Sintaxis:
rInkey() -> nKey
Descripción:
Hace lo mismo que Inkey() pero atiende al ratón
Valor de Retorno:
Retorna lo mismo que inKey() o 1001 si el botón izquierdo es
pulsado, 1002 si el botón derecho es pulsado o 1003 si se pulsa
el botón central.
Ejemplo:
nKey := rInkey(0)
If nKey > 1000
Warning ( "Botón de ratón pulsado" )
ElseIf nKey != 0
Warning ( "Tecla pulsada" )
Else
Warning ( "Nada" )
EndIf
See Also: "rInkey2()"
rInkey2()
Hace lo mismo que Inkey() pero atiende al ratón y Setkey()
Sintaxis:
rInkey() -> nKey
Descripción:
Hace lo mismo que Inkey() pero atiende al ratón y Setkey()
- Page 173 -
Norton Guide: `FAST.lib 3.50 » Referencia'
Valor de Retorno:
Retorna lo mismo que inKey() o 1001 si el botón izquierdo es
pulsado, 1002 si el botón derecho es pulsado o 1003 si se pulsa
el botón central.
Ejemplo:
SetKey ( 1001, { || Warning ( "Mouse Left pulsado" } )
SetKey ( 1002, { || Warning ( "Mouse Right pulsado" } )
SetKey ( 1003, { || Warning ( "Mouse Central pulsado" } )
nKey := rInkey2(0)
If nKey != 0
Warning ( "Tecla pulsada" )
Else
Warning ( "Nada" )
EndIf
See Also: "rInkey()"
rIsMouse()
Indica si el sistema dispone de ratón
Sintaxis:
rIsMouse() -> lMouse
Descripción:
Determina si el sistema tiene un ratón y un driver de ratón
correctamente instalados.
Valor de Retorno:
Un valor lógico indicando si el sistema tiene ratón.
Ejemplo:
If rIsMouse()
Warning ( "Si" )
EndIf
See Also: "rReset()"
rLeft()
Determina si el botón izquierdo está pulsado
Sintaxis:
rLeft() -> lPress
- Page 174 -
Norton Guide: `FAST.lib 3.50 » Referencia'
Descripción:
Determina si el botón izquierdo está pulsado retornando un valor
lógico.
Valor de Retorno:
Un lógico indicando si está pulsado o no.
Ejemplo:
If rLeft()
Warning ( "Left button pulsado" )
EndIf
See Also: "rCentre()" "rRight()"
rReset()
Reinicializa el driver de ratón
Sintaxis:
rReset() -> NIL
Descripción:
Produce una reinicialización hardware del driver de ratón.
Valor de Retorno:
Nada.
Ejemplo:
rReset()
See Also: "rIsMouse()"
rRight()
Determina si el botón derecho está pulsado
Sintaxis:
rRight() -> lPress
Descripción:
Determina si el botón derecho está pulsado retornando un valor
lógico.
- Page 175 -
Norton Guide: `FAST.lib 3.50 » Referencia'
Valor de Retorno:
Un lógico indicando si está pulsado o no.
Ejemplo:
If rRight()
Warning ( "Right button pulsado" )
EndIf
See Also: "rCentre()" "rLeft()"
rSens()
Define el número de mickeys por pixel
Sintaxis:
rSens( nSensHor, nSensVer ) -> NIL
nSensHor : Un número indicando el número de mickeys por pixel en
horizontal. Por defecto es 8.
nSensVer : Un número indicando el número de mickeys por pixel en
vertical. Por defecto es 16.
Descripción:
Define el número de mickeys por pixel horizontal y verticalmente.
Valor de Retorno:
Nada.
Ejemplo:
rSens( 3, 12 )
rSetArea()
Indica la zona donde el ratón está activo
Sintaxis:
rSetArea( nY1, nX1, nY2, nX2 ) -> NIL
nY1 : coordenada Y inicial
nX1 : coordenada X inicial
nY2 : coordenada Y final
nX2 : coordenada X final
Descripción:
Indica la zona donde el ratón puede estar activo. El sistema no
- Page 176 -
Norton Guide: `FAST.lib 3.50 » Referencia'
permitirá al puntero moverse fuera de esta zona.
Valor de Retorno:
Nada.
Ejemplo:
rSetArea ( 12, 20, 15, 60 )
rSetPos()
Cambia la posición del cursor de ratón
Sintaxis:
rSetPos( nRow, nCol ) -> NIL
nRow : Nueva línea para el ratón
nCol : Nueva columna para el ratón
Descripción:
Cambia el cursor de ratón a una nueva posición.
Valor de Retorno:
Nada.
Ejemplo:
rSetPos ( 12, 20 )
rSoftCur()
Define el cursor de ratón via Software
Sintaxis:
rSoftCur() -> NIL
Descripción:
Cuando el software cursor es seleccionado, el carácter/atributo
de la posición seleccionada es ANDed con la máscara de pantalla y
XORed con la mascara de cursor.
Valor de Retorno:
Nada.
Ejemplo:
- Page 177 -
Norton Guide: `FAST.lib 3.50 » Referencia'
rSoftCur()
See Also: "rHardCur()"
rVersion()
Devuelve información sobre el ratón
Sintaxis:
rVersion() -> aInfo
Descripción:
Devuelve información sobre el ratón conectado al sistema y sobre
el driver.
Valor de Retorno:
Un array con 3 elementos
aInfo[ 1 ] -> Versión del driver
aInfo[ 2 ] -> IRQ usada por el driver
aInfo[ 3 ] -> Tipo de ratón:
1 -> "bus"
2 -> "serial"
3 -> "InPort"
4 -> "PS/2"
5 -> "HP"
Ejemplo:
LOCAL aTypes := { "bus", "serial", "InPort", "PS/2", "HP" }
IF rIsMouse()
aInfo := rVersion()
? "Mouse driver version " + aInfo[ 1 ]
? "IRQ number " + ALLTRIM( STR( aInfo[ 2 ] ) )
? aTypes[ aInfo[ 3 ] ] + " mouse installed"
ENDIF
- Page 178 -
Norton Guide: `FAST.lib 3.50 » Referencia'
Menu List: FAST.lib 2, Impresora
Con estas funciones puede controlar la impresión en Clipper. También
podrá controlar la cola del comando PRINT del DOS.
──────────────────────────────────────────────────────────────────────────────
GetPrinter()
Retorna el estado de la impresora
Sintaxis:
GetPrinter( [nPrinter] ) -> nStatus
nPrinter : Número de puerto. 0 = LPT1, 1 = LPT2...
Por defecto verifica la impresora 0
Descripción:
Determina si la impresora está preparada, sin papel, apagada o si
no hay impresora.
Valor de Retorno:
Un número indicando el estado de la impresora después del último
acceso a la misma.
0 READY -> Preparada
1 BUSY -> No acepta comandos
2 PAPER -> Sin papel
3 NOTHERE -> No hay impresora
4 LAN -> Impresora de red
5 ISOFF -> No preparada
Ejemplo:
nStatus := GetPrinter()
If nStatus == 0 .Or. nStatus == 4
Warning ( "Impresora preparada" )
EndIf
IsPrint()
Determina si PRINT.EXE está cargado
Sintaxis:
IsPrint() -> lLoaded
- Page 179 -
Norton Guide: `FAST.lib 3.50 » Referencia'
Descripción:
Determina si PRINT.EXE está cargado en memoria.
Valor de Retorno:
Un valor lógico indicando si está cargado o no.
Ejemplo:
If IsPrint()
Warning ( "PRINT ha sido cargado" )
EndIf
pAddFile()
Añade un fichero a la cola de PRINT
Sintaxis:
pAddFile( cFile ) -> lError
cFile : El fichero que va a ser impreso
Descripción:
Añade un fichero a la cola de PRINT.
Verifique que PRINT.EXE está instalado antes de usar esta función.
El fichero debe ser indicado con path completo, ej. C:\DOS\ANSI.SYS
Valor de Retorno:
.T. si todo va bien o .F. si algún problema.
Ejemplo:
If ! pAddFile( "c:\autoexec.bat" )
Warning ( "Error" )
EndIf
See Also: "IsPrint()" "pDelAll()" "pDelFile()" "pError()" "pRestart()"
pDelAll()
Borra todos los ficheros de la cola de PRINT
Sintaxis:
pDelAll() -> lError
Descripción:
- Page 180 -
Norton Guide: `FAST.lib 3.50 » Referencia'
Borra todos los ficheros de la cola de PRINT.
Verifique que PRINT.EXE está instalado antes de usar esta función.
Valor de Retorno:
.T. si todo va bien o .F. si algún problema.
Ejemplo:
If ! pDelAll()
Warning ( "Error" )
EndIf
See Also: "IsPrint()" "pAddFile()" "pDelFile()" "pError()" "pRestart()"
pDelFile()
Borra un fichero de la cola de PRINT
Sintaxis:
pDelFile( cFile ) -> lError
cFile : El fichero a borra de la cola.
Descripción:
Borra un fichero de la cola de PRINT.
Verifique que PRINT.EXE está instalado antes de usar esta función.
El fichero debe ser indicado con path completo, ej. C:\DOS\ANSI.SYS
Valor de Retorno:
.T. si todo va bien o .F. si algún problema.
Ejemplo:
pAddFile ( "c:\config.sys" )
If ! pDelFile( "c:\config.sys" )
Warning( "Error" )
EndIf
See Also: "IsPrint()" "pAddFile()" "pDelAll()" "pError()" "pRestart()"
Indica si PRINT se ha detenido por algún error
Sintaxis:
pError() -> lError
Descripción:
- Page 181 -
Norton Guide: `FAST.lib 3.50 » Referencia'
Indica si PRINT ha detectado algún error o problema y ha detenido
la cola de impresión.
Verifique que PRINT.EXE está instalado antes de usar esta función.
Valor de Retorno:
.T. si hay algún error .F. si todo está correcto.
Ejemplo:
If ! pError()
Warning ( "Ok" )
EndIf
See Also: "IsPrint()" "pAddFile()" "pDelAll()" "pDelFile()" "pRestart()"
pQueue()
Retorna la cola de PRINT
Sintaxis:
pQueue() -> aQueue
Descripción:
Retorna la cola de PRINT.
Verifique que PRINT.EXE está instalado antes de usar esta función.
Valor de Retorno:
Un array con los ficheros de la cola de PRINT.
Ejemplo:
If IsPrint()
aQueue := pQueue()
For nInd := 1 To Len( aQueue )
? aQueue[ nInd ]
Next
EndIf
See Also: "IsPrint()" "pAddFile()" "pDelAll()" "pDelFile()" "pError()"
pRestart()
Rearranca la cola de PRINT
Sintaxis:
pRestart() -> lError
Descripción:
- Page 182 -
Norton Guide: `FAST.lib 3.50 » Referencia'
Rearranca la cola de PRINT.
Verifique que PRINT.EXE está instalado antes de usar esta función.
Valor de Retorno:
.T. si puede ser restaurada .F. si no puede recuperarse del error.
Ejemplo:
If pError()
If pRestart()
Warning ( "Restaurando cola..." )
Else
Warning ( "La cola está parada" )
Endif
Else
Warning ( "Todo correcto" )
EndIf
See Also: "IsPrint()" "pAddFile()" "pDelAll()" "pDelFile()" "pError()"
PrtScr()
Imprime la pantalla actual
Sintaxis:
PrtScr() -> NIL
Descripción:
Imprime la pantalla actual. Esto es funcionalmente equivalente a
la tecla Shift-PrtScrn.
Valor de Retorno:
Nada.
Ejemplo:
PrtScr() // Imprime la pantalla
See Also: "SetHardCopy()"
SetHardCopy()
Activa/desactiva el hardcopy del sistema
Sintaxis:
SetHardCopy( lEnable ) -> NIL
- Page 183 -
Norton Guide: `FAST.lib 3.50 » Referencia'
lEnable : Un valor lógico indicando si activar (.T.) o
desactivar (.F.) el hardcopy
Descripción:
Esta función activa o desactiva el hardcopy generado por la tecla
PrtScr key.
Valor de Retorno:
Un valor lógico indicando si el hardcopy está activo o no.
Ejemplo:
SetHardCopy( .F. ) // desactiva hardcopy
See Also: "PrtScr()"
ToPrint()
Imprime un string en la impresora
Sintaxis:
ToPrint( cString ) -> NIL
cString : El string que debe ser impreso.
Descripción:
Imprime un string en la impresora con un CR/LF.
No abra ni cierre el puerto, esta función lo hará por usted.
Valor de Retorno:
Nada.
Ejemplo:
ToPrint ( "Este string irá a la impresora" )
- Page 184 -
Norton Guide: `FAST.lib 3.50 » Referencia'
Menu List: FAST.lib 2, Pantalla
Estas funciones ayudan en los accesos a la pantalla con Clipper.
──────────────────────────────────────────────────────────────────────────────
BigLetter()
Retorna un array con un banner gigante de una letra
Sintaxis:
BigLetter( nLetter ) -> aFormat
aLetter : El valor ascii de la letra
Descripción:
Crea y retorna un array con el formato de una letra para crear un
banner.
Valor de Retorno:
Un array.
Ejemplo:
BigLetter( Chr( "A" ) ) // retorna { " █ ", ;
" █ █ ", ;
" ██ ██ ", ;
" ██ ██ ", ;
... , ;
}
See Also: "BigString()" "SmallLetter()" "SmallString()"
BigString()
Muestra un banner gigante con un string especificado
Sintaxis:
BigString( nRow, nCol, cString, cColor ) -> NIL
nRow : Línea del banner
nCol : Columna del banner
cString : El string a mostrar
cColor : El color
Descripción:
- Page 185 -
Norton Guide: `FAST.lib 3.50 » Referencia'
Crea y muestra un banner con un string especificado. Esta función
usa BigLetter() para crear el banner.
Valor de Retorno:
Nada.
Ejemplo:
BigString( 1, 10, "Hola", "GR+/B" )
See Also: "BigLetter()" "SmallLetter()" "SmallString()"
BoxClose()
Cierra una ventana con foco de luz
Sintaxis:
BoxClose ( aBox ) -> NIL
aBox : Un array con la ventana
Descripción:
Cierra una ventana con foco de luz y restaura la pantalla.
Valor de Retorno:
Nada
Ejemplo:
BoxClose ( aBox )
See Also: "BoxOpen()" "BoxDelete()" "BoxPush()"
BoxDelete()
Borra el contenido de una ventana con foco de luz
Sintaxis:
BoxDelete( aBox ) -> NIL
aBox : Un array con la ventana
Descripción:
Borra el contenido de una ventana con foco de luz haciendo un
efecto push sobre la misma.
- Page 186 -
Norton Guide: `FAST.lib 3.50 » Referencia'
Valor de Retorno:
Nada.
Ejemplo:
BoxDelete ( aBox )
See Also: "BoxOpen()" "BoxClose()" "BoxPush()"
BoxOpen()
Crea una ventana con foco de luz
Sintaxis:
BoxOpen ( nTop, nLeft, nBottom, nRight, cColor, nFast ) -> aBox
nTop : Y inicial de la ventana.
nLeft : X inicial.
nBottom : Y Final.
nRight : X Final.
cColor : Color de fondo de la ventana
nFast : Velocidad de pulsación de la ventana
Descripción:
Abre una ventana en la posición y color dados.
El color es para el fondo y su valor no debe exceder el 7
( No puede incluir el caracter "+" )
Valor de Retorno:
Un array con información de la ventana.
Ejemplo:
BoxOpen ( 12, 10, 14, 40, "B", 0.2 )
See Also: "BoxDelete()" "BoxClose()" "BoxPush()"
BoxMessage()
Escribe un mensaje en una ventana con foco de luz
Sintaxis:
BoxMessage( cMessage, [nY], [nX], [cColor] ) -> aWindow
cMessage : El mensaje a mostrar
nY : Cooerdenada Y de la ventana. ( Defecto: 7 )
nX : Cooredenada X de la ventana. ( Defecto: Centrada )
cColor : Color de la ventana. ( Defecto: "B" )
- Page 187 -
Norton Guide: `FAST.lib 3.50 » Referencia'
Descripción:
Muestra un mensaje en la ventana. Si la coordenada Y no es
especificada, se asume el valor 7. Si la coordenada X no se
especifica, la ventana se centra dependiendo de la longitud
del mensaje. El color por defecto es "B".
Recuerde que no puede usar el caracter "+" para los colores de
las ventanas con foco de luz.
Valor de Retorno:
Un array con la información sobre la ventana.
Ejemplo:
nCursor := SetCursor ( 0 )
aButton := BoxMessage ( "Fast Library For Clipper", 12, , "G" )
Inkey(0)
BoxPush ( abutton )
Delay ( .1 )
BoxClose ( abutton )
SetCursor ( nCursor )
See Also: "Message()"
BoxPush()
Hace un efecto de pushing en una ventana con foco de luz
Sintaxis:
BoxPush ( aBox ) -> NIL
aBox : Un array con información sobre la ventana
Descripción:
Hace un efecto de pushing effect en la ventana a la velocidad
especificada en BoxOpen()
Valor de Retorno:
Nada.
Ejemplo:
BoxPush ( aBox )
See Also: "BoxOpen()" "BoxDelete()" "BoxClose()"
BoxQuery()
- Page 188 -
Norton Guide: `FAST.lib 3.50 » Referencia'
Hace una pregunta y retorna un valor lógico
Sintaxis:
BoxQuery( cQuery ) -> lAnswer
cQuery : Questión a mostrar en la pantalla
Descripción:
Hace una pregunta usando una ventana con foco de luz y retorna un
valor lógico.
Valor de Retorno:
Un lógico, de acuerdo con la respuesta.
Ejemplo:
If BoxQuery ( "¿Desea salir del programa? (S/N)" )
Warning( "Saliendo..." )
EndIf
See Also: "Query()"
BoxTurn()
Establece on/off en una ventana con foco de luz
Sintaxis:
BoxTurn ( aBox [, lMode] ) -> NIL
aBox : Un array con información sobre la ventana
lMode : El nuevo modo de visualización. ( Por defecto .T. )
Descripción:
Invierte la orientación de una ventana con foco de luz. Si lMode
es .T. la ventana se mostrará en modo normal; Si es .F. se
mostrará en modo pulsación.
Valor de Retorno:
Nada.
Ejemplo:
BoxTurn ( aBox, .T. )
See Also: "BoxOpen()" "BoxDelete()" "BoxClose()" "BoxPush()"
- Page 189 -
Norton Guide: `FAST.lib 3.50 » Referencia'
BoxWarning()
Muestra un aviso en una ventana con foco de luz
Sintaxis:
BoxWarning( xWarning ) -> NIL
xWarning : Mensaje a mostrar. Puede ser un string o un array de
strings.
Descripción:
Abre una ventana con foco de luz y muestra un mensaje, esperando
hasta que se pulse una tecla.
Valor de Retorno:
Nada.
Ejemplo:
BoxWarning ( "Hola mundo" )
BoxWarning ( { "Hello", "", "What are you doing?" } )
See Also: "Warning()"
Fascinate()
Realiza un efecto de color en la pantalla
Sintaxis:
Fascinate( cColor1, cColor2 ) -> NIL
cColor1 : Color inicial, que no debe exceder de 7.
cColor2 : Color final.
Descripción:
Hace un cambio gradual de color en modo texto variando desde cColor1
hasta cColor2. Use colores claros u oscuros pero no los mezcle o el
efecto perderá gran parte de su belleza.
Valor de Retorno:
Nada.
Ejemplo:
Fascinate( "BG", "G" )
Fascinate( "G", "GR" )
- Page 190 -
Norton Guide: `FAST.lib 3.50 » Referencia'
FastPrint()
Muestra un mensaje en la pantalla
Sintaxis:
FastPrint( nY, nX, cMessage, nColor ) -> NIL
nY : coordinate Y
nX : coordinate X
cMessage : Mensaje a mostrar
nColor : Un número con el color
Descripción:
Imprime un mensaje en la pantalla. Es muy rápida, casi un 50% más
rápida que el propio Clipper accediendo al vídeo.
Valor de Retorno:
Nada.
Ejemplo:
#define HIWHITE 15
FastPrint( 10, 12, "I want to be free...", HIWHITE )
File2Scr()
Restaura la pantalla desde un fichero
Sintaxis:
File2Scr( cFile ) -> lSuccess
cFile : El nombre del fichero con la pantalla
Descripción:
Restaura la pantalla desde un fichero. El nombre de fichero por
defecto es FAST.SCR.
Valor de Retorno:
Un lógico indicando si se produjo algún error.
Ejemplo:
If ! File2Scr ( "MyScreen.Scr" )
Return ( NIL )
EndIf
See Also: "Scr2File()"
- Page 191 -
Norton Guide: `FAST.lib 3.50 » Referencia'
GetChar()
Retorna algún carácter de la pantalla
Sintaxis:
GetChar( nY, nX ) -> cChar
nY : La coordenada Y
nX : La coordenada X
Descripción:
Retorna el carácter de la posición de pantalla especificada.
Valor de Retorno:
El carácter de la pantalla.
Ejemplo:
? GetChar ( 22, 10 ) // "c"
Implode()
Restaura una región de la pantalla
Sintaxis:
Implode( nY1, nX1, nY2, nX2, cScr [, nDelay] ) -> NIL
nY1 : Coordenada Y1 de la región
nX1 : Coordenada X1 de la región
nY2 : Coordenada Y2 de la región
nX2 : Coordenada X2 de la región
cScr : La pantalla salvada con SaveScreen()
nDelay : Tiempo de delay. Por defecto 10.
Descripción:
Restaura una pantalla o parte de ella que ha sido salvada con
SaveScreen().
Es una espectacular alternativa a RestScreen(). Restaura la pantalla
haciendo un efecto de exposión.
Valor de Retorno:
Nada.
Ejemplo:
- Page 192 -
Norton Guide: `FAST.lib 3.50 » Referencia'
cScr := SaveScreen( 10, 10, 20, 70 )
DispBox( 10, 10, 20, 70, "╔═╗║╝═╚║ ", "W/B" )
Inkey( 0 )
Implode( 10, 10, 20, 70, cScr, 30 )
Message()
Muestra un string en la pantalla
Sintaxis:
Message( nY, nX, cMess [, cColor] ) -> NIL
nY : Coordenada Y
nX : Coordenada X
cMess : Mensaje a imprimir
cColor : Color
Descripción:
Escribe un mensaje en las coordenadas y color especificados.
Valor de Retorno:
Nada.
Ejemplo:
Message ( 12, 15, "Hola", "R/B" )
See Also: "Warning()" "Query()"
NewBox()
Abre una ventana con explosión
Sintaxis:
NewBox( nY1, nX1, nY2, nX2, [cTitle], cBox, lShadow, ;
[cColor], [nIter], [nDelay] ) -> NIL
nY1 : Coordenada Y1
nX1 : Coordenada X1
nY2 : Coordenada Y2
nX2 : Coordenada X2
ctitle : Título de la ventana
cBox : Marco de la ventana
lShadow : Un lógico indicando si se desea sombra
cColor : Color de la ventana
nIter : Número de iteraciones de la explosión. Por defecto 6
nDelay : Tiempo de retardo. Por defecto 10
Descripción:
- Page 193 -
Norton Guide: `FAST.lib 3.50 » Referencia'
Dibuja una ventana en las coordenadas dadas con el título ctitle
o sin título si ctitle es NIL y con o sin sombra dependiendo de
lShadow.
El color de la ventana es cColor o el color activo si cColor es
NIL.
La velocidad de la explosión de la ventana is definido por nInter.
Valor de Retorno:
Nada.
Ejemplo:
NewBox( 10, 15, 20, 25, "Título", "╔═╗║╝═╚║ ", .T., "GR+/B", 12 )
See Also: "Window()"
Query()
Hace una pregunta y retorna un lógico
Sintaxis:
Query( cQuery [, cColor] ) -> NIL
cQuery : Questión a realizar
cColor : Color del mensaje
Descripción:
Hace un pregunta en la línea 24 y espera hasta que el usuario
conteste S o N.
Valor de Retorno:
Un lógico indicando la respuesta.
Ejemplo:
Query ( "¿Habla castellano? (S/N)", "R/B" )
See Also: "Warning()" "Message()"
RestScr()
Restaura una región de la pantalla
Sintaxis:
RestScr( nY1, nX1, nY2, nX2, aScr [, nDelay] ) -> NIL
nY1 : Coodenada Y1
- Page 194 -
Norton Guide: `FAST.lib 3.50 » Referencia'
nX1 : Coodenada X1
nY2 : Coodenada Y2
nX2 : Coodenada X2
aScr : La pantalla salvada con SaveScr()
nDelay : Tiempo de retardo. Por defecto 20.
Descripción:
Restaura una región de la pantalla, salvada previamente por
SaveScr(), con un espectacular efecto.
Valor de Retorno:
Nada.
Ejemplo:
nMode := 2
aScr := SaveScr ( 10, 10, 20, 70, nMode )
DispBox ( 10, 10, 20, 70, "╔═╗║╝═╚║ ", "W/B" )
Inkey(1)
RestScr ( 10, 10, 20, 70, aScr )
See Also: "SaveScr()"
SaveScr()
Salva una región de la pantalla
Sintaxis:
SaveScr( nY1, nX1, nY2, nX2, nEffect ) -> aScreen
nY1 : Coordenada Y1
nX1 : Coordenada X1
nY2 : Coordenada Y2
nX2 : Coordenada X2
nEffect : Un número indicando el tipo de efecto
1 -> izquierda - derecha
2 -> derecha - izquierda
3 -> arriba - abajo
4 -> abajo - arriba
Descripción:
Salva una región de la pantalla que podrá ser posteriormente
restaurada con RestScr().
Valor de Retorno:
Saved screen region.
Ejemplo:
- Page 195 -
Norton Guide: `FAST.lib 3.50 » Referencia'
nMode := 1
aScr := SaveScr ( 10, 10, 20, 70, nMode )
DispBox ( 10, 10, 20, 70, "╔═╗║╝═╚║ ", "W/B" )
Inkey(1)
RestScr ( 10, 10, 20, 70, aScr )
See Also: "RestScr()"
Scr2File()
Salva la pantalla a un fichero
Sintaxis:
Scr2File( cFile ) -> lError
cFile : El nombre del fichero
Descripción:
Salva la pantalla a un fichero. El nombre del fichero por defecto
es FAST.SCR.
Valor de Retorno:
A logic value indicating if an error is found.
Ejemplo:
If ! Scr2File ( "Screen.Scr" )
Warning ( "Imposible!!!" )
EndIf
See Also: "File2Scr()"
Screen()
Limpia la pantalla con un color y string opcionales
Sintaxis:
Screen( [cString], [cColor] ) -> NIL
cString : String a mostrar en la pantalla
cColor : Color opcional
Descripción:
Limpia la pantalla con un color y string opcionales. El string se
mostrará en la pantalla repetidamente en forma de trama.
Valor de Retorno:
- Page 196 -
Norton Guide: `FAST.lib 3.50 » Referencia'
Nada.
Ejemplo:
Screen() // cls usual
Screen( "Fast Library " ) // cls con string
Screen( "Fast Library ", "R/B" ) // cls con string y color
SetFont()
Cambia la fuente de caracteres
Sintaxis:
SetFont( cFile, lGraphMode ) -> nError
cFile : El nombre del fichero con la nueva fuente
lGraphMode : Un lógico indicando si está en modo gráfico.
Por defecto es .F. indicando modo texto.
Descripción:
Cambia el puntero de la zona de la BIOS donde está situada la
fuente de caracteres. Una nueva fuente es situada en memoria.
Valor de Retorno:
Un valor numérico indicando:
0 Ok
-1 El fichero no existe
-2 La estructura del fichero es incorrecta
Ejemplo:
If Empty( SetFont ( "c:\os2\mdos\myappl\fonts\roman.fon" ) )
? "Ok"
EndIf
ó
SetVGA()
SetFont( "c:\dos\fonts\script.fon", .T. )
See Also: "SetFontChar()"
SetFontChar()
Cambia un carácter de la fuente actual
Sintaxis:
SetFontChar( cString, nChar, lGraphMode ) -> NIL
- Page 197 -
Norton Guide: `FAST.lib 3.50 » Referencia'
cString : Un string de 16 bytes con el nuevo carácter
nChar : Un número indicando el valor ascii del carácter a
cambiar
lGraphMode : Un lógico indicando si está en modo gráfico.
Por defecto es .F. indicando modo texto.
Descripción:
Cambia el puntero de la zona de la BIOS donde está situada la
fuente de caracteres. Una nueva fuente es situada en memoria.
Valor de Retorno:
Nada.
Ejemplo:
lMode := .T. // en modo gráfico
cNewA := Replicate( Chr( 255 ), 16 )
SetFontChar( cNewA, Ascii( "A" ), lMode ) // la "A" será un "█"
See Also: "SetFont()"
SetGray()
Crea un monitor b/w virtual
Sintaxis:
SetGray( lGray ) -> NIL
lGray : Un lógico indicando si desea un monitor b/w virtual
Descripción:
Esta función permite simular un monitor b/w.
Es muy útil cuando se desea probar aplicaciones en monitores b/w.
Valor de Retorno:
Nada.
Ejemplo:
cPalette := GetPalette()
SetGray( .T. )
BoxWarning( "El monitor es b/w!!!" )
SetGray( .F. )
SetPalette( cPalette )
BoxWarning( "El monitor es color!!!, por supuesto" )
SmallLetter()
- Page 198 -
Norton Guide: `FAST.lib 3.50 » Referencia'
Retorna un array con un banner comprimido de una letra
Sintaxis:
SmallLetter( nLetter ) -> aFormat
aLetter : El valor ASCII de la letra
Descripción:
Crea y retorna un array con el formato de una letra para crear un
banner comprimido.
Valor de Retorno:
Un array.
Ejemplo:
SmallLetter( Chr( "A" ) ) // retorna { " ▄▀▄ ", ;
" ▄█▀ ▀█▄ ", ;
" ▀▀ ▀▀ ", ;
... , ;
}
See Also: "BigString()" "BigLetter()" "SmallString()"
SmallString()
Muestra un banner comprimido con un string especificado
Sintaxis:
SmallString( nRow, nCol, cString, cColor ) -> NIL
nRow : Línea del banner
nCol : Columna del banner
cString : El string a mostrar
cColor : El color
Descripción:
Crea y muestra un banner con el string especificado. Esta función
usa SmallLetter() para crear el banner.
Valor de Retorno:
Nada.
Ejemplo:
SmallString( 1, 10, "Hola", "GR+/B" )
- Page 199 -
Norton Guide: `FAST.lib 3.50 » Referencia'
See Also: "BigLetter()" "BigLetter()" "SmallLetter()"
Wall()
Simula un muro
Sintaxis:
Wall( [nY1], [nX1], [nY1], [nX2], [cColor] ) -> NIL
nY1 : Coordenada Y1, por defecto 0
nX1 : Coordenada X1, por defecto 0
nY2 : Coordenada Y2, por defecto 24
nX2 : Coordenada X2, por defecto 79
cColor : El color, opcional
Descripción:
Dibuja un muro en las coordenadas especificadas.
Valor de Retorno:
Nada.
Ejemplo:
Wall( 1, 1, 20, 51, "W/G" )
Wall( , , , , "GR/N" )
Warning()
Muestra un mensaje en la línea 24
Sintaxis:
Warning( cWarning, [lMode], [cColor] ) -> NIL
cWarning : El aviso a mostrar
lMode : El modo de acción, opcional
cColor : El color, opcional
Descripción:
Si lMode es .T. la función muestra un mensaje y espera a que se
pulse una tecla, restaurando posteriormente la pantalla. Si lMode
es .F., no espera a que se pulse una tecla ni restaura la pantalla
Por defecto es .T. Color por defecto "W/N".
Valor de Retorno:
Nada.
Ejemplo:
- Page 200 -
Norton Guide: `FAST.lib 3.50 » Referencia'
Warning( "Pulse una tecla" )
Warning( "Procesando, por favor, espere...", .F. )
See Also: "Message()" "Query()"
Window()
Dibuja una ventana con título y sombra opcionales
Sintaxis:
Window( nY1, nX1, nY2, nX2, [cTitle], cBox, lShadow, ;
[cColor] ) -> NIL
nY1 : Coordenada Y1
nX1 : Coordenada X1
nY2 : Coordenada Y2
nX2 : Coordenada X2
ctitle : El título, opcional
cBox : El tipo de caja
lShadow : Un lógico indicando si se desea sombra
cColor : El color, opcional
Descripción:
Dibuja una ventana en las coordenadas dadas con título opcional
(sin título si ctitle es NIL) y sombra si lShadow es .T..
El color de la ventana es cColor o el color activo si cColor es NIL.
Valor de Retorno:
Nada.
Ejemplo:
Window ( 10, 15, 20, 25, "Mi título", "╔═╗║╝═╚║ ", .T., "GR+/B" )
See Also: "NewBox()"
- Page 201 -
Norton Guide: `FAST.lib 3.50 » Referencia'
Menu List: FAST.lib 2, Comunicaciones Serie
Con esta sección se controlan las comunicaciones serie desde Clipper.
Las funciones trabajan a bajo nivel y unan un servicio gestor de
interrupciones para comunicarse con los puertos serie.
Estas funciones manejan 4 puertos serie, desde COM1 a COM4 en sistemas
AT y 2 puertos, COM1 y COM2 en sistemas XT.
El sistema es compatible con todas las UART's existentes en el mercado
para PC-XT-AT. El acceso al sistema se hace via 8259A, lo cual, deja a las
rutinas de la BIOS la compatibilidad con la UART.
El sistema tiene buffers internos y externos disponibles (del mismo tipo
que la BIOS provee para el teclado). Gracias a ellos, se pueden retener en
la memoria las llegadas y salidas para usarlas cuando se está preparado para
recivir o enviar. El buffer de entrada tiene un tamaño de 16384 bytes y el
de salida de 4096 bytes.
──────────────────────────────────────────────────────────────────────────────
ComCarrier()
Determina si el flag Carrier está arriba
Sintaxis:
ComCarrier() -> lCarrier
Descripción:
Determines if the Carrier flag is active. This flag must be
specifically looked at for transmissions or receptions to confirm
that the connection is still active. If the carrier is lost, it
could indicate that the other end of the communication link has
disconnected.
Valor de Retorno:
.T. si el flag Carrier está arriba
Ejemplo:
If ! ComCarrier()
Warning( "NO CARRIER" )
Else
Warning( "CARRIER DETECTED" )
EndIf
See Also: "ComReady()"
- Page 202 -
Norton Guide: `FAST.lib 3.50 » Referencia'
ComHighDTR()
Activa el flag Data Terminal Ready
Sintaxis:
ComHighDTR() -> NIL
Descripción:
ComHighDTR() activa el flag Data Terminal Ready (DTR).
Valor de Retorno:
Nada.
Ejemplo:
ComHighDTR() // Activa el flag DTR
See Also: "ComLowDTR()"
ComIsEmpt()
Determina si el buffer de entrada está vacio
Sintaxis:
ComInEmpt() -> lEmpty
Descripción:
Determina si el buffer de entrada está vacio
Valor de Retorno:
Un valor lógico indicando si el buffer está vacio o no.
Ejemplo:
If ComInEmpt()
Warning( "Buffer de entrada vacio" )
EndIf
See Also: "ComOutEmpt()"
ComInFlh()
Inicializa los buffers de entrada
Sintaxis:
- Page 203 -
Norton Guide: `FAST.lib 3.50 » Referencia'
ComInFlh() -> NIL
Descripción:
Vacia e inicializa los buffers de entrada. Este proceso lo realiza
automáticamente la función ComInst().
Valor de Retorno:
Nada.
Ejemplo:
ComInFlh()
See Also: "ComOutFlh()"
ComInput()
Extrae un byte del buffer de entrada (input)
Sintaxis:
ComInput() -> nValue
Descripción:
Extrae un byte del buffer de entrada.
ComInput() actualiza los punteros internos del buffer para que
apunten al siguiente byte.
Valor de Retorno:
El valor ascii del byte recibido desde el puerto o NIL si el buffer
está vacio o el gestor de comunicaciones no está activo.
Ejemplo:
While .T.
If ! ComInEmpt()
nValue := ComInput()
cString += Chr( nValue )
EndIf
End
See Also: "ComInEmpt()" "ComInputS()"
ComInputS()
Extrae un string del buffer de entrada (input str)
Sintaxis:
- Page 204 -
Norton Guide: `FAST.lib 3.50 » Referencia'
ComInputS( @cBuffer, nMaxChars ) -> nChars
cBuffer : El buffer donde retornar el string
nMaxChars : La longitud máxima de caracteres a leer del buffer
Descripción:
Recibe un string del buffer de entrada.
ComInputS() actualiza los punteros internos del buffer para que
apunten al siguiente byte.
Valor de Retorno:
El número de caracteres leídos o 0 si el buffer está vacio o el
gestor de comunicaciones no está activo.
Ejemplo:
cBuffer := Space( 1024 )
If comInputS( @cSpace, 1024 ) == 1024
? "Read Ok"
EndIf
See Also: "ComInEmpt()" "ComInput()"
ComInst()
Instala el Sistema de Comunicaciones Serie
Sintaxis:
ComInst( nPort ) -> nError
nPort : Puerto COM. 1=COM1, 2=COM2, 3=COM3 y 4=COM4
Descripción:
ComInst() instala un Sistema de Comunicaciones Serie e inicializa
los buffer de entrada/salida.
DANGER
El gestor de interrupciones del Sistema de Comunicaciones debe ser
desinstalado por la función ComUnInst(). De no desinstalarse,
causará un colapso general del sistema.
Valor de Retorno:
Un número con el siguiente significado:
0 Ok
1 Puerto especificado fuera del rango 1-4
2 No existe UART para el puerto especificado
- Page 205 -
Norton Guide: `FAST.lib 3.50 » Referencia'
3 El gestor ya está instalado
Ejemplo:
ComInst( 2 ) // instala el gestor en COM2
See Also: "ComUnInst()"
ComLowDTR()
Desactiva el flag Data Terminal Ready
Sintaxis:
ComLowDTR() -> NIL
Descripción:
ComLowDTR() desactiva el flag Data Terminal Ready (DTR).
Valor de Retorno:
Nada.
Ejemplo:
ComLowDTR() // Desactiva el flag Data Terminal Ready
See Also: "ComHighDTR()"
ComOutput()
Envia un byte al buffer de salida (output)
Sintaxis:
ComOutput( nValue ) -> NIL
Descripción:
Envia un byte al buffer de salida.
ComOutput() actualiza los punteros internos del buffer para que
apunten al siguiente byte.
Valor de Retorno:
Nada.
Ejemplo:
While ComReady()
ComOutput( 32 ) // envia blancos al puerto serie
- Page 206 -
Norton Guide: `FAST.lib 3.50 » Referencia'
End
See Also: "ComOutEmpt()" "ComOutputS()" "ComReady()"
ComOutputS()
Envia un string al buffer de salida (output str)
Sintaxis:
ComOutputS( cString ) -> NIL
Descripción:
Envia un string al buffer de salida.
ComOutputS() actualiza los punteros internos del buffer para que
apunten al siguiente byte.
Valor de Retorno:
Nada.
Ejemplo:
ComOutputS( "Most people like parties" )
See Also: "ComOutEmpt()" "ComOutput()" "ComReady()"
ComOutEmpt()
Determina si el buffer de salida está vacio
Sintaxis:
ComOutEmpt() -> lEmpty
Descripción:
Determina si el buffer interno de salida está vacio.
Valor de Retorno:
Un valor lógico indicando si está vacio o no.
Ejemplo:
If ComOutEmpt()
Warning( "Buffer de salida vacio" )
EndIf
See Also: "ComInEmpt()"
- Page 207 -
Norton Guide: `FAST.lib 3.50 » Referencia'
ComOutFlh()
Inicializa el buffer de salida
Sintaxis:
ComOutFlh() -> NIL
Descripción:
Vacia e inicializa el buffer de salida. Este proceso lo realiza
automáticamente la función ComInst().
Valor de Retorno:
Nada.
Ejemplo:
ComOutFlh()
See Also: "ComInFlh()"
ComParity()
Determina la paridad de la comunicación
Sintaxis:
ComParity( nParity ) -> NIL
nParity : El tipo de paridad:
0 o COM_NONE
1 o COM_EVEN
2 o COM_ODD
3 o COM_ZERO
4 o COM_ONE
Definidos en Fast.ch
Descripción:
ComParity() determina la paridad de la comunicación.
Valor de Retorno:
Nada.
Ejemplo:
ComParity( COM_NONE ) // sin paridad
- Page 208 -
Norton Guide: `FAST.lib 3.50 » Referencia'
See Also: "ComSpeed()"
ComReady()
Determina si el sistema está preparado para transmitir
Sintaxis:
ComReady() -> lReady
Descripción:
Determina si el sistema está preparado para transmitir. Esto depende
de que el Gestor de Comunicaciones esté activo y que los buffers
no estén llenos.
Valor de Retorno:
Un valor lógico indicando si el sistema está preparado.
Ejemplo:
If ComReady()
Warning( "System Ok" )
EndIf
See Also: "ComCarrier()"
ComSpeed()
Determina la velocidad de la comunicación
Sintaxis:
ComSpeed( nSpeed ) -> NIL
nSpeed : La velocidad de la comunicación
Descripción:
ComSpeed() determina la velocidad de la comunicación.
Valor de Retorno:
Nada.
Ejemplo:
ComSpeed( 2400 ) // 2400 bps
See Also: "ComParity()"
- Page 209 -
Norton Guide: `FAST.lib 3.50 » Referencia'
ComUnInst()
Desinstala el Sistema de Comunicaciones Serie
Sintaxis:
ComUnInst() -> NIL
Descripción:
ComUnInst() desinstala el Sistema de Comunicaciones Serie.
Esta función debe ser ejecutada siempre antes de abandonar el
programa para desinstalar el Sistema de Comunicaciones que ha sido
previamente instalado con ComInst().
Valor de Retorno:
Nada.
Ejemplo:
ComUnInst()
See Also: "ComInst()"
CRC32()
Retorna un CRC32 polinomial de un bloque como PKZIP
Sintaxis:
CRC32( cBlock ) -> cCRC
cBlock : El bloque a calcular
Descripción:
Calcula un CRC32 bit polinomial de un bloque de caracteres o campo
memo.
Valor de Retorno:
Un string con el CRC32.
Ejemplo:
? CRC32( "Hello" ) // "edb88320h"
? CRC32( MemoRead( "Fast.txt" ) ) // "feda3139h"
See Also: "XCRC16()"
Dial()
- Page 210 -
Norton Guide: `FAST.lib 3.50 » Referencia'
Marca un número de teléfono con el modem
Sintaxis:
Dial( cPort, cNumber [, cDial] ) -> lError
cPort : El puerto donde está el modem.
cNumber : El número de teléfono.
cDial : The dialing string.
Descripción:
Marca un número de teléfono con el modem. No olvide cortar la
comunicación con la función HangUp() al final de cada llamada y
antes de volver a marcar.
El puerto por defecto es "COM1" y el string de dial por defecto es
"ATDP" para llamar por pulsos. Escriba "ATDT" para llamar por tonos.
Valor de Retorno:
Si hay algún error retorna .F. Si no retorna .T.
Ejemplo:
? "Dialing..."
Dial( "COM2", "94,4992660" )
Inkey (0)
? "Hangup"
Hangup( "COM2" )
See Also: "Hangup()"
GetBaud()
Retorna la velocidad de un puerto COM en baudios
Sintaxis:
GetBaud( nPort ) -> nBaudRate
nPort : El número del puerto: 0=COM1, 1=COM2, 2=COM3, 3=COM4
Descripción:
Retorna el ratio de baudios de un puerto COM. Por ejemplo, un
puerto configurado por un driver de ratón retornará 1200, para un
modem 2400, 9600, ...
Valor de Retorno:
Un número con el ratio de baudios.
- Page 211 -
Norton Guide: `FAST.lib 3.50 » Referencia'
Ejemplo:
? GetBaud( 0 ) // COM1
Hangup()
Cuelga una llamada de teléfono
Sintaxis:
Hangup( cPort [, cHangup] ) -> lError
cPort : El puerto donde está situado el modem.
cHangup : El string a enviar al modem.
Descripción:
Cuelga una llamada. No olvide colgar al final de cada llamada.
El puerto por defecto es "COM1" y el string de Hangup es "+++ATH0".
Valor de Retorno:
Si hay algún error retorna .F. Si no retorna .T.
Ejemplo:
? "Dialing..."
Dial ( "COM2", "94,4992660", "ATB0DP" )
Inkey (0)
? "Hangup"
Hangup ( "COM2", "+++ATH0" )
See Also: "Dial()"
XCRC16()
Retorna un CRC16 polinomial de un bloque como XMODEM/ZMODEM
Syntax:
XCRC16( nPrevious, cBlock ) -> nCRC16
nPrevious : El CRC16 previo o 0
cBlock : El bloque a calcular
Description:
Calcula un CRC16 polinomial de un string o campo memo.
Return:
Un valor numérico con el CRC.
- Page 212 -
Norton Guide: `FAST.lib 3.50 » Referencia'
Example:
nCRC := XCRC16( 0, SPACE( 1000 ) )
// CRC calculado,
// ahora otro bloque
nCRC := XCRC16( nCRC, SPACE( 1000 ) )
See Also: "CRC32()"
- Page 213 -
Norton Guide: `FAST.lib 3.50 » Referencia'
Menu List: FAST.lib 2, CD-Audio SB DAC Speaker
Se abre un nuevo horizonte para Clipper. El poder del sonido desde
las aplicaciones ya es posible. Avisar a los usuarios con sonidos para
errores, advertencias, etc. Todo lo que su imaginación pueda idear.
Entre en el mundo multimedia, con Clipper naturalmente.
En la versión 2.0 solo se soportaba la Sound Blaster y Sound Blaster Pro.
Desde entonces he recibido montones de peticiones para extender este
subsistema al DAC paralelo y el Speaker.
Ahora rompemos el muro y damos la posibilidad de generar sonidos por el
DAC paralelo, Speaker, Sound Blaster y Sound Blaster Pro.
La máxima frecuencia depende de la velocidad del procesador y los drivers
de memoria cargados en el sistema.
──────────────────────────────────────────────────────────────────────────────
cdDrive()
Retorna el nombre de la unidad lógica del CD player
Sintaxis:
cdDrive() -> cName
Descripción:
Retorna un string con el nombre de la unidad del CD player
Valor de Retorno:
Un string con la unidad en el formato "X:"
Ejemplo:
? cdDrive() // "E:"
cdEject()
Expulsa el CD de la unidad
Sintaxis:
cdEject() -> NIL
Descripción:
Expulsa el CD de la unidad. Si el CD player está sonando la llamada
- Page 214 -
Norton Guide: `FAST.lib 3.50 » Referencia'
será ignorada.
Valor de Retorno:
Nada.
Ejemplo:
cdPlay()
? "Pulse una tecla para deterner el CD player"
Inkey( 0 )
cdStop()
cdEject()
See Also: "cdStop()" "cdPlay()" "cdResume()"
cdInfo()
Retorna el contenido de un CD
Sintaxis:
cdInfo() -> aSongs
Descripción:
Retorna el contenido de CD. Si el CD está sonando la llamada es
ignorada.
Valor de Retorno:
Un array con la duración de las canciones del CD.
Ejemplo:
aSongs := cdInfo()
For nInd := 1 To Len( aSongs )
? aSongs[ nInd ]
Next
cdInstall()
Determina si un CD player está instalado
Sintaxis:
cdInstall() -> lInstall
Descripción:
Retorna un lógico indicando si un CD player está instalado.
Valor de Retorno:
- Page 215 -
Norton Guide: `FAST.lib 3.50 » Referencia'
Un valor lógico.
Ejemplo:
if ! cdInstall()
? "Oh!! CD player no detectado"
endif
cdPlay()
Inicia el funcionamiento del CD player
Sintaxis:
cdPlay( nSong ) -> NIL
nSong : El número de la canción a reproducir
Descripción:
Inicia el funcionamiento del CD player. Si el CD player ya está
funcionando la llamada es ignorada.
Valor de Retorno:
Nada.
Ejemplo:
cdPlay()
? "Pulse una tecla para parar el CD player"
Inkey( 0 )
cdStop()
See Also: "cdEject()" "cdStop()" "cdResume()"
cdResume()
Reactiva el CD player después de una pausa
Sintaxis:
cdResume() -> NIL
Descripción:
Reactiva el CD player después de una pausa. Si el CD player no
está parado la llamada es ignorada.
Valor de Retorno:
Nada.
- Page 216 -
Norton Guide: `FAST.lib 3.50 » Referencia'
Ejemplo:
cdPlay()
? "Pulse una tecla para parar el CD player"
Inkey( 0 )
cdStop()
? "Pulse una tecla para continuar"
Inkey( 0 )
cdResume()
See Also: "cdEject()" "cdPlay()" "cdStop()"
cdStatus()
Determina el estado de una unidad CD player
Sintaxis:
cdStatus() -> nError
Descripción:
Determina el estado de una unidad CD player.
Valor de Retorno:
Un valor numérico indicando un error o 0 si todo está correcto.
Ejemplo:
? cdStatus()
cdStop()
Detiene o hace un pausa en el CD player
Sintaxis:
cdStop() -> NIL
Descripción:
Detiene o hace una pausa en el CD player. Si el CD player no está
funcionando la llamada es ignorada.
Valor de Retorno:
Nada.
Ejemplo:
cdPlay()
- Page 217 -
Norton Guide: `FAST.lib 3.50 » Referencia'
? "Pulse una tecla para parar el CD player"
Inkey( 0 )
cdStop()
See Also: "cdPlay()" "cdResume()"
dacVocPlay()
Reproduce un fichero VOC por el DAC paralalo
Sintaxis:
dacVocPlay( cFile, [nRate], [lKey] ) -> lError
cFile : El nombre del fichero
nRate : La frecuencia. El valor por defecto es 12000 Hz.
Use este valor para cambiar la frecuencia.
lKey : Un lógico indicando si la reproducción debe parar si el
usuario pulsa una tecla. Por defecto .F. indicando que
no se debe parar.
Descripción:
Reproduce un fichero con formato VOC por el DAC paralelo
Valor de Retorno:
Un valor lógico indicando si la función terminó sin errores.
Ejemplo:
dacVocPlay( "Luna.Voc", 13224 )
See Also: "dacWavPlay()"
dacWavPlay()
Reproduce un fichero WAV por el DAC paralalo
Sintaxis:
dacWavPlay( cFile, [nRate], [lKey] ) -> lError
cFile : El nombre del fichero
nRate : La frecuencia. El valor por defecto es 12000 Hz.
Use este valor para cambiar la frecuencia.
lKey : Un lógico indicando si la reproducción debe parar si el
usuario pulsa una tecla. Por defecto .F. indicando que
no se debe parar.
Descripción:
Reproduce un fichero con formato WAV por el DAC paralelo
- Page 218 -
Norton Guide: `FAST.lib 3.50 » Referencia'
Valor de Retorno:
Un valor lógico indicando si la función terminó sin errores.
Ejemplo:
dacWavPlay( "Luna.Wav", 13224 )
See Also: "dacVocPlay()"
dacPort()
Determina el puerto donde está situado el DAC paralelo
Sintaxis:
dacPort( nPort ) -> nOldPort
nPort : Un número indicando el puerto paralelo. 1=LPT1, 2=LPT2
Descripción:
Determina el puerto paralelo donde está conectado el DAC.
El puerto por defecto es LPT1.
Valor de Retorno:
Un número indicando el puerto actual de conexión para el DAC.
Ejemplo:
dacPort( 2 ) // Ahora, todo irá hacia LPT2
MSCDESVer()
Retorna la versión de MSCDEX
Sintaxis:
MSCDEXVer() -> cVersion
Descripción:
Retorna un string con la versión de MSCDEX
Valor de Retorno:
Un string con el formato "XX.XX"
Ejemplo:
? MSCDEXVer() // "02.20"
- Page 219 -
Norton Guide: `FAST.lib 3.50 » Referencia'
sbCDVolL()
Cambia el nivel de volumen izquierdo del CD. Solo en SB Pro.
Sintaxis:
sbCDVolL( [nNewVol] ) -> nVol
nNewVol : El nuevo volumen. Valores permitidos entre 0 y 15.
Descripción:
Retorna el nivel de volumen izquierdo del CD del sistema si éste está
presente y opcionalmente fija un nuevo volumen.
Valor de Retorno:
Un valor numérico indicando el nivel de volumen entre 0 y 15.
Ejemplo:
? sbCDVolL( 12 )
See Also: "sbCDVolR()"
sbCDVolR()
Cambia el nivel de volumen derecho del CD. Solo en SB Pro.
Sintaxis:
sbCDVolR( [nNewVol] ) -> nVol
nNewVol : El nuevo volumen. Valores permitidos entre 0 y 15.
Descripción:
Retorna el nivel de volumen derecho del CD del sistema si éste está
presente y opcionalmente fija un nuevo volumen.
Valor de Retorno:
Un valor numérico indicando el nivel de volumen entre 0 y 15.
Ejemplo:
? sbCDVolR( 12 )
See Also: "sbCDVolL()"
sbFMVolL()
- Page 220 -
Norton Guide: `FAST.lib 3.50 » Referencia'
Cambia el nivel de volumen FM izquierdo
Sintaxis:
sbFMVolL( [nNewVol] ) -> nVol
nNewVol : El nuevo volumen. Valores permitidos entre 0 y 15.
Descripción:
Retorna el nivel de volumen de FM en el canal izquierdo de la
Sound Blaster y opcionalmente cambia dicho volumen.
Valor de Retorno:
Un valor numérico indicando el nivel de volumen entre 0 y 15.
Ejemplo:
? sbFMVolL()
See Also: "sbFMVolR()"
sbFMVolR()
Cambia el nivel de volumen FM derecho
Sintaxis:
sbFMVolR([ [nNewVol] ) -> nVol
nNewVol : El nuevo volumen. Valores permitidos entre 0 y 15.
Descripción:
Retorna el nivel de volumen de FM en el canal derecho de la
Sound Blaster y opcionalmente cambia dicho volumen.
Valor de Retorno:
Un valor numérico indicando el nivel de volumen entre 0 y 15.
Ejemplo:
? sbFMVolR()
See Also: "sbFMVolL()"
sbInit()
Inicializa la Sound Blaster y determina su presencia
- Page 221 -
Norton Guide: `FAST.lib 3.50 » Referencia'
Sintaxis:
sbInit() -> lError
Descripción:
Inicializa la Sound Blaster y/o Sound Blaster Pro y determina su
presencia retornando un valor lógico.
Recuerde que antes de llamar a esta función debe configurar la IRQ
y la IO Address mediante las funciones sbIO() y sbIRQ(). Preste
especial antención a este punto si la IRQ por defecto no es la 7
la IO address por defecto no es la 220h.
Valor de Retorno:
Un valor lógico indicando si la Sound Blaster está disponible en el
sistema en la IRQ e IO Address especificadas.
Ejemplo:
If sbInit()
? "Hay una Sound Blaster"
EndIf
See Also: "sbIO()" "sbIRQ()"
sbIO()
Retorna y/o modifica la IO address de la SB
Sintaxis:
sbIO( nNewAddr ) -> nAddress
nNewAddr : La nueva dirección de configuración de la Sound Blaster.
Recuerde que el valor debe ser introducido en decimal
y no en hexadecimal.
Descripción:
Retorna y/o moficia la IO Address de la Sound Blaster. La IO address
por defecto es 220h, pero este valor puede ser modificado mediante
switches situados en la tarjeta. Compruebe la IO address de su
Sound Blaster y modifique está función para adaptarse a la misma.
Valor de Retorno:
Un valor numérico indicando la IO address actual.
Ejemplo:
? sbIO() // Probablemente retorne 220h en decimal
- Page 222 -
Norton Guide: `FAST.lib 3.50 » Referencia'
See Also: "sbIRQ()"
sbIRQ()
Retorna y/o modifica la IRQ de la SB
Sintaxis:
sbIRQ( nNewIRQ ) -> nIRQ
nNewIRQ : La nueva IRQ para la configuración de la Sound Blaster.
Recuerde que el valor debe ser introducido en decimal
y no en hexadecimal.
Descripción:
Retorna y/o moficia la IRQ de la Sound Blaster. La IRQ por defecto
en la Sound Blaster es IRQ 7h, lo cual significa que asume la
interrupción 08h+07h = 0fh. Este valor puede ser modificado
mediante switches situados en la tarjeta.
Comprueba que IRQ tiene configurada su Sound Blaster y ajuste este
valor mediante la función sbIRQ().
Valor de Retorno:
Un número indicando la IRQ actual
Ejemplo:
? sbIRQ( 5 ) // la nueva IRQ es la 5
See Also: "sbIO()"
sbLineVolL()
Cambia el nivel de volumen de línea izquiedo
Sintaxis:
sbLineVolL( [nNewVol] ) -> nVol
nNewVol : El nuevo volumen. Valores permitidos entre 0 y 15.
Descripción:
Retorna el nivel de volumen establecido en el canal izquierdo de
la Sound Blaster y opcionalmente cambia dicho volumen.
Valor de Retorno:
Un valor numérico indicando el nivel de volumen entre 0 y 15.
- Page 223 -
Norton Guide: `FAST.lib 3.50 » Referencia'
Ejemplo:
? sbLineVolL()
See Also: "sbLineVolR()"
sbLineVolR()
Cambia el nivel de volumen de línea derecho
Sintaxis:
sbLineVolR( [nNewVol] ) -> nVol
nNewVol : El nuevo volumen. Valores permitidos entre 0 y 15.
Descripción:
Retorna el nivel de volumen establecido en el canal derecho de la
Sound Blaster y opcionalmente cambia dicho volumen.
Valor de Retorno:
Un valor numérico indicando el nivel de volumen entre 0 y 15.
Ejemplo:
? sbLineVolR()
See Also: "sbLineVolL()"
sbMastVolL()
Cambia el nivel de volumen Master izquiedo
Sintaxis:
sbMastVolL( [nNewVol] ) -> nVol
nNewVol : El nuevo volumen. Valores permitidos entre 0 y 15.
Descripción:
Retorna el nivel de volumen Master establecido en el canal izquierdo
de la Sound Blaster y opcionalmente cambia dicho volumen.
Valor de Retorno:
Un valor numérico indicando el nivel de volumen entre 0 y 15.
Ejemplo:
? sbMastVolL()
- Page 224 -
Norton Guide: `FAST.lib 3.50 » Referencia'
See Also: "sbMastVolR()"
sbMastVolR()
Cambia el nivel de volumen Master derecho
Sintaxis:
sbMastVolR( [nNewVol] ) -> nVol
nNewVol : El nuevo volumen. Valores permitidos entre 0 y 15.
Descripción:
Retorna el nivel de volumen Master establecido en el canal derecho
de la Sound Blaster y opcionalmente cambia dicho volumen.
Valor de Retorno:
Un valor numérico indicando el nivel de volumen entre 0 y 15.
Ejemplo:
? sbMastVolR()
See Also: "sbMastVolL()"
sbRecScrL()
Cambia el nivel de volumen izquierdo de grabación
Sintaxis:
sbRecScrL( [nNewVol] ) -> nVol
nNewVol : El nuevo volumen. Valores permitidos entre 0 y 15.
Descripción:
Retorna el nivel de volumen izquierdo de grabación establecido en la
Sound Blaster y opcionalmente cambia dicho volumen.
Valor de Retorno:
Un valor numérico indicando el nivel de volumen entre 0 y 15.
Ejemplo:
? sbRecScrL()
See Also: "sbRecScrR()"
- Page 225 -
Norton Guide: `FAST.lib 3.50 » Referencia'
sbRecScr()
Cambia el nivel de volumen derecho de grabación
Sintaxis:
sbRecScrR( [nNewVol] ) -> nVol
nNewVol : El nuevo volumen. Valores permitidos entre 0 y 15.
Descripción:
Retorna el nivel de volumen derecho de grabación establecido en la
Sound Blaster y opcionalmente cambia dicho volumen.
Valor de Retorno:
Un valor numérico indicando el nivel de volumen entre 0 y 15.
Ejemplo:
? sbRecScrR()
See Also: "sbRecScrL()"
sbVocPlay()
Reproduce un fichero VOC por la Sound Blaster
Sintaxis:
sbVocPlay( cFile, [nRate], [lKey] ) -> lError
cFile : El nombre del fichero
nRate : La frecuencia. El valor por defecto es 12000 Hz.
Use este valor para cambiar la frecuencia.
lKey : Un lógico indicando si la reproducción debe parar si el
usuario pulsa una tecla. Por defecto .F. indicando que
no se debe parar.
Descripción:
Reproduce un fichero con formato VOC por la Sound Blaster
Valor de Retorno:
Un valor lógico indicando si la función terminó sin errores.
Ejemplo:
sbVocPlay( "Fast.Voc", 13224 )
See Also: "sbWavPlay()"
- Page 226 -
Norton Guide: `FAST.lib 3.50 » Referencia'
sbVocVolL()
Cambia el nivel de volumen VOC izquierdo
Sintaxis:
sbVocVolL( [nNewVol] ) -> nVol
Descripción:
Retorna el nivel de volumen VOC establecido en el canal izquierdo
de la Sound Blaster y opcionalmente cambia dicho volumen.
Valor de Retorno:
Un valor numérico indicando el nivel de volumen entre 0 y 15.
Ejemplo:
? sbVocVolL()
See Also: "sbVocVolR()"
sbVocVolR()
Cambia el nivel de volumen VOC derecho
Sintaxis:
sbVocVolR( [nNewVol] ) -> nVol
Descripción:
Retorna el nivel de volumen VOC establecido en el canal derecho
de la Sound Blaster y opcionalmente cambia dicho volumen.
Valor de Retorno:
Un valor numérico indicando el nivel de volumen entre 0 y 15.
Ejemplo:
? sbVocVolR()
See Also: "sbVocVolL()"
sbWavPlay()
Reproduce un fichero WAV por la Sound Blaster
Sintaxis:
- Page 227 -
Norton Guide: `FAST.lib 3.50 » Referencia'
sbWavPlay( cFile, [nRate], [lKey] ) -> lError
cFile : El nombre del fichero
nRate : La frecuencia. El valor por defecto es 12000 Hz.
Use este valor para cambiar la frecuencia.
lKey : Un lógico indicando si la reproducción debe parar si el
usuario pulsa una tecla. Por defecto .F. indicando que
no se debe parar.
Descripción:
Reproduce un fichero con formato WAV por la Sound Blaster
Valor de Retorno:
Un valor lógico indicando si la función terminó sin errores.
Ejemplo:
sbWavPlay( "Luna.Wav", 13224 )
See Also: "sbVocPlay()"
spkVocPlay()
Reproduce un fichero VOC por el speaker
Sintaxis:
spkVocPlay( cFile, [nRate], [lKey] ) -> lError
cFile : El nombre del fichero
nRate : La frecuencia. El valor por defecto es 12000 Hz.
Use este valor para cambiar la frecuencia.
lKey : Un lógico indicando si la reproducción debe parar si el
usuario pulsa una tecla. Por defecto .F. indicando que
no se debe parar.
Descripción:
Reproduce un fichero con formato VOC por el speaker
Valor de Retorno:
Un valor lógico indicando si la función terminó sin errores.
Ejemplo:
spkVocPlay( "Handel.voc", 13224 )
See Also: "spkWavPlay()"
- Page 228 -
Norton Guide: `FAST.lib 3.50 » Referencia'
spkWavPlay()
Reproduce un fichero WAV por el speaker
Sintaxis:
spkWavPlay( cFile, [nRate], [lKey] ) -> lError
cFile : El nombre del fichero
nRate : La frecuencia. El valor por defecto es 12000 Hz.
Use este valor para cambiar la frecuencia.
lKey : Un lógico indicando si la reproducción debe parar si el
usuario pulsa una tecla. Por defecto .F. indicando que
no se debe parar.
Descripción:
Reproduce un fichero con formato WAV por el speaker
Valor de Retorno:
Un valor lógico indicando si la función terminó sin errores.
Ejemplo:
spkWavPlay( "Luna.Wav", 13224 )
See Also: "spkVocPlay()"
- Page 229 -
Norton Guide: `FAST.lib 3.50 » Referencia'
Menu List: FAST.lib 2, Sistema
Con estas funciones se intenta dotar a Clipper de más control sobre
el ambiente de las aplicaciones. De esta forma, se pueden controlar los
accesos a los SETS de Clipper, modem, setup, passwords, CMOS, BIOS, memoria
drivers, ... etc.
──────────────────────────────────────────────────────────────────────────────
BIOSModel()
Retorna el modelo de ordenador
Sintaxis:
BIOSModel() -> nModel
Descripción:
Retorna un número entre 0 y 255, que es el valor decimal de un
byte indicando el modelo del sistema que reporta la BIOS.
In un 80386 este valor es normalmente 252, o FCh.
Existen tablas en la mayoría de las biblias de hard del IBM PC
que indican el significado de los distintos valores.
Valor de Retorno:
Un número indicando el modelo de ordenador.
Ejemplo:
? BIOSModel()
See Also: "BIOSRev()" "BIOSSubMod()"
BIOSRev()
Retorna la revisión de la BIOS
Sintaxis:
BIOSRev() -> nRevision
Descripción:
Retorna un número entre 0 y 255, que es el valor decimal de un
byte indicando la revisión de la BIOS del sistema.
La revisión usualmente está en relación con la fecha de la BIOS.
Valor de Retorno:
- Page 230 -
Norton Guide: `FAST.lib 3.50 » Referencia'
Un número indicando la revisión de la BIOS.
Ejemplo:
BIOSRev()
See Also: "BIOSModel()" "BIOSSubMod()"
BIOSSubMod()
Retorna el submodelo de ordenador
Sintaxis:
BIOSSubMod() -> nSubModel
Descripción:
Retorna un número entre 0 y 255, que es el valor decimal de un
byte indicando el submodelo de ordenador. Este valor normalmente
es usado por la mayoría de los fabricantes de hardware para
distinguir sus equipos. La mayoría de los clónicos usan el mismo
valor. No es así con BMS, Compaq o Toshiba que usan valores
exclusivos.
Valor de Retorno:
Un número indicando el submodelo de ordenador.
Ejemplo:
BIOSSubMod()
See Also: "BIOSModel()" "BIOSRev()"
cArgV()
Retorna un parámetro de la línea de comandos
Sintaxis:
cArgV( nPos ) -> cParam
nPos : La posición del parámetro en la línea de comandos.
La posición 0 indica el nombre del programa en ejecución,
la 1 el primer parámetro, 2 el segundo...
Descripción:
Retorna el parámetro que ha sido invocado junto con la aplicación
y/o el nombre del programa en ejecución.
- Page 231 -
Norton Guide: `FAST.lib 3.50 » Referencia'
Valor de Retorno:
Un string con el parámetro especificado.
Ejemplo:
? cArgV( 0 ) // el nombre del programa
? cArgV( 2 ) // el segundo parámetro
See Also: "nArgC()"
cmosGet()
Retorna una posición de la CMOS
Sintaxis:
cmosGet( nAddress ) -> nValue
nAddress : Dirección relativa de la CMOS. La tabla de direcciones
está descrita más abajo.
Descripción:
Retorna el valor de una celda de memoria en la CMOS. Esto puede ser
usado para determinar varios aspectos del setup del sistema.
Recuerde que la entrada y salida de parámetros debe ser especificada
en decimal, aunque la tabla adjunta esté en hexadecimal.
00h Seconds
01h Alarm seconds
02h Minutes
03h Alarm minutes
04h Hours
05h Alarm Hours
06h Day of week
07h Day of month
08h Month
09h Year
0Ah Status register A
0Bh Status register B
0Ch Status register C
0Dh Status register D
0Eh Diagnostic Byte
OFh Shutdown status byte
10h Diskette drive type byte - disk A and B
11h Reserved
12h Fixed disk type byte - disk C and D
13h Reserved
14h Equipment Byte
15h Low base memory byte
16h High base memory byte
17h Low expansion memory byte
18h High expansion memory byte
- Page 232 -
Norton Guide: `FAST.lib 3.50 » Referencia'
19-2Dh Reserved
2Eh Checksum byte 1
2Fh Checksum byte 2
30h Low expansion memory byte
31h High expansion memory byte
32h Date century byte
33h Flags Information byte
34-3Fh Reserved
Valor de Retorno:
Un número indicando el valor de la celda de la CMOS.
Ejemplo:
? cmosGet( 6 ) // retorna el día de la semana
See Also: "cmosSet()"
cmosSet()
Establece el valor de una celda de la CMOS
Sintaxis:
cmosSet( nAddress, nValue ) -> NIL
nAddress : Dirección relativa de la CMOS. La tabla de direcciones
está descrita más abajo.
nValue : El nuevo valor para la posición indicada.
Descripción:
ATENCION!!
Esta función accede al sistema a muy bajo nivel. Debe ser usada
con extremo cuidado y requiere un conocimiento de la arquitectura
del ordenador.
Inicializa el valor de una celda de la CMOS. Puede ser muy útil
para modificar de forma rápida el setup del sistema. Recuerde que
los valores de entrada y salida deben ser especificados en decimal
aunque la tabla adjunta esté en hexadecimal.
00h Seconds
01h Alarm seconds
02h Minutes
03h Alarm minutes
04h Hours
05h Alarm Hours
06h Day of week
07h Day of month
08h Month
09h Year
0Ah Status register A
- Page 233 -
Norton Guide: `FAST.lib 3.50 » Referencia'
0Bh Status register B
0Ch Status register C
0Dh Status register D
0Eh Diagnostic Byte
OFh Shutdown status byte
10h Diskette drive type byte - disk A and B
11h Reserved
12h Fixed disk type byte - disk C and D
13h Reserved
14h Equipment Byte
15h Low base memory byte
16h High base memory byte
17h Low expansion memory byte
18h High expansion memory byte
19-2Dh Reserved
2Eh Checksum byte 1
2Fh Checksum byte 2
30h Low expansion memory byte
31h High expansion memory byte
32h Date century byte
33h Flags Information byte
34-3Fh Reserved
Valor de Retorno:
Nada.
Ejemplo:
? cmosSet( 0, 30 ) // Pone los segundos del sistema a 30
See Also: "cmosGet()"
CpuType()
Retorna el tipo de procesador
Sintaxis:
CpuType() -> nProcessor
Descripción:
Retorna el tipo de CPU que tiene el sistema, siguiendo un proceso
publicado directamente por Intel. La compatibilidad de esta función
con procesadores de otras marcas no está garantizada.
Valor de Retorno:
Un número indicando:
0 - 8088
1 - 8086
2 - 80286
- Page 234 -
Norton Guide: `FAST.lib 3.50 » Referencia'
3 - 80386
4 - 80486
5 - Pentium
6 - 6tium when available
7 - 7tium when available
8 - 8tium when available
9 - 9tium when available
10 - NEC V20
11 - NEC V30
12 - 80188
13 - 80186
Ejemplo:
If CpuType () == 5
? "Ohh, un pentium"
EndIf
Delay()
Hace un pausa de los milisegundos especificados
Sintaxis:
Delay( nMilSeconds ) -> NIL
nMilSeconds : Número de milisegundos a esperar
Descripción:
Espera nMilSeconds milisegundos. Esta función no atiende al teclado
y solo finaliza cuando el tiempo ha finalizado.
La precisión es de milisegundos, esto es, 0.001 segundos.
Valor de Retorno:
Nada.
Ejemplo:
Delay ( 0.5 ) // Delay 0.5 seconds
Deencrypt()
Desencripta un string
Sintaxis:
Deencrypt( cString, cPassword ) -> cNewString
cString : El string a desencriptar
cPassword : El string usado para desencriptar
- Page 235 -
Norton Guide: `FAST.lib 3.50 » Referencia'
Descripción:
Desencripta un string con un método secreto.
Valor de Retorno:
Un string desencriptado.
Ejemplo:
cValue := Deencrypt ( "Hola mundo", "Esta es mi clave" )
See Also: "Encrypt()" "GetPass()"
DOSShell()
Inicia un nuevo procesador de comandos
Sintaxis:
DOSShell() -> NIL
Valor de Retorno:
Nada.
Ejemplo:
? "Escriba EXIT para retornar"
DOSShell ()
DPMIVersion()
Retorna la versión del host DPMI
Sintaxis:
DPMIVersion() -> cVersion
Descripción:
Retorna la versión del host DPMI o un string vacio si no hay ningún
host DPMI activo.
Valor de Retorno:
Un string con la versión del host DPMI.
Ejemplo:
If IsDPMI()
Warning( "DPMI host Version: " + DPMIVersion() )
- Page 236 -
Norton Guide: `FAST.lib 3.50 » Referencia'
EndIf
See Also: "IsDPMI()"
Encrypt()
Encripta un string
Sintaxis:
Encrypt( cString, cPassword ) -> cNewString
cString : El string a encriptar
cPassword : El string usado para encriptar
Descripción:
Encripta un string con un método secreto.
Valor de Retorno:
El string encriptado.
Ejemplo:
cValue := Encrypt( "Hola mundo", "Esta es mi clave" )
See Also: "Deencrypt()" "GetPass()"
FastRight()
Retorna el copyright de FAST.lib
Sintaxis:
FastRight() -> cCopyright
Descripción:
Retorna el copyright de de FAST.lib como un string.
Valor de Retorno:
Un string con el copyright de Fast Library For Clipper.
Ejemplo:
FastRight() // "(C) 1993 Manu Roibal"
See Also: "FastVersion()"
FastVersion()
- Page 237 -
Norton Guide: `FAST.lib 3.50 » Referencia'
Retorna la versión de FAST.lib
Sintaxis:
FastVersion() -> cVersion
Descripción:
Retorna la versión de FAST.lib como un string.
Valor de Retorno:
Un string con la versión de Fast Library For Clipper.
Ejemplo:
FastVersion() // "Fast Library For Clipper V. XX.XX"
See Also: "FastRight()"
GetEnviron()
Retorna el ambiente del sistema
Sintaxis:
GetEnviron() -> aEnviron
Descripción:
Retorna el ambiente del sistema, PATH, SET's...
Valor de Retorno:
Un array con el ambiente del sistema.
Ejemplo:
aArray := GetEnviron()
For nInd := 1 To Len( aArray ) // COMSPEC=C:\DOS\COMMAND.COM
? aArray[ nInd ] // PATH=C:\DOS;D:\CLIPPER5\BIN
Next // PROMPT=$P$G
// ...
GetPass()
Pide una password
Sintaxis:
GetPass( nRow, nCol, cMessage, nLen ) -> cPass
- Page 238 -
Norton Guide: `FAST.lib 3.50 » Referencia'
nRow : La línea de la ventana
nCol : La columna de la ventana
cMessage : El mensaje para pedir la password
nLen : El número de caracteres máximo de la password
Descripción:
Pide una password de máximo nLen caracteres en la posición
especificada.
Valor de Retorno:
La password o "" si se pulsa Esc.
Ejemplo:
cPass := GetPass ( 12, 20, "Introduzca clave de acceso", 15 )
See Also: "Encrypt()" "Deencrypt()"
iDisable()
Inhibe las interrupciones mascarables
Sintaxis:
iDisable() -> NIL
Descripción:
Inhibe las interrupciones mascarables y causa que el sistema de
VMM de Clipper no use los tiempos muertos para continuar su
trabajo.
Esto es muy útil cuando el tiempo de respuesta de un proceso es
crucial y no se desea que el VMM esté funcionando durante los
tiempos muertos.
Recuerde que ninguna interrupción podrá ser usada hasta que se
llame a iEnable().
Valor de Retorno:
Nada.
Ejemplo:
iDisable()
For nInd := 1 To 100
NullFunc() // En este proceso el VMM está parado
Next
iEnable()
See Also: "iEnable()"
- Page 239 -
Norton Guide: `FAST.lib 3.50 » Referencia'
iEnable()
Permite las interrupciones mascarables
Sintaxis:
iEnable() -> NIL
Descripción:
Permite las interrupciones mascarables.
Debe ser llamada despues de iDisable() cuando se desea permitir
nuevamente las interrupciones.
Valor de Retorno:
Nada.
Ejemplo:
iDisable()
For nInd := 1 To 100
NullFunc() // en este proceso el VMM está parado
Next
iEnable()
See Also: "iDisable()"
Inb()
Lee un byte de un puerto hardware
Sintaxis:
Inb( nPort ) -> nValue
nPort : número de puerto
Descripción:
ATENCION!!
Esta función accede al sistema muy bajo nivel. Debería ser usada
con extremo cuidado y requiere un conocimiento profundo de la
arquitectura del ordenador.
Valor de Retorno:
Un número con el byte recibido del puerto.
Ejemplo:
- Page 240 -
Norton Guide: `FAST.lib 3.50 » Referencia'
nValue := Inb ( 255 ) // Recibe un valor del puerto FF
See Also: "Inw()" "Outb()" "Outw()"
IniLoad()
Lee un fichero de configuración .INI
Sintaxis:
IniLoad( cFile, cAppl ) -> aIniFile
cFile : Fichero a leer
cAppl : Nombre de la aplicación
Descripción:
Lee un fichero de configuración y procesa su contenido.
Es la primera operación que debe usarse con las funciones sobre
ficheros .INI
Valor de Retorno:
Retorna un array con la información del fichero .INI
Ejemplo:
aIniFile := IniLoad( "Fast.Ini", "MARKET" )
See Also: "IniSearch()" "IniWrite()" "IniSave()"
IniSearch()
Busca un item en un fichero de configuración .INI
Sintaxis:
IniSearch( aIniFile, cItem, cDefault ) -> cValue
aIniFile : Un array con la información del fichero .INI
cItem : El item a buscar
cDefault : Valor por defecto si el item no es encontrado
Descripción:
Retorna el valor del item en el fichero de configuración o cDefault
si el item no es encontrado.
cItem debe estar en mayúsculas.
Valor de Retorno:
El valor de cItem o el valor por defecto.
- Page 241 -
Norton Guide: `FAST.lib 3.50 » Referencia'
Ejemplo:
cValue := IniSearch ( aIniFile, "CPUTYPE", "386sx" )
See Also: "IniWrite()" "IniSave()" "IniLoad()"
IniSave()
Salva un item en el ficheor de configuración .INI
Sintaxis:
IniSave( aIniFile, cItem, cValue ) -> NIL
aIniFile : Un array con la información del fichero .INI
cItem : Item a modificar
cValue : Nuevo valor
Descripción:
Salva el valor de un item en el fichero de configuración pero
no lo vuelca a disco hasta que que se realice una llamada a
IniWrite().
Valor de Retorno:
Nada.
Ejemplo:
IniSave( aIniFile, "CPUTYPE", "386 DX2 25 Mhz" )
See Also: "IniSearch()" "IniWrite()" "IniLoad()"
IniWrite()
Escribe en el disco el fichero de configuración .INI
Sintaxis:
IniWrite( aIniFile, cFile, cAppl ) -> NIL
aIniFile : Un array con la información del .INI
cFile : Fichero a crear
cAppl : Nombre de la aplicación
Descripción:
Crea un fichero con la información de configuración especificada.
El nombre de la aplicación será situado en la primera línea del
fichero.
- Page 242 -
Norton Guide: `FAST.lib 3.50 » Referencia'
Valor de Retorno:
Nada.
Ejemplo:
IniWrite ( aIniFile, "Fast.Ini", "MARKET" )
See Also: "IniSearch()" "IniSave()" "IniLoad()"
Inw()
Lee un word de un puerto hardware
Sintaxis:
Inb( nPort ) -> nValue
nPort : número de puerto
Descripción:
ATENCION!!
Esta función accede al sistema muy bajo nivel. Debería ser usada
con extremo cuidado y requiere un conocimiento profundo de la
arquitectura del ordenador.
Valor de Retorno:
Un número con el word recibido del puerto
Ejemplo:
nValue := Inb ( 255 ) // Recibe un alor del puerto FF
See Also: "Inb()" "Outb()" "Outw()"
IsAnsi()
Determina si Ansi.sys está cargado
Sintaxis:
IsAnsi() -> lLoaded
Descripción:
Determina si Ansi.sys está cargado
Valor de Retorno:
Un lógico indicando si ha sido cargado.
- Page 243 -
Norton Guide: `FAST.lib 3.50 » Referencia'
Ejemplo:
If IsAnsi()
Warning( "Ansi.sys ha sido cargado" )
EndIf
See Also: "IsKeyb()" "IsNlsFunc()" "IsShare()"
IsCopro()
Determina si un coprocesador matemático está presente
Sintaxis:
IsCopro() -> lExist
Descripción:
Determina si un coprocesador matemático o emulador está presente
Valor de Retorno:
Un lógico indicando si está presente.
Ejemplo:
If IsCopro()
Warning( "Hay coprocesador" )
EndIf
See Also: "IsModem()"
IsDPMI()
Determina si un host DPMI está presente
Sintaxis:
IsDPMI() -> lLoaded
Descripción:
Determina si un host DOS Protected Mode Interface (DPMI) está
presente.
Valor de Retorno:
Un lógico indicando si está presente.
Ejemplo:
If IsDPMI()
Warning( "Esta funcionando en PM o V86" )
- Page 244 -
Norton Guide: `FAST.lib 3.50 » Referencia'
EndIf
See Also: "DPMIVersion()"
IsKeyb()
Determina si Keyb ha sido cargado
Sintaxis:
IsKeyb() -> lLoaded
Descripción:
Determina si Keyb.sys ha sido cargado
Valor de Retorno:
Un lógico indicando si ha sido cargado.
Ejemplo:
If IsKeyb()
Warning( "Keyb.sys ha sido cargado" )
EndIf
See Also: "IsAnsi()" "IsNlsFunc()" "IsShare()"
IsModem()
Determina si hay modem interno
Sintaxis:
IsModem() -> lExist
Descripción:
Determina si hay un modem interno en el sistema.
Valor de Retorno:
Un lógico indicando si hay un modem interno.
Ejemplo:
If IsModem()
Warning ( "Tiene modem interno" )
EndIf
See Also: "IsCopro()"
- Page 245 -
Norton Guide: `FAST.lib 3.50 » Referencia'
IsMSDOS()
Determina si el sistema operativo es MSDOS o DRDOS
Sintaxis:
IsMSDOS() -> lIsMSDOS
Descripción:
Determina si el sistema operativo (SO) es un Microsoft DOS (MSDOS)
o un Digital Research DOS (DRDOS).
Valor de Retorno:
.F. para DRDOS y .T. para MSDOS (o cualquier otro).
Ejemplo:
If IsMSDOS()
Warning ( "Muy bien Bill..." )
EndIf
See Also: "IsQEMM()"
IsNlsFunc()
Determina si NlsFunc ha sido cargado
Sintaxis:
IsNlsFunc() -> lLoaded
Descripción:
Determina si NlsFunc ha sido cargado.
Valor de Retorno:
Un lógico indicando si está cargado o no.
Ejemplo:
If IsNlsFunc()
Warning ( "NlsFunc está cargado" )
EndIf
See Also: "IsAnsi()" "IsKeyb()" "IsShare()"
IsQEMM()
Determina si QEMM386.SYS o QRAM.SYS han sido cargados
- Page 246 -
Norton Guide: `FAST.lib 3.50 » Referencia'
Sintaxis:
IsQEMM() -> lLoaded
Descripción:
Determina si QEMM386.SYS o QRAM.SYS han sido cargados.
Valor de Retorno:
Un lógico indicando si está cargados o no.
Ejemplo:
If IsQEMM()
Warning ( "QEMM386 ha sido cargado" )
EndIf
See Also: "IsXMS()"
IsShare()
Determina si Share ha sido cargado
Sintaxis:
IsShare() -> lLoaded
Descripción:
Determina si Share ha sido cargado.
Valor de Retorno:
Un lógico indicando si está cargado o no.
Ejemplo:
If IsShare()
Warning ( "Share ha sido cargado" )
EndIf
See Also: "IsAnsi()" "IsKeyb()" "IsNlsFunc()"
IsXMS()
Determina si un XMS driver ha sido cargado
Sintaxis:
IsXMS() -> lLoaded
Descripción:
- Page 247 -
Norton Guide: `FAST.lib 3.50 » Referencia'
Determina si un XMS driver ha sido cargado.
Valor de Retorno:
Un lógico indicnado si está cargado o no.
Ejemplo:
If IsXMS()
Warning ( "XMS driver presente" )
EndIf
See Also: "IsQEMM()"
nArgC()
Retorna el número de parámetros de la línea de comandos
Sintaxis:
nArgC() -> nNumber
Descripción:
Retorna el número de parámetros pasados a la aplicación añadiendo
uno (el nombre del programa que se está ejecutando también se
incluye como un parámetro).
Valor de Retorno:
El número de parámetros más uno.
Ejemplo:
For nInd := 0 To nArgC() - 1
? cArgV( nInd )
Next
See Also: "cArgV()"
NullFunc()
Una función que no hace nada
Sintaxis:
NullFunc() -> NIL
Descripción:
Esta función no hace nada. Puede ser útil en algunos casos donde
es necesario poner una función, por ejemplo, en los codeblocks.
- Page 248 -
Norton Guide: `FAST.lib 3.50 » Referencia'
Valor de Retorno:
Nada.
Ejemplo:
aEval ( aArray, { || NullFunc () } )
NumParalel()
Retorna el número de puertos paralelos
Sintaxis:
NumParalel() -> nPorts
Descripción:
Retorna el número de puertos paralelos del sistema.
Valor de Retorno:
Un número que indica los puertos.
Ejemplo:
Warning( "Tiene " + Str ( NumParalel() ) + " puertos paralelos" )
See Also: "NumSerial()"
NumSerial()
Retorna el número de puertos serie
Sintaxis:
NumSerial() -> nPorts
Descripción:
Retorna el número de puertos serie del sistema.
Valor de Retorno:
Un número que indica los puertos.
Ejemplo:
Warning( "Tiene " + Str ( NumSerial() ) + " puertos serie" )
See Also: "NumParalel()"
- Page 249 -
Norton Guide: `FAST.lib 3.50 » Referencia'
DoIdle()
Configura el screensaver interno de FAST.lib
Sintaxis:
DoIdle( { bBlock, nTime ) -> NIL
bBlock : Será evaluado por la maquinaria interna
nTime : El tiempo a esperar antes de pasar a modo idle
Descripción:
Esta función configura la maquinaria interna para entrar en modo
idle.
Valor de Retorno:
Nada.
Ejemplo:
// Este es el viejo screensaver de FAST.lib
FUNCTION MAIN()
DoIdle( { || Example() }, 60 ) // 60 seconds
RETURN NIL
FUNCTION Example()
IF VideoMode() == 3 // en modo texto?
ScreenSave()
ENDIF
RETURN NIL
See Also: "DoInterval()"
DoInterval()
Llama a una función cada cierto tiempo
Sintaxis:
DoInterval( bBlock, nTime ) -> NIL
"Función" : Será invocada por la maquinaria interna
nTime : El intervalo de tiempo
Descripción:
Evalua un codeblock cada cierto tiempo. El tiempo mímimo es 1
segundo.
Valor de Retorno:
- Page 250 -
Norton Guide: `FAST.lib 3.50 » Referencia'
Nada.
Ejemplo:
FUNCTION MAIN()
DoInterval( { || Example() }, 1 )
RETURN NIL
FUNCTION Example()
@ 0, 70 SAY Time() COLOR "GR+/B"
RETURN NIL
See Also: "DoIdle()"
Outb()
Escribe un byte en un puerto hardware
Sintaxis:
Outb( nPort, nValue ) -> NIL
nPort : Número de puerto
nValue : Byte a escribir
Descripción:
ATENCION!!
Esta función accede al sistema muy bajo nivel. Debería ser usada
con extremo cuidado y requiere un conocimiento profundo de la
arquitectura del ordenador.
Valor de Retorno:
Nada.
Ejemplo:
Outb ( 255, 3 )
See Also: "Inw()" "Inw()" "Outw()"
Outw()
Escribe un word en un puerto hardware
Sintaxis:
Outw( nPort, nValue ) -> NIL
nPort : Número de puerto
nValue : Word a enviar
- Page 251 -
Norton Guide: `FAST.lib 3.50 » Referencia'
Descripción:
ATENCION!!
Esta función accede al sistema muy bajo nivel. Debería ser usada
con extremo cuidado y requiere un conocimiento profundo de la
Valor de Retorno:
Nada.
Ejemplo:
Outw ( 255, 32921 )
See Also: "Inw()" "Inw()" "Outb()"
Peekb()
Retorna un byte de una posición de memoria
Sintaxis:
Peekb( nSegment, nOffset ) -> nByte
nSegment : Memory Segment
nOffset : Memory Offset
Descripción:
ATENCION!!
Esta función accede al sistema muy bajo nivel. Debería ser usada
con extremo cuidado y requiere un conocimiento profundo de la
Valor de Retorno:
El valor del byte situado en la posición indicada.
Ejemplo:
Peekb ( 64, 0 ) // Returns a byte at 0040:0000h
See Also: "Peekw()" "Pokeb()" "Pokew()"
Peekw()
Retorna un word de una posición de memoria
Sintaxis:
Peekw( nSegment, nOffset ) -> nWord
nSegment : Memory Segment
- Page 252 -
Norton Guide: `FAST.lib 3.50 » Referencia'
nOffset : Memory Offset
Descripción:
ATENCION!!
Esta función accede al sistema muy bajo nivel. Debería ser usada
con extremo cuidado y requiere un conocimiento profundo de la
Valor de Retorno:
El valor del word situado en la posición indicada.
Ejemplo:
Peekw ( 64, 0 ) // Return the word at 0040:0000h
See Also: "Peekb()" "Pokeb()" "Pokew()"
Pokeb()
Establece el valor de un byte en una posición de memoria
Sintaxis:
Pokeb( nSegment, nOffset, nByte ) -> NIL
nSegment : Memory Segment
nOffset : Memory Offset
nByte : Byte a almacenar
Descripción:
ATENCION!!
Esta función accede al sistema muy bajo nivel. Debería ser usada
con extremo cuidado y requiere un conocimiento profundo de la
Valor de Retorno:
Nada.
Ejemplo:
Pokeb ( 64, 0, 16 ) // 0040:0000h = 0Fh
See Also: "Peekb()" "Peekw()" "Pokew()"
Pokew()
Establece el valor de un byte en una posición de memoria
Sintaxis:
Pokew( nSegment, nOffset, nWord ) -> NIL
- Page 253 -
Norton Guide: `FAST.lib 3.50 » Referencia'
nSegment : Memory Segment
nOffset : Memory Offset
nWord : Word a almacenar
Descripción:
ATENCION!!
Esta función accede al sistema muy bajo nivel. Debería ser usada
con extremo cuidado y requiere un conocimiento profundo de la
Valor de Retorno:
Nada.
Ejemplo:
Pokew ( 64, 0, 65535 ) // 0040:0000h = FFFFh
See Also: "Peekb()" "Peekw()" "Pokeb()"
Reboot()
Reinicializa el sistema
Sintaxis:
Reboot() -> NIL
Descripción:
Reinicializa el sistema como Ctrl-Alt-Del, esto es, inicializa
un boot caliente sin comprobar la memoria.
Valor de Retorno:
Nada.
Ejemplo:
Reboot()
RestSets()
Restaura los SETS de Clipper desde un array
Sintaxis:
RestSets( aArray ) -> NIL
aArray : Un array con los SETS
Descripción:
- Page 254 -
Norton Guide: `FAST.lib 3.50 » Referencia'
Restaura los SETS de Clipper desde un array con los SETS
previamente salvados.
Valor de Retorno:
Nada.
Ejemplo:
RestSets( aArray )
See Also: "SaveSets()"
SaveSets()
Salva los SETS de Clipper en un array
Sintaxis:
SaveSets() -> aArray
Descripción:
Salva los SETS de Clipper en un array.
Valor de Retorno:
Un array con los SETS de Clipper.
Ejemplo:
Local aArray := SaveSets()
See Also: "RestSets()"
SetDate()
Cambia la fecha del sistema
Sintaxis:
SetDate( dNewDate ) -> lError
dNewDate : Una tipo DATE de Clipper con la nueva fecha
Descripción:
Cambia la fecha del sistema.
La operación contraria, esto es, tomar la fecha del sistema puede
hacerse con la función standard date().
Valor de Retorno:
- Page 255 -
Norton Guide: `FAST.lib 3.50 » Referencia'
Retorna .T. si la fecha es válida y .F. si no lo es.
Ejemplo:
If ! SetDate ( CtoD ( "99/99/99" ) )
Warning ( "Fecha incorrecta" )
EndIf
See Also: "SetTime()"
SetTime()
Cambia la hora del sistema
Sintaxis:
SetTime( cNewTime ) -> lError
cNewTime : Un string con la nueva hora
Descripción:
Cambia la hora del sistema con la hora especificada en este formato:
HH:MM:SS.
La operación contraria, esto es, tomar la hora del sistema puede
hacerse con la función standard time().
Valor de Retorno:
Retorna .T. si la hora es válida y .F. si no lo es.
Ejemplo:
SetTime ( "17:05:43" )
If ! SetTime ( "78:99:90" )
Warning ( "Hora incorrecta" )
EndIf
See Also: "SetDate()"
SetVerify()
Cambia/Determina el flag verify del DOS
Sintaxis:
SetVerify( [lNewValue] ) -> lOldValue
lNewValue : Un lógico indicando el nuevo valor del flag verify
Descripción:
- Page 256 -
Norton Guide: `FAST.lib 3.50 » Referencia'
Cambia y determina el valor del flag interno verify del DOS.
Valor de Retorno:
Retorna .T. si el flag está ON y .F. si no lo está.
Ejemplo:
BoxWarning ( "Verify flag está " + If( SetVerify(), "On", "Off" ) )
SystemIdle()
Hace que la aplicación coopere en entornos multitarea
Sintaxis:
SystemIdle( [lMode] ) -> lOldMode
lMode : El modo de operar. .T. instalar el sistema y .F. desistalar
Descripción:
Hace que la aplicación Clipper en ejecución coopere cediendo tiempos
muertos a otras aplicaciones en entornos multitarea. Es sensible a
cualquier entorno que utilize cambios mediante int28h como MS-DOS,
Windows.
Valor de Retorno:
El modo de funcionamiento.
Ejemplo:
SystemIdle( .T. ) // cederá sus tiempos muertos a otras
// aplicaciones
- Page 257 -
Norton Guide: `FAST.lib 3.50 » Referencia'
Menu Choice: Créditos, Copyright
Copyright
┌─────────────────────────────────────────────────────────┐
│ │
│ Fast Library For Clipper 3.50 │
│ │
│ (C) 1992-95 Manu Roibal │
│ │
│ Cool Tool Of The Month, April 1994. REFERENCE CLIPPER │
│ │
└─────────────────────────────────────────────────────────┘
Todo el código incluído en Fast Library For Clipper, la
documentación, programas de ejemplo y esta Norton Guide son propiedad
de Manu Roibal.
Está totalmente prohibido vender o distribuir Fast Library por
cualquier persona física, corporación o cualquier otra entidad sin el
permiso expreso del autor. Está totalmente prohibido también usar
Fast Library For Clipper para crear aplicaciones comerciales o no
comerciales con una copia no registrada.
FAST.lib, (C) 1992-95 Manu Roibal, FAST.Software
FastWare solutions.
Todas las marcas registradas referenciadas en este documento son
propiedad de sus respectivos dueños.
See Also: "Notas Técnicas" "Agradecimientos"
- Page 258 -
Norton Guide: `FAST.lib 3.50 » Referencia'
Menu Choice: Créditos, Agradecimiento
Agradecimientos
Mucha gente ha colaborado directa o indirectamente para crear esta
biblioteca. Intentando no olvidarme de nadie (lo siento!) voy a intentar
agradecer a algunas personas su ilimitada paciencia.
- Miren Itxaso Peña de Bracamonte
Ella creo el nombre de esta biblioteca y gracias a ella el código
de Fast Library no ha terminado en la papelera cuando las leyes
de Murphy comenzaban a surtir efecto.
- Oscar Fernández, Serpent BBS
Por su confianza en mi cuando le propuse crear un área de Ficheros
y Mensajes exclusivos para Fast en Serpent BBS. Gracias a ella
la comunicación entre el autor y los beta testers ha sido fluida.
- Jose Miguel Rodríguez. Sysop Virtual Software
Por su soporte en esta y anteriores versiones. Muchas de las
funciones de Fast están basadas en ideas sacadas de Virtual
Software, el paraiso del programador xBase.
- Jose Ramón Vaamonde, Jorge Tomé, Jose Manuel Albarrán y Philippe
Mingo
Ellos han contribuído con muchas ideas y soluciones conceptuales
para el desarrollo de esta nueva versión de Fast. Gracias!
- Aritza Mollar, Oscar Fernández, Josu Ugalde, Alfonso Belloso and
Txomin Martinez
Nunca sospecharon que traducir este documento a Inglés fuese tan
duro como finalmente fue.
- Miren Itxaso Peña, Philippe Mingo, Jorge Tomé, Juan Campos,
Francesc Valverde, Oscar Fernández, Esteban Roibal, Gorka Genaga y
Luca Della Sala
Ellos tradujeron los mensajes del código de Fast Library en
varios lenguajes. A todos, gracias.
- Rory Wright y Dan Applewhite
Ultimos cambios en las Norton guides y programas de ejemplo para
preparar la biblioteca para su distribución internacional.
- Bert Kerkhof
Por sus grandes sugerencias y toda su ayuda en el mundo de las
comunicaciones serie.
- Page 259 -
Norton Guide: `FAST.lib 3.50 » Referencia'
- Nacor Manuel Blanco
Por su gran ayuda con los métodos Huffman de compresión y
descompresión.
See Also: "Notas Técnicas" "Copyright"
- Page 260 -
Norton Guide: `FAST.lib 3.50 » Referencia'
Menu Choice: Créditos, Notas Técnicas
Notas Técnicas
Fast Library For Clipper, en anteriores versiones estaba escrita
al 100% con código CA-Clipper 5.x. En la versión actual, una gran porción
de este código está escrito en C; por ejemplo, el ratón, comunicaciones,
gráficos, video, Sound Blaster, timer, CMOS, y otras funciones que no
pueden ser implementadas en puro código Clipper o no serían suficientemente
rápidas. Las bibliotecas CA-Clipper standard no soportan interrupciones y
muchas funciones en Fast Library For Clipper dependen de ellas.
Fast Library For Clipper no usa variables Public ni Private, haciendo
de esta forma que el overhead de memoria en la tabla de símbolos sea mínimo
y evitando posibles referencias a nombres de variables internas.
La biblioteca ha sido hecha más granular que en anteriores versiones
dado que las llamadas a las funciones de Fast Library causarán un mínimo
código de librería en sus programas.
No se han usado Macros en el código de Fast Library.
Las funciones de Fast Library que internamente llaman a otras
funciones usan code blocks para pasarse información de unas a otras.
Todos los argumentos usandos cuando se producen llamadas a funciones de
Fast Library por parte del usuario son de tipo numeric, character,
logical, y array.
El código usado en los ejemplos de documentación impresa y en los
ejemplos de las Norton Guide usan Notación Húngara por su claridad
y consistencia con la mayor parte de la documentación habida sobre
CA-Clipper.
See Also: "Copyright" "Agradecimientos"
- Page 261 -
Norton Guide: `FAST.lib 3.50 » Referencia'
Menu Choice: Créditos, Notas del soporte de lenguaje
Notas sobre el soporte de lenguage
Fast Library For Clipper soporta una amplia variedad de lenguajes
para los mensajes de texto que son usados en las cajas de diálogo.
El Inglés es usado por defecto. El lenguaje deseado puede ser seleccionado
simplemente llamando a una de las siguientes funciones:
Módulos de lenguaje disponibles:
SetAsturian() SetBasque() SetCatalan()
SetEnglish() SetFinnish() SetFrench()
SetGalician() SetGerman() SetItalian()
SetLusitanian() SetSpanish() SetSwedish()
Módulos de lenguaje en desarrollo:
Lithuanian()
- Page 262 -
Norton Guide: `FAST.lib 3.50 » Referencia'
Menu Choice: Créditos, Notas del modo protegido
Notas sobre el modo protegido
Fast Library For Clipper es compatible con todos los linker más
populares actualmente en el mercado. Blinker 1.x, Blinker 2.x, Blinker 3.x
(real, protected, y dual mode), CA-ExoSpace, RTLink x.x , y WarpLink x.x
son soportados.
Dependiendo de que linker esté usando, simplemente deberá añadir la
biblioteca correspondiente al mismo.
Para lincar con Blinker 3.x (real, protected, y dual mode) debe
especificar el fichero apibli.lib en su script file o línea de comandos:
BLINKER FI my_prog LIB Fast, apibli
o
BLINKER FI my_prog LIB Fast, apibli SEA blxclp52 BLI EXE EXT
Para lincar con Blinker 1.x, Blinker 2.x, RTLink x.x, o
WarpLink x.x debe incluir el fichero apistd.lib en su script file o
línea de comandos:
BLINKER FI my_prog LIB Fast, apistd
o
RTLINK FI my_prog LIB Fast, apistd
o
WARPLINK FI my_prog LIB Fast, apistd
Para lincar con CA-ExoSpace debe usar una línea de comandos (o un
equivalente script file):
EXOSPACE FI my_prog LIB Fast EXO PAC int10, Mouse
- Page 263 -
Norton Guide: `FAST.lib 3.50 » Referencia'
Menu Choice: Créditos, Nuevo en esta versión
Nuevo en esta version
From 3.00
■ Sistema de menú mejorado
■ Soporte para Modo Gráfico VGA reescrito, incluyendo las
Funciones para pixels, lines, elipses, círculos, gráficos,
histogramas, tartas, etc.
■ Nuevo Soporte Multi-Linker (CA-ExoSpace; Blinker 1.x, 2.x, 3.0;
RTLink x.x; y WarpLink x.x)
■ Nuevo soporte para código C optimizado
■ Función Reboot() cambiada para soportar boot frio y caliente
■ CpuType() reescrita
■ Corregidos algunos bugs en el soporte de Italiano
■ Nueva función ChooseColor()
■ Corregido un bug en Like()
■ Corregido un bug en Serpent()
■ Encrypt() y DeEncrypt() cambiadas para soportar múltiples
encriptaciones mediante el uso de claves
■ Nuevas funciones IsDPMI() y DPMIVersion()
■ Corregido un bug en IsWin3()
■ Nueva función WinVersion()
■ Nuevas funciones WinOpenClip(), WinCloseClip(), WinSetClip(),
WinGetClip(), WinClipSize(), y WinDelClip() para manejar el
Clipboard de Windows 3.x desde Clipper
■ Nuevas funciones DrawBar() y BackGraph() han sido añadidas al
API de gráficos
■ Corregido un bug en SetTime()
■ Nueva función IsPirate() creada para proteger los programas
Clipper de usos no autorizados. Los programas solo podrán ser
ejecutados en una máquina teniendo un configuración específica
■ Nueva función SetVerify()
- Page 264 -
Norton Guide: `FAST.lib 3.50 » Referencia'
■ Nueva función SetGray()
■ MaxFiles() ha cambiado de nombre a FreeHandles()
■ Nueva función GetEnviron()
■ Nueva función SToD()
■ rSoftCur() ha sido cambiado para simular un puntero de ratón
gráfico en modo texto; rColors() ya no es necesario
■ Más velocidad a ChooseColor()
■ Nuevo parámetro en BoxQuery() y BoxWarning()
From 3.11
■ Corregido un bug en el CD Audio Support funcionando en modo
protegido
■ Algunas funciones internas han sido reescritas para funcionar
más rápido
From 3.12
■ Corregido un bug en RestArray() con arrays multidimensionales
■ Editor de textos adaptado a MaxRow() y MaxCol()
■ Corregido un bug en IsPrint() cuando funciona en modo protegido
■ Una nueva galería gráfica 3D
Puede mostrar gráficos 3D, 3D top/down piramidales,
3D cilíndricos, 3D líneas, 3D tarta, 3D elipse...
■ Nueva función Int2Roman() para convertir enteros a notación
romana
■ Corregido un bug en MSCDEXVer()
■ Corregido un bug en DiskSerNum() en modo protegido
■ Nuevas funciones ASCIIToEBCDIC() y EBCDICToASCII()
■ Corregido un bug en FSearch()
■ Corregido un pequeño bug en el límite superior de GraphBar()
cuando el array contiene valores con decimales
■ Nueva función Caos()
■ Nuevo parámetro Color en Puzzle()
- Page 265 -
Norton Guide: `FAST.lib 3.50 » Referencia'
■ Corregido un bug en el CD AUDIO initiation code
■ Corregido un bug en dToDMY()
■ Nueva función dToMDY()
■ Calendar() adaptado a Sunday, Monday, ... cuando el lenguaje
seleccionado es Inglés
■ Nuevas funciones BigLetter() y BigString()
■ Nuevas funciones SmallLetter() y SmallString()
■ Función FastMemo() cambiada
■ Nueva función SetHardCopy()
■ NewMenu() tiene un nuevo parámetro para permitir crear menues
con sombra
■ Nueva función InspectDBF()
■ Nueva función InspectSETS()
■ Nueva función InspectOBJ()
■ Corregido un bug en Like() funcionando en modo protegido
■ Corregido un bug en pAddFile()
From 3.15
■ Nuevas funciones fGoTop(), fGoBottom(), fPos(), fEof()
■ Nueva función fCopy()
■ Nuevas funciones LowDiskSerial(), LowDiskFirm() y LowDiskModel()
para identificar el número de serie, firmware y modelo del disco
■ Nueva función GetBaud()
■ CpuType() retorna nuevos valores para identificar 8088, 8086,
80286, 80386, 80486, Pentium, 6tium-7tium-8tium-9tium cuando
estén disponibles, NEC V20, NEC V30, 80188 and 80186.
■ Funciones IsVGA(), IsEGA(), IsCGA() y IsHerc() reescritas
■ Corregido un bug en el soporte de Portugués
■ Nueva función de conversión a formato WKS de Lotus
■ Nueva función XCRC16() para XModem y ZModem
■ IsSmartDrv() adaptado al API de la versión 4.00
- Page 266 -
Norton Guide: `FAST.lib 3.50 » Referencia'
■ Nuevas funciones SmartSize(), SmartSizeWin(), SmartReset(),
SmartFlush(), SmartHits() y SmartMisses() para controlar
SmartDrv y PC Cache
■ Nueva función VirCheck() que identifica más de 100 virus como
tequila, Flip, Jerusalem family, yankee, blinker, dbase, y más
muchos más
From 3.20
■ Corregidos algunos bugs en el soporte de Alemán
■ Corregidos algunos bugs en el soporte de Italiano
■ Corregidos algunos bugs en el soporte de Francés
■ Corregido un fallo en la función ZipFile()
■ Corregido un problema en VirCheck() con Novell
■ Nuevos parámetros para SetFont() y SetFontChar()
■ Nueva función RealStars(), un verdadero campo de estrellas
■ nRandom() reescrita en C
■ Calendar() modificada
From 3.21
■ Corregido un bug en DispMenu()
■ Nueva función compress para des/comprimir() ficheros mediante el
método de Huffman
■ Nueva función CompNumber() para des/comprimir números Clipper
a la mitad de su tamaño
■ Nueva función rVersion() para determina la versión del driver de
ratón, tipo de ratón instalado y la IRQ usada
■ Nueva función SystemIdle() para controlar los tiempos muertos de
la aplicación
■ Arreglado el mensaje módulo CLIP501 no definido en Clipper v5.01
■ El tamaño del código ha sido reducido gracias las nuevas opciones
del compilador de C. Ahora el código es más estable y compacto
■ El motor del screensaver interno ha sido reescrito. Ahora es
posible una total configuración del mismo mediante DoIdle().
El screensaver es sensible a los waitstates internos de Clipper
Las funciones TimeScr() y AplicName() ya no son necesarias y por
lo tanto ya no existen en FAST.lib.
- Page 267 -
Norton Guide: `FAST.lib 3.50 » Referencia'
■ Nuevas funciones DoIdle() and DoInterval()
■ Soporte para obtener/cambiar información de la Sound Blaster
■ La función sbCDVol() ha sido cambiado por sbCDVolL() y sbCDVolR()
■ La función sbRecScr() ha sido cambiado por sbRecScrL() y sbRecScrR()
■ Las funciones Degrade() y Upgrade() han sido reescritas y mejoradas
y ahora funcionan sin problemas en todas las tarjetas VGA
■ KeyStuff() ha sido reescrita en C
■ Nuevo parámetro en sbVocPlay(), sbWavPlay(), dacVocPlay(),
dacWavPlay(), spkVocPlay() y spkWavPlay().
■ VirCheck() ahora retorna un array de lógicos
- Page 268 -
Norton Guide: `FAST.lib 3.50 » Referencia'
Menu Choice: Créditos, Distribuidores de FAST.*
DISTRIBUIDORES DE FAST.*
■ Distribuidor exclusivo Norte, Sur y Centro América ■
ZAC Catalog - Clipper only tools
106 Access Road
Norwood, MA 02062
USA
Phone 1-800-254-7737 Sales
Phone 1-617-551-0860 Sales
FAX 1-617-551-0857 Sales FAX
FAX 1-717-551-0947 Technical Support FAX
■ Finlandia ■
ATK-Antti Oy
Lars J W Holm
Pohjoistullikatu 12
23500 Nystad
FINLAND
Phone +358 22 8415066
FAX +358 22 8415067
BBS +358 22 8418882
■ Paises Bajos ■
Micro Consult Nederland
Miguel Oliveira
Rhijngeesterstraalweg 78
2343 BX Oegstgeest
NEDERLAND
Phone +31 71 170401
FAX +31 71 156154
BBS +31 71 157618
■ Italia ■
Momos S.A.S.
Patrizia Scharrer
Via Palade 5
39011 Lana (BZ)
ITALIA
FAX +39 473 560979
■ Bélgica ■
- Page 269 -
Norton Guide: `FAST.lib 3.50 » Referencia'
BUG, Belgian Clipper User Group
Luc Charels
Moerkerkse Steenweg 322
B-8310 Brugge 3
BELGICA
Phone +32 5035 7866
FAX +32 5037 2505
■ Francia ■
DH Conseil
Hubert DAUL Conseil
14, Rue des Cités Dolfus - BP 71
70400 Hericourt
FRANCE
Phone +33 84 46 37 76
FAX +33 84 46 18 02
■ España ■
FAST.Software
Manu Roibal
Sagastagoitia 13 2º B izda
Barakaldo 48903 Bizkaia
SPAIN
Phone +34 4 4992660
FAX +34 4 4605666
BBS +34 4 4605666
- Page 270 -
Norton Guide: `FAST.lib 3.50 » Referencia'
I N D E X
---------
FAST.lib 1
Tipos de Datos ............................................... 2
Dbf/Memo ..................................................... 51
Disco y Ficheros ............................................. 53
Juegos ....................................................... 81
Gráficos ..................................................... 87
Teclado ...................................................... 125
Redes y Multitaskers ......................................... 133
MetaFunctions ................................................ 143
FAST.lib 2
Menues ....................................................... 162
Ratón ........................................................ 169
Impresora .................................................... 179
Pantalla ..................................................... 185
Comunicaciones Serie ......................................... 202
CD-Audio SB DAC Speaker ...................................... 214
Sistema ...................................................... 230
Créditos
Copyright .................................................... 258
Agradecimiento ............................................... 259
Notas Técnicas ............................................... 261
Notas del soporte de lenguaje ................................ 262
Notas del modo protegido ..................................... 263
Nuevo en esta versión ........................................ 264
Distribuidores de FAST.* ..................................... 269
- Page 271 -