Introducción a Foxtools

 
   

Introducción

Foxtools es una biblioteca API de Visual FoxPro que ofrece archivos DLL de Windows para su utilización en Visual FoxPro.

Las funciones de la biblioteca Foxtools le permiten establecer y obtener información de archivo, manipular rutas de acceso y nombres de archivo, usar avisos del sistema y realizar muchas otras funciones.

Nota   Los servicios de soporte técnico de producto de Microsoft (PSS) no ofrecen soporte para las funciones de FoxTools ni por correo electrónico ni por teléfono. Muchas de estas funciones se incluyen por razones de compatibilidad con FoxPro 2.6. Algunas funciones tienen un comportamiento diferente en distintas plataformas. [1]

 

Lo nuevo

Se han agregado a Visual FoxPro varias funciones de manipulación de nombres de archivo en Foxtools.fll. Desde la versión VFP 7.0 y posteriores ya no es necesario utilizar SET LIBRARY TO FOXTOOLS.FLL para llamar a estas funciones. Como ocurre con las funciones nativas de Visual FoxPro, puede llamarlas directamente en sus programas de Visual FoxPro. Estas funciones son las siguientes:

Función AddBS( )
Función AGetFileVersion( ) (GetFileVersion( ) en FoxTools)
Función DefaultExt( )
Función DriveType( )
Función ForceExt( )
Función ForcePath( )
Función JustDrive( )
Función JustExt( )
Función JustFName( )
Función JustPath( )
Función JustStem( )

 

Dónde se instala Foxtools

Cuando instale Visual FoxPro, Foxtools.fll se instala en el directorio principal de Visual FoxPro. Para usar las funciones de Foxtools, ejecute el siguiente comando en la Versión 6.0 y anteriores:

SET LIBRARY TO Foxtools

En la Versión 7.0 y posteriores no es necesario ejecutar el comando anterior.

Nota   Las rutinas de la API están documentadas en la sección Referencia profesional de la Ayuda en Creación de bibliotecas API. Estas rutinas se asignan a funciones de editor y ventana, y le permiten extender Visual FoxPro con el lenguaje de programación C.

Foxtools.chm es el archivo de ayuda Foxtools que se encuentra en el directorio principal de Visual FoxPro. Revise este documento donde encontrará las funciones disponibles. [1]

 

RegFn( ), RegFn32( ) y CallFn( )

La biblioteca API Foxtools permite a los programas de Visual FoxPro llamar a las funciones de archivos DLL de Windows que cumpla con los siguientes requisitos:

  • utilicen los siguientes argumentos: integer, long, float, double, string/buffer. Se pueden pasar por referencia o por valor.

  • devuelven los siguientes tipos: integer, long, float, double, string/buffer. Sólo se devuelven por valor.

Una sorprendente cantidad de funciones API de Windows cumplen con estos criterios.

Las funciones de archivos DLL de Windows están documentadas en los libros incluidos en el Software Development Kit (SDK) de Windows. El SDK de Windows también se incluye en Microsoft C/C++ 7.0 y Visual C++. [1]

Se utilizan dos funciones FLL para proporcionar esta funcionalidad:

  • RegFn( ) y RegFn32( ) registran una función y los argumentos que utiliza
  • CallFn( ) llama a una función registrada.

RegFn( ) y RegFn32(FunctionName, ArgTypes, ReturnType, DLLName) devuelve FnHandle

Si tiene éxito, RegFn( ) y RegFn32( ) devuelven un número que puede usarse para hacer referencia a la función en futuras llamadas a CallFn.

Devuelve -1 si no se pudo abrir la biblioteca y, además, mostrará un cuadro de mensaje. Estos no pueden ser deshabilitados.

 El primer argumento es el nombre o el valor ordinal de la función que se registrará.

 El segundo argumento es una cadena de caracteres que describe qué argumentos aceptará la función. Se permiten los siguientes valores:

I - Integer - Entero
L - Long - Largo
C - String of characters - Cadena de caracteres
F - Floating point number - Número de coma flotante
D - Double precision floating point number - Número de coma flotante de precisión doble

Cada tipo de argumento puede estar precedido por una @ para indicar que el argumento se pasa por referencia. El valor predeterminado es pasar argumentos por valor.

El tercer argumento es el tipo de retorno de la función. Los valores permitidos son los mismos que se dieron anteriormente para el argumento, excepto que el retorno por referencia no está permitido.

El cuarto argumento da el nombre de la biblioteca DLL que contiene la función. Esto es opcional si el nombre de la función (y no un número ordinal) se proporciona en el primer argumento. En este caso, todas las bibliotecas cargadas previamente se buscan en el orden inverso en que se cargaron. Si no se encuentra la función, se buscan las bibliotecas estándar de Windows (es decir, user.exe, krnl386.exe y gdi.exe). Si la DLL está en uno de los lugares habituales, entonces no tiene que contener la ruta. Consulte la función SDK de Windows LoadLibrary para obtener detalles exactos sobre dónde se ve.

La misma función se puede registrar más de una vez. Esto permite utilizar funciones que toman diferentes argumentos al declararlos nuevamente con diferentes tipos de argumentos.

Muchas funciones que aceptan parámetros de cadena asignan un significado especial a una cadena NULL. Puede pasar un puntero NULL a una función que espera una cadena pasando un 0 en lugar de la cadena.

allFN (FnNum, Arg1, Arg2, ....) devuelve el valor de FnNum

Toma al menos un argumento, un identificador de función de una llamada previa a RegFn. Debe pasar tantos argumentos como declarar cuando se declara la función o producir un error.

Todos los argumentos deben coincidir con su tipo declarado de la siguiente manera:

F, D: debe ser un número de coma flotante
I, L - debe ser un número entero
C: debe ser una cadena pasada por valor o 0 (cero). Si 0, se pasa un puntero nulo.

Devuelve el valor que devuelve la función, usando el tipo declarado por ReturnType en la llamada RegFn. [2]

 

Para obtener más información sobre las DLL de Windows

La funcionalidad de este FLL está limitada principalmente por su imaginación y su conocimiento de la API de Windows. A pesar de las restricciones aparentemente estrictas, puede hacer una cantidad sorprendente con solo usar la API de Windows. Busque en el directorio \foxprow\goodies\foxtools algunos programas de ejemplo que usan estas funciones.

Las funciones de DLL de Windows están documentadas en los libros que vienen con el Kit de desarrollo de software de Windows. El SDK de Windows también incluye con Microsoft C / C ++ 7.0 y Visual C ++. Estos libros también están disponibles por separado en muchas librerías técnicas. [2]

 

Funciones no compatibles

Las siguientes funciones proporcionadas en FOXTOOLS.FLL no son compatibles con los Servicios de soporte técnico de productos (PSS) de Microsoft, ya sea electrónicamente o por teléfono. Fueron desarrolladas para uso interno por algunas de las herramientas de FoxPro, y aunque estas funciones han existido por un tiempo, ninguna de ellas ha pasado por un verdadero ciclo de prueba para probar su uso en otros programas. Sin embargo, entendemos que, como desarrolladores, es importante obtener herramientas lo antes posible, incluso si no son totalmente compatibles, por lo que hemos incluido la siguiente documentación. Tenga en cuenta que estas funciones pueden no ser compatibles en todas las versiones de FoxPro. [2]

 
ADDBS()
 			                Returns:    Character
 			                Description:    Returns  with a backslash appended if needed.
 			                Example:    ? ADDBS("C:")      (returns: C:\)
 			                            ? ADDBS("C:\")     (returns: C:\)
 			                
CLEANPATH(<ExpC>)
 			                Returns:    Character
 			                Description:    Will return a corrected filename (best guess) for an invalid filename. Removes spaces, 
 			                invalid characters, duplicate backslashes, etc.
 			                Example:    ? CLEANPATH("THISISALONGFILE") (returns: THISISAL) <--- Eight Characters
 			                            ? CLEANPATH("C:D:\\THISISALONGFILE") (returns: D:\THISISAL)
 			                
DRIVETYPE(<ExpC>)
 			                Returns:    Numeric
 			                Description:    Returns the type of drive passed in <ExpC>
					0 - No type
 			                2 - Floppy Disk
 			                3 - Hard Disk
 			                4 - Removable / Network Drive
 			                Example:    ? DRIVETYPE("C:") (returns 3)
 			                
DEFAULTEXT(<ExpC1>, <ExpC2>)
 			                Returns:    Character
 			                Description:    Returns <ExpC1> with new extension, if it didn't already have one.
 			                <ExpC1> - File name (With or without a path or extension)
 			                <ExpC2> - Extension (Without a period)
 			                Example:    ? DEFAULTEXT("C:\DOS\SETVER", "FLL") (returns: C:\DOS\SETVER.FLL)
 			                            ? DEFAULTEXT("C:\DOS\SETVER.TXT", "FLL") (returns: C:\DOS\SETVER.TXT)
 			                
FORCEEXT(<ExpC1>, <ExpC2>)
 			                Returns:    Character
 			                Description:     Returns string with old extension replaced with new extension
 			                <ExpC1> - File name (With or without a path or extension)
 			                <ExpC2> - Extension (Without a period)
 			                Example:    ? FORCEEXT("C:\FOXPROW\FOXTOOLS.FLL", "DLL")
 			                              (returns: C:\FOXPROW\FOXTOOLS.DLL)
 			                
FORCEPATH(<ExpC1>, <ExpC2>)
 			                Returns:    Character
 			                Description:    Returns <ExpC1> with its path changed to <ExpC2>
							<ExpC1> - File Name (With or without a path)
 			                <ExpC2> - Path
 			                Example:    ? FORCEPATH("C:\DOS\SETVER.EXE", "C:\FOXPROW")
 			                               (returns: C:\FOXPROW\SETVER.EXE)
 			                
FOXTOOLVER()
 			                Returns:    Character
 			                Description:    Returns the version number of the FOXTOOLS.FLL library
 			                Example:    ? FOXTOOLVER()
 			                
JUSTDRIVE()
 			                Returns:    Character
 			                Description:    Returns the drive letter from a complete path.
 			                Example:    ? JUSTDRIVE("C:\FOXPROW\FOXPROW.EXE")
 			               					(returns: C:)
 			                
JUSTEXT()
 			                Returns:    Character
 			                Description:    Returns the three letter extension from a complete path.
 			                Example:    ? JUSTEXT("C:\FOXPROW\FOXPROW.EXE")
 			                				(returns: EXE)
 			                
JUSTFNAME(<ExpC>)
 			                Returns:    Character
 			                Description:    Returns the file name from a complete path.
 			                Example:    ? JUSTFNAME("C:\FOXPROW\FOXPROW.EXE")
 			                				(returns: FOXPROW.EXE)
 			                
JUSTPATH(<ExpC>)
 			                Returns:    Character
 			                Description:    Returns the pathname from a complete path.
 			                Example:    ? JUSTPATH("C:\FOXPROW\FOXPROW.EXE") (returns: C:\FOXPROW)
 			                
JUSTSTEM(<ExpC>)
 			                Returns:    Character
 			                Description:    Returns the stem name (first eight characters of file name) from a complete path.
 			                Example:    ? JUSTSTEM("C:\FOXPROW\FOXTOOLS.FLL") (returns: FOXTOOLS)
 			                
MAINHWND()
 			                Returns:    Numeric
 			                Description:    Returns a Windows handle (HWND) to the main FoxPro window
 			                Example:    ? MAINHWND()
 			                
MKDIR(<ExpC>)
 			                Returns:    Numeric
 			                Description:    Creates a directory specified by <ExpC>.  This function will not check
 			                for valid length and format of directory string. .
 			                The return value is 0 for successful, 1 for not-successful and 6 for 
 			                "directory already exists".  This function is only available in 
 			                FoxTools version 1.01 or later.
 			                Example:    ? MKDIR("C:\TEST")
 			                (returns: 0 - Creates directory C:\TEST)
 			                ? MKDIR("C:\THISISTOOLONG")
 			                (returns: 0 - Creates directory C:\THISISTO)
 			                ? MKDIR("C:\THIS IS WRONG")
 			                (returns: 0 - Creates directory C:\THIS IS - NOTE THE INVALID
 			                SPACE IS ALLOWED!)
 			                ? MKDIR("C:\   THISIS WRONG")
 			                (returns: 1 - Invalid beginning space for directory name)
 			                
MSGBOX(<ExpC1>, <ExpC2>, <ExpN>)
 			                Returns:    Numeric
 			                One Of The Following:
 		                    idok        1
 		                    idcancel    2
 		                    idabort        3
 		                    idretry        4
 		                    idignore        5
 		                    idyes        6
 		                    idno        7
 			                Description:    Displays a modal dialog box centered in Windows.
 			                <ExpC1>    - Contents in dialog box
 			                <ExpC2>    - Title of dialog box window
 			                <ExpN>    - Type of dialog box as follows:
 			                MB_OK 0
 			                MB_OKCANCEL 1
 			                MB_ABORTRETRYIGNORE 2
 			                MB_YESNOCANCEL 3
 			                MB_YESNO 4
 			                MB_RETRYCANCEL 5
 			                
MB_ICONHAND 16
 			                MB_ICONQUESTION 32
 			                MB_ICONEXCLAMATION 48
 			                MB_ICONASTERISK 64
 			                
MB_ICONINFORMATION MB_ICONASTERISK
MB_ICONSTOP MB_ICONHAND
 			                Example:    test = MSGBOX("This is the contents of the window." ;
 			                "This is the title", ;
 			                MB_ICONQUESTION+MB_YESNO)
 			                
 			                (This example assumes your program contains #define statements to associate 
 			                MB_ICONQUESTION and MB_YESNO with their appropriate values shown above).
 			                
NEXTWORD(<ExpC1>, <ExpN>[,<ExpC2>])
 			                Returns:    Character
 			                Description:    Returns the next word in <ExpC1> beginning at character <ExpN> and ending just 
 			                before any character in optional <ExpC2> or the end of the <ExpC1> string. Default for
 			                <ExpC2> is space, tab and carriage return.
 			                Example:    ? NEXTWORD("This is a test of FoxTools", 12)    (returns: est) 
 			                ? NEXTWORD("One,Two,Three,Four,Five", 12,",") (returns: ee)
 			                
REDUCE(<ExpC1>, <ExpC2>)
 			                Returns:    Character
 			                Description:    Removes repetitive values in a string.  Usually used to remove
 			                groups of spaces in a string and replace it with one space.
 			                <ExpC1> - Character string to change
 			                <ExpC2> - Characters to search for
 			                Example:    ? REDUCE("This is       lots of spaces", " ")
 			                (returns: This is lots of spaces)
 			                ? REDUCE("Repeat characters AAAA and delete", "A")
 			                (returns: Repe t ch r cters   nd delete)
 			                
RMDIR(<ExpC>)
 			                Returns:    Numeric
 			                Description:    Deletes a directory specified by <ExpC>.  Does not check for valid
 			                directory name.  (See Example).  Returns 0 if successful and 1 if not-
 			                successful. This function is only available in FoxTools version 1.01 or later.
 			                Example:    ? RMDIR("C:\THIS IS WRONG")    (returns: 0 - If directory was removed)
 			                
STRFILTER(<ExpC1>, <ExpC2>)
 			                Returns:    Character
 			                Description:    Returns only characters specified in <ExpC2>. This function is case sensitive.
 			                <ExpC1> - Character string to search
 			                <ExpC2> - Characters to search for
 			                Example:    ? STRFILTER("This is FoxTools", "T")    (returns: TT)
 			                
VALIDPATH(<ExpC1>)
 			                Returns:    Logical
 			                Description:    Checks for a valid DOS filename and/or path syntax.
 			                This function is not foolproof and can sometimes think a file has a valid name when it
 			                doesn't.  However, it will not reject as invalid a valid name.
 			                NOTE: Does not check to see if it exists
 			                Example:    ? VALIDPATH("C:\FOO")            (returns: .T.)
 			                ? VALIDPATH("C:\THISISVERYLONG")    (returns: .F.)
 			                
WORDNUM(<ExpC1>, <ExpN>[,<ExpC2>])
 			                Returns:    Character
 			                Description:    Returns the  <ExpN> word in <ExpC> delimited by any character in optional <ExpC2>.
 			                The default for <ExpC2> is a space, tab and carriage return.
 			                Example:    ? WORDNUM("This is a test of FoxTools", 4)       (returns: test)
 			                ? WORDNUM("One,Two:Three,Four,Five", 4, ":,")  (returns: Four)
 			                
WORDS(<ExpC1>[,<ExpC2>])
 			                Returns:    Numeric
 			                Description:    Returns the number of words in <ExpC> delimited by any character in optional
 			                <ExpC2>.  The default for <ExpC2> is a space, tab and carriage return.
 			                Example:    ? WORDS("This is a test of FoxTools") (returns: 6)
							

 

 

La versión 2.5 de FoxPro se suministró con una biblioteca externa de funciones en FoxTools.Fll. Muchas de estas funciones, como JustStem() y otras funciones para manipular nombres de archivos, se han promovido al lenguaje en sí, pero la biblioteca FoxTools todavía tiene algunas funciones extrañas que son útiles en Visual FoxPro. [3]

FoxTouch

Esto es similar al comando táctil de Unix, ya que le permite modificar la marca de tiempo de un archivo. Esto, por ejemplo, establecerá la marca de tiempo en 12:30 el día de Navidad:

SET LIBRARY TO HOME() + "foxtools.fll"
?FOXTOUCH("test.xls", 2010, 12, 25, 12, 30, 0)

Si escribe este ejemplo en FoxPro, verá que VFP Intellisense no reconoce las funciones de Fll. El texto permanece en negro y Fox no le brinda ayuda sobre qué parámetros se esperan.

Los parámetros aquí son el nombre del archivo seguido de año, mes, día, hora, minuto y segundos de la marca de tiempo. Los componentes de la hora y la fecha deben estar en los rangos apropiados, pero aún puede obtener algunos efectos extraños. Cualquier fecha anterior al 1 de enero de 1601 será rechazada con un error 0 "El valor, tipo o conteo del argumento de la función no es válido". Se aceptará cualquier fecha entre 1601 y el 1 de enero de 1980, pero la función Adir dará una fecha en blanco y un momento extraño.

Reduce

Esta función reduce el número de espacios en una expresión de caracteres que puede ser útil en dos situaciones.

Eliminar espacios duplicados

Si los usuarios han estado ingresando datos en un formulario con una fuente proporcional, entonces es difícil para ellos ver si han ingresado un espacio simple o doble. La función Reduce con un solo parámetro reemplazará todos los espacios múltiples dentro de una cadena con un solo espacio. Tomando el campo Compañía de la base de datos Northwind como ejemplo:

SET LIBRARY TO HOME() + "foxtools.fll"
Replace All company With Reduce(company)

Eliminar saltos de línea y pestañas

Si ha utilizado la función FileToStr para extraer texto de un archivo en una variable de cadena, entonces es posible que desee limpiar esa cadena eliminando saltos de línea y pestañas. Si agrega el segundo parámetro opcional a la función Reduce, convertirá cada aparición de ese carácter en un espacio. Como un simple ejemplo:

SET LIBRARY TO HOME() + "foxtools.fll"
?Reduce("test", "e")

dará "t st" como resultado.

Para limpiar la cadena, necesita eliminar pestañas, retornos de carro y saltos de línea, y podría pensar que debería llamar a Reduce tres veces para eliminar Chr (9), Chr (10) y Chr (13). Una característica inusual de Reduce nos permite hacer esto en una sola llamada. Si el segundo parámetro consta de varios caracteres (por ejemplo, 'xyz'), puede esperar que busque ocurrencias de 'xyz' en la cadena de destino. Lo que realmente hace es procesar 'x' e 'y' y 'z' por separado para que podamos eliminar los tres caracteres de control en una sola pasada:

SET LIBRARY TO HOME() + "foxtools.fll"
lcFile = FileToStr("myFile.txt")
lcTemp = Reduce(lcFile, Chr(9)+Chr(10)+Chr(13))
lcClean = Reduce(lcTemp)

En este ejemplo, el primer paso elimina los tres caracteres de control, pero esto podría dejarnos con múltiples espacios si hubiera pestañas o espacios al comienzo de una línea. Una segunda llamada a Reduce con un solo parámetro los limpia.

ValidPath

Esta es una función simple que verificará si una cadena puede ser una ruta válida. A pesar de su antigüedad, aceptará caminos que incluyen espacios. Estos ejemplos serán aceptados como válidos:

SET LIBRARY TO HOME() + "foxtools.fll"
?ValidPath("D:\Database Archive")
?ValidPath("\\myServer\Shared\")

Estos ejemplos no serán aceptados:

SET LIBRARY TO HOME() + "foxtools.fll"
?ValidPath("D:\Database Archive")
?ValidPath("\\myServer\*\")

La función no es infalible, pero es una primera etapa de validación rápida y fácil.

Advertencias

La biblioteca FoxTools se incluye para compatibilidad con versiones anteriores y ninguna de las funciones es compatible con Microsoft. Puede encontrar ayuda en el archivo de Ayuda (FoxTools.chm), pero generalmente se necesitará un poco de experimentación.

 

Funciones del portapapeles de Windows

Estas funciones se asignan a las funciones del SDK de Windows que tienen nombres similares. ¡Recomendamos encarecidamente que no los use a menos que sepa exactamente lo que está haciendo! La variable de sistema FoxPro _CLIPTEXT es la forma recomendada de acceder a la ventana [2]

 
CLOSECLIP()
 				 Returns:    Logical
 			     Description:    Closes the clipboard opened previously with OPENCLIP.  Returns .T. if successful.
 			     Example:    ? CLOSECLIP() (returns: .T.)
 					      
 					      
COUNTCLIPF()
 			     Returns:    Numeric
 			     Description:    The COUNTCLIP function retrieves the number of different
 			   		     		data formats currently in the clipboard.
 				 Example:    ? COUNTCLIP() (returns: 0)
 
 
 EMPTYCLIP()
 				Returns:     Logical
 				Description:    The EMPTYCLIP function empties the clipboard and frees handles to
 				data in the clipboard. It then assigns ownership of the clipboard to the
 				window that currently has the clipboard open.
 				Example:    ? EMPTYCLIP()    (returns: .F.)
 
 
 ENUMCLIPFM(<ExpN>)
 				Returns:    Numeric
 				Description:    The ENUMCLIPFM function enumerates the formats found in a list
 				of available formats that belong to the clipboard. Each call to this
 				function specifies a known available format; the function returns the
 				format that appears next in the list.
 
 
 GETCLIPDAT(<ExpN>)
 				Returns:    Logical
 				Description:    Unknown function... best explanation as follows:
 				The GetClipDat function retrieves a handle of the current clipboard
 				data having a specified format in <ExpN>.
 				<ExpN> contains the following defines:
 				cf_Text =    1
 				cf_Bitmap =    2
 				cf_MetaFilePict =    3
 				cf_SYLK =    4
 				cf_DIF =    5
 				cf_TIFF =    6
 				cf_OEMText =    7
 				cf_DIB =    8
 				cf_Palette =    9
 
 
 GETCLIPFMT(<ExpN>)
 				Returns:    Unknown (Character?)
 				Description:    Unknown function... best explanation as follows:
 				The GetClipFmt function retrieves the name of a registered
 				clipboard format.
 
 
 ISCLIPFMT(<ExpN>)
 				Returns:    Logical
 				Description:    Returns the format of the available contents of the clipboard.
 				<ExpN> is as follows:
 				cf_Text =    1
 				cf_Bitmap =    2
 				cf_MetaFilePict =    3
 				cf_SYLK =    4
 				cf_DIF =    5
 				cf_TIFF =    6
				cf_OEMText =    7
 				cf_DIB =    8
 				cf_Palette =    9
 				Example:    Copy text to clipboard
 				? ISCLIPFMT(cf_Text) (returns: .T.)
 
 
 OPENCLIP(<ExpN>)
 				Returns:    Logical
				Description:    The OPENCLIP function opens the clipboard. Other applications will
 				not be able to modify the clipboard until the CLOSECLIP function is
 				called. <ExpN> is the handle of the window ... 0 is acceptable
 				<<<     ALMOST ALL CLIP FUNCTIONS RELY ON OPENING THE
 				CLIPBOARD PRIOR TO USE >>>
 				Example:    ? OPENCLIP(0)
 				(returns: .T.)
 
 
 REGCLIPFMT(<ExpC>)
 				Returns:    Numeric
 				The return value indicates the newly registered format. If the identical
 				format name has been registered before, even by a different application,
 				the format's reference count is incremented (increased by one) and the
 				same value is returned as when the format was originally registered. The
 				return value is zero if the format cannot be registered.
 
 				Description:    The REGCLIPFMT function registers a new clipboard format.
 				The registered format can be used in subsequent clipboard functions as a
 				valid format in which to render data, and it will appear in the clipboard's
 				list of formats. <ExpC> is a string that names the new format.
 				Example:    ? REGCLIPFMT("MyRegClip")
 
 
 SETCLIPDAT(<ExpN>, <ExpC>)
 				Returns:    Logical
 				Description:    The SETCLIPDAT function sets the data in the clipboard.
 				Example:    ? SETCLIPDAT(1, "Test") (returns: .T.)
 

Editor y funciones de ventana

Un grupo de funciones que comienzan con _Ed ... y _W ... se asignan a las funciones de editor y ventana que se describen en el Kit de construcción de biblioteca FoxPro 2.5 (un producto separado que le permite extender FoxPro usando el lenguaje de programación C). Consulte la documentación de ese producto para obtener detalles sobre estas funciones. [2]

 

Funciones de Foxtools

[1]

AddBS( )

Agrega una barra invertida (si es necesario) a una expresión de ruta de acceso. También está disponible como una función nativa de Visual FoxPro.

Sintaxis

AddBS(cRuta)

cRuta

Especifica el nombre de la ruta de acceso a la que debe agregar la barra invertida.

Tipo devuelto

Character

 

CallFn( )

Llama a una función registrada y devuelve el valor que ha devuelto la función, con el tipo declarado por ReturnType en la llamada RegFn.

Sintaxis

CallFN(nControladorFunción, Arg1[, Arg2[, ...]])

nControladorFunción

El controlador de función de una llamada previa a RegFn( ) o RegFn32( ).

Arg1, Arg2, ....

Argumentos requeridos por la función a la que hace referencia FnNum. Debe pasar los argumentos como se declararon cuando se registró la función o se producirá un error.

Todos los argumentos deben coincidir con su tipo declarado:

  • F, D – debe ser un número de coma flotante.

  • I, L – debe ser un número entero.

  • C – debe ser una cadena pasada por valor o 0 (cero). Si es 0, se pasa un puntero nulo.

Tipos devueltos

Definidos por el usuario en RegFn( ) o RegFn32( ).

 

CleanPath( )

Devuelve un nombre de archivo corregido (mejor aproximación) para un nombre de archivo no válido y quita espacios, caracteres no válidos, barras invertidas duplicadas, etcétera.

Sintaxis

CleanPath(cNombreArchivo)

cNombreArchivo

Especifica el nombre de archivo que hay que limpiar.

Tipos devueltos

Character

 

CloseClip( )

Cierra el Portapapeles abierto previamente con OpenClip( ).

Sintaxis

CloseClip( )

Tipo devuelto

Logical

Comentarios

El valor devuelto informa del éxito (.T.) o fallo (.F.) del comando. Casi todas las funciones Clip se basan en abrir el Portapapeles antes de usar la función. Puede usar _CLIPTEXT para tener acceso al contenido del Portapapeles de Windows.

Nota   Esta función se corresponde con la función del SDK de Windows con nombre similar. Para obtener más información, consulte la documentación del SDK de Windows.

 

CountClipF( )

Obtiene el número de distintos formatos de datos que hay actualmente en el Portapapeles de Windows.

Sintaxis

CountClipF( )

Tipo devuelto

Numeric

Comentarios

Casi todas las funciones Clip se basan en abrir el Portapapeles antes de usar la función. Puede usar _CLIPTEXT para tener acceso al contenido del Portapapeles de Windows.

Nota   Esta función se corresponde con la función del SDK de Windows con nombre similar. Para obtener más información, consulte la documentación del SDK de Windows.

 

DefaultExt( )

Devuelve un nombre de archivo con una extensión nueva si no existe ya uno. También está disponible como una función nativa de Visual FoxPro.

Sintaxis

DefaultExt(cNombreArchivo, cPredeterminado)

cNombreArchivo

Especifica el nombre de archivo (con o sin ruta de acceso o extensión) que hay que devolver.

cPredeterminado

Especifica la extensión predeterminada sin punto.

Tipo devuelto

Character

 

DriveType( )

Devuelve el tipo de la unidad especificada. También está disponible como una función nativa de Visual FoxPro.

Sintaxis

DriveType(cUnidad)

cUnidad

Designa la unidad. Los dos puntos de nombres de unidad (por ejemplo, "C:") son opcionales.

Tipos devueltos

Numeric

Comentarios

La tabla siguiente explica el número que DriveType( ) devuelve y la correspondiente descripción de tipo de unidad.

 

Número

 

Tipo de unidad

 
 

0

 

Sin tipo

 
 

2

 

Disquete

 
 

3

 

Disco duro

 
 

4

 

Disco extraíble o unidad de red

 
 

5

 

CD-ROM

 
 

6

 

Disco RAM(1)

 
 

(1) Como hay muchos tipos diferentes de discos RAM, puede que obtenga resultados devueltos incoherentes.

 

EmptyClip( )

Vacía el Portapapeles y libera controladores de datos en el Portapapeles. Después asigna la propiedad del Portapapeles a la ventana en la que está abierto el Portapapeles.

Sintaxis

EmptyClip( )

Tipo devuelto

Logical

Comentarios

Casi todas las funciones Clip se basan en abrir el Portapapeles antes de usar la función. Puede usar _CLIPTEXT para tener acceso al Portapapeles de Windows.

Nota   Esta función se corresponde con la función del SDK de Windows con nombre similare. Para obtener más información, consulte la documentación del SDK de Windows.

 

EnumClipFm( )

Enumera los formatos encontrados en una lista de formatos disponibles que pertenecen al Portapapeles.

Sintaxis

EnumClipFm(nFormato)

nFormato

Especifica un formato de Portapapeles.

Para determinar los formatos de portapapeles disponibles, establezca nFormato a 0; EnumClipFm( ) devolverá el primer formato de Portapapeles disponible. Para llamadas sucesivas a EnumClipFm( ), establezca nFormato al valor devuelto por la llamada anterior a EnumClipFm( ).

Tipo devuelto

Numeric

Comentarios

Cada llamada a EnumClipFm( ) especifica un formato disponible conocido; la función devuelve el siguiente formato de la lista.

Casi todas las funciones Clip se basan en abrir el Portapapeles antes de usar la función. Puede usar _CLIPTEXT para tener acceso al Portapapeles de Windows.

Nota   Esta función se corresponde con la función del SDK de Windows que tiene un nombre similar. Para obtener más información, consulte la documentación del SDK de Windows.

 

ForceExt( )

Devuelve una cadena con la extensión de nombre de archivo antigua reemplazada por una extensión nueva. También está disponible como una función nativa de Visual FoxPro.

Sintaxis

ForceExt(cNombreArchivo, cExtensión)

cNombreArchivo

Especifica el nombre de archivo (con o sin una ruta o extensión) que obtendrá una nueva extensión.

cExtensión

Especifica la nueva extensión (sin punto) para cNombreArchivo.

Tipo devuelto

Character

 

ForcePath( )

Devuelve un nombre de archivo con un nombre de ruta de acceso nuevo sustituido por el antiguo. También está disponible como una función nativa de Visual FoxPro.

Sintaxis

ForceExt(cNombreArchivo, cRuta)

cNombreArchivo

Especifica el nombre de archivo (con o sin una ruta o extensión) que obtendrá una ruta nueva.

cRuta

Especifica la nueva ruta para cNombreArchivo.

Tipo devuelto

Character

 

FoxToolVer( )

Devuelve el número de versión de la biblioteca Foxtools.

Sintaxis

FoxToolVer( )

Tipo devuelto

Character

 

GetClipDat( )

Devuelve un controlador para los datos del Portapapeles de un formato especificado y lo pasa directamente a la aplicación que llama.

Sintaxis

GetClipDat(nFormato)

nFormato

Contiene un identificador para posibles formatos del Portapapeles.

 

nFormato

 

Descripción (tipo)

 
 

1

 

cf_Text

 
 

2

 

cf_Bitmap

 
 

3

 

cf_MetaFilePict

 
 

4

 

cf_SYLK

 
 

5

 

cf_DIF

 
 

6

 

cf_TIFF

 
 

7

 

cf_OEMText

 
 

8

 

cf_DIB

 
 

9

 

cf_Palette

 
 

Tipo devuelto

Logical

Comentarios

El Portapapeles controla el controlador, no la aplicación. La aplicación debe copiar los datos inmediatamente. Casi todas las funciones Clip se basan en abrir el Portapapeles antes de usar la función. Puede usar _CLIPTEXT para tener acceso al Portapapeles de Windows.

Nota   Esta función se corresponde con la función del SDK de Windows que tiene un nombre similar. Para obtener más información, consulte la documentación del SDK de Windows.

 

GetClipFmt( )

Obtiene el nombre de un formato de Portapapeles registrado.

Sintaxis

GetClipFmt(nFormato)

nFormato

Especifica el formato registrado que hay que obtener. Este argumento no debe especificar ninguno de los formatos de portapapeles predefinidos.

Tipo devuelto

Numeric

Comentarios

Casi todas las funciones Clip se basan en abrir el Portapapeles antes de usar la función. Puede usar _CLIPTEXT para tener acceso al Portapapeles de Windows.

Nota   Esta función se corresponde con la función del SDK de Windows que tiene un nombre similar. Para obtener más información, consulte la documentación del SDK de Windows

 

GetFileVersion( )

Devuelve información sobre un archivo. También está disponible como la función nativa AGETFILEVERSION( ) de Visual FoxPro.

Sintaxis

GetFileVersion(cNombreArchivo, @NombreMatriz)

cNombreArchivo

Especifica el nombre del archivo para el que se devuelve información.

NombreMatriz

Especifica el nombre de la matriz en la que se coloca la información de archivo. Se debe crear la matriz antes de ejecutar GetFileVersion( ) y ésta debe contener por lo menos 1 columna y 12 filas.

Tipo devuelto

Numeric

Comentarios

GetFileVersion( ) se usa normalmente para obtener información sobre archivos .exe y .dll.

Si la función tiene éxito devuelve cero; si no, devuelve –1.

La tabla siguiente muestra la información de archivo contenida en los doce elementos de matriz:

 

Número de elemento

 

Información de archivo

 
 

1

 

Comentarios

 
 

2

 

Nombre de compañía

 
 

3

 

Descripción de archivo

 
 

4

 

Versión de archivo

 
 

5

 

Nombre interno

 
 

6

 

Copyright legal

 
 

7

 

Marcas comerciales legales

 
 

8

 

Nombre de archivo original

 
 

9

 

Build privado

 
 

10

 

Nombre de producto

 
 

11

 

Versión de producto

 
 

12

 

Build especial

 
 
GetProStrg( )

Obtiene la cadena asociada a una entrada en la sección especificada del archivo de inicialización Win.ini.

Sintaxis

GetProStrg (lpszSección, lpszEntrada, lpszPredeterminado,
@lpszBúferDevolución, cbBúferDevolución)

lpszSección

Apunta a una cadena terminada en valor nulo que especifica la sección que contiene la entrada.

LpszEntrada

Apunta a la cadena terminada en valor nulo que contiene la entrada cuya cadena asociada hay que obtener. Si este valor es NULL, todas las entradas de la sección especificadas por el argumento lpszSección se copian en el búfer especificado por el argumento lpszBúferDevolución.

LpszPredeterminado

Puntero al valor predeterminado para la entrada dada si ésta no se puede encontrar en el archivo de inicialización. Este argumento nunca debe ser NULL; debe apuntar a una cadena válida, incluso si la cadena está vacía (si el primer carácter es cero).

LpszBúferDevolución

Puntero que recibirá la cadena de caracteres.

cbBúferDevolución

Especifica el tamaño en bytes del búfer al que apunta el argumento lpszBúferDevolución.

Valor devuelto

Numeric

Comentarios

Una aplicación puede usar la función GetProStrg( ) para obtener una cadena de un archivo especificado.

Si el argumento lpszEntrada es NULL, la función GetProStrg( ) copia todas las entradas de la sección especificada en el búfer suministrado. Cada cadena terminará en valor nulo y la cadena final termina con dos valores nulos. Si el búfer de destino es demasiado pequeño para contener todas las cadenas, la última cadena se truncará y terminará en dos caracteres nulos.

Si la cadena asociada a lpszEntrada está escrita entre comillas o comillas dobles, las marcas se descartan cuando GetProStrg devuelve la cadena.

GetProStrg( ) no distingue entre mayúsculas y minúsculas, de forma que las cadenas de los argumentos lpszSección y lpszEntrada pueden contener una combinación de letras mayúsculas y minúsculas.

El valor devuelto es el número de bytes copiados al búfer, sin incluir el cero final, si la función tiene éxito.

 

IsClipFmt( )

Indica si actualmente hay datos del formato especificado en el Portapapeles.

Sintaxis

IsClipFmt(nFormato)

nFormato

Contiene un valor numérico que indica el formato de los datos disponibles.

La tabla siguiente representa los formato predefinidos de Windows:

 

nFormato

 

Descripción (tipo)

 
 

1

 

cf_Text

 
 

2

 

cf_Bitmap

 
 

3

 

cf_MetaFilePict

 
 

4

 

cf_SYLK

 
 

5

 

cf_DIF

 
 

6

 

cf_TIFF

 
 

7

 

cf_OEMText

 
 

8

 

cf_DIB

 
 

9

 

cf_Palette

 
 

Tipo devuelto

Logical

Comentarios

IsClipFmt( ) devuelve verdadero (.T.) si los datos del fomato especificado están en el Portapapeles o falso (.F.) en caso contrario.

Nota   Esta función se corresponde con la función del SDK de Windows con nombre similar. Para obtener más información, consulte la documentación del SDK de Windows.

 

JustDrive( )

Devuelve la letra de unidad de una ruta completa. También está disponible como función nativa de Visual FoxPro.

Sintaxis

JustDrive(cRuta)

cRuta

Especifica el nombre de ruta completo del que sólo quiere la unidad.

Tipo devuelto

Character

 

JustExt( )

Devuelve la extensión de tres letras de una ruta de acceso completa. También está disponible como función nativa de Visual FoxPro.

Sintaxis

JustExt(cRuta)

cRuta

Especifica el nombre, que puede incluir la ruta de acceso completa, del archivo del que sólo quiere la extensión.

Tipo devuelto

Character

 

JustFName( )

Devuelve la parte del nombre de archivo de una ruta de acceso completa y un nombre de archivo. También está disponible como función nativa de Visual FoxPro.

Sintaxis

JustFName(cNombreArchivo)

cNombreArchivo

Especifica el nombre, que puede incluir la ruta de acceso completa, del archivo del que sólo quiere el nombre de archivo.

Tipo devuelto

Character

 

JustPath( )

Devuelve la parte de la ruta de acceso de una ruta de acceso completa y un nombre de archivo. También está disponible como función nativa de Visual FoxPro.

Sintaxis

JustPath(cNombreArchivo)

cNombreArchivo

Especifica el nombre completo (incluyendo la ruta de acceso) del archivo del que sólo quiere la ruta.

Tipo devuelto

Character

 

JustStem( )

Devuelve el nombre (primeros ocho caracteres del nombre de archivo) de una ruta de acceso completa y un nombre de archivo. También está disponible como función nativa de Visual FoxPro.

Sintaxis

JustStem(cNombreArchivo)

cNombreArchivo

Especifica el nombre (incluyendo la ruta de acceso) del archivo del que sólo quiere el nombre.

Tipo devuelto

Character

 

MainHwnd( )

Devuelve el controlador de ventana (HWND) de la ventana principal de Visual FoxPro.

Sintaxis

MainHwnd( )

Tipo devuelto

Numeric

 

MkDir( )

Crea un directorio.

Sintaxis

MkDir(cRuta)

cRuta

Especifica la ruta que se va a crear.

Tipo devuelto

Numeric

Comentarios

Esta función no comprobará la validez de la longitud y el formato de una cadena de directorio. Los valores devueltos son los siguientes:

 

0

 

éxito

 
 

1

 

fallo

 
 

6

 

el directorio ya existe

 

Esta función sólo está disponible en Foxtools versión 1.01 o posterior.

 

MessageBox( )

Muestra un cuadro de diálogo modal centrado en la pantalla.

Sintaxis

MessageBox(cTexto, cTítulo, nTipo)

cTexto

Especifica el contenido del cuadro de diálogo.

cTítulo

Especifica el título de la ventana del cuadro de diálogo.

nTipo

Especifica el tipo del cuadro de diálogo:

 

nTipo

 

Tipo

 
 

0

 

MB_OK

 
 

1

 

MB_OKCANCEL

 
 

2

 

MB_ABORTRETRYIGNORE

 
 

3

 

MB_YESNOCANCEL

 
 

4

 

MB_YESNO

 
 

5

 

MB_RETRYCANCEL

 
 

16

 

MB_ICONSTOP

 
 

32

 

MB_ICONQUESTION

 
 

48

 

MB_ICONEXCLAMATION

 
 

64

 

MB_ICONINFORMATION

 
 

Tipo devuelto

Numeric

Comentarios

MessageBox( ) devuelve un valor que indica el botón en el que el usuario ha hecho clic.

 

Valor devuelto

 

Id del botón en el que se ha hecho clic

 
 

1

 

idok

 
 

2

 

idcancel

 
 

3

 

idabort

 
 

4

 

idretry

 
 

5

 

idignore

 
 

6

 

idyes

 
 

7

 

idno

 
 
NextWord( )

Devuelve los caracteres entre un índice de caracteres especificado y el siguiente delimitador de palabras (o el final de la cadena).

Sintaxis

NextWord(cCadena, nPosición[, cDelimitador])

cCadena

Especifica la cadena que hay que buscar.

nPosición

Especifica la posición numérica del carácter en la cadena que será el carácter inicial devuelto por NextWord( ).

cDelimitador

Especifica los delimitadores de palabras opcionales; NextWord( ) devuelve la cadena de caracteres entre nPosición y este carácter. Si cDelimitador2 no se usa, los delimitadores predeterminados son espacios, tabulaciones y caracteres de retorno de carro (ASCII 13). El carácter delimitador no se incluye en la cadena devuelta.

Tipo devuelto

Character

 

OpenClip( )

Abre el Portapapeles para que funciones relacionadas con el Portapapeles tengan acceso.

Sintaxis

OpenClip(nControlador)

nControlador

Especifica el controlador de la ventana asociada al Portapapeles. Cero es aceptable. Para obtener el controlador de la ventana principal de Visual FoxPro, llame a MainHwnd( ).

Tipo devuelto

Logical

Comentarios

Casi todas las funciones Clip se basan en abrir el Portapapeles antes de usar la función. Puede usar _CLIPTEXT para tener acceso al Portapapeles de Windows.

Nota   Esta función se corresponde con la función del SDK de Windows que tiene un nombre similar. Para obtener más información, consulte la documentación del SDK de Windows.

 

PutProStrg( )

Copia una cadena en la sección especificada del archivo de inicialización de Windows (Win.ini).

Sintaxis

PutProsStrg(lpszSección, lpszEntrada, lpszCadena)

lpszSección

Puntero a una cadena terminada en valor nulo que especifica la sección a la que se copia la cadena. Si la sección no existe, se crea. El nombre de la sección no distingue mayúsculas de minúsculas; la cadena puede ser cualquier combinación de mayúsculas y minúsculas.

lpszEntrada

Puntero a la cadena terminada en valor nulo que contiene la entrada que se va a asociar a la cadena. Si la entrada no existe en la sección especificada, se crea. Si el argumento es NULL, se elimina toda la sección y todas las entradas que contiene.

lpszCadena

Puntero a la cadena terminada en valor nulo que se va a escribir en el archivo. Si este argumento es NULL, la entrada especificada por el argumento lpszEntrada se elimina.

Tipo devuelto

Numeric

Comentarios

El valor devuelto es distinto de cero si la función tiene éxito; si no es así, vale cero.

 

Reduce( )

Reemplaza los caracteres especificados en una cadena por un espacio.

Sintaxis

Reduce(cBuscar, cReemplazar)

cBuscar

Especifica la cadena de caracteres que se va a cambiar.

cReemplazar

Especifica los caracteres que se van a buscar y reemplazar por un espacio. Si especifica más de un carácter, los caracteres se tratan por separado durante la reducción y no como una sola cadena multicaracter.

Tipo devuelto

Character

Comentarios

Reemplaza los caracteres especificados en cReemplazar por un espacio, a continuación quita los espacios iniciales y los espacios repetidos de la cadena. Esta función se usa normalmente para reemplazar un grupo de espacios en una cadena con un único espacio o para reemplazar delimitadores tales como tabuladores o marcas de párrafo con un espacio.

 

RegClipFmt( )

Registra un nuevo formato de Portapapeles.

Sintaxis

RegClipFmt(cFormato)

cFormato

Especifica una cadena que da nombre al nuevo formato.

Tipo devuelto

Numeric

Comentarios

El formato registrado se puede usar en funciones subsiguientes de portapapeles como un formato válido para proporcionar datos que aparecerá en la lista de formatos del Portapapeles.

El valor devuelto indica el formato recién registrado. Si se ha registrado anteriormente un nombre de formato idéntico, incluso por parte de una aplicación diferente, se incrementa la cuenta de referencia del formato (en una unidad) y se devuelve el mismo valor que cuando se registró originalmente el formato. El valor devuelto es cero si el formato no se puede registrar.

Casi todas las funciones Clip se basan en abrir el Portapapeles antes de usar la función. Puede usar _CLIPTEXT para tener acceso al Portapapeles de Windows.

Nota   Esta función se corresponde con la función del SDK de Windows que tiene un nombre similar. Para obtener más información, consulte la documentación del SDK de Windows.

 

RGBComp( )

Devuelve los componentes rojo, verde y azul de un valor de color RGB compuesto.

Sintaxis

RGBComp( nColorRGB, @nValRojo, @nValVerde, @nValAzul )

nColorRGB

Especifica un valor de color RGB compuesto entre 0 y 16777215.

@nValRojo

Especifica una referencia a una variable en la que la función devuelve la intensidad del componente de color rojo de nColorRGB.

@nValVerde

Especifica una referencia a una variable en la que la función devuelve la intensidad de la componente de color verde de nColorRGB.

@nValAzul

Especifica una referencia a una variable en la que la función devuelve la intensidad del componente de color azul de nColorRGB.

Tipo devuelto

Logical

 

RmDir( )

Elimina un directorio.

Sintaxis

RmDir(cRuta)

cRuta

Especifica la ruta del directorio o carpeta que hay que quitar.

Tipo devuelto

Numeric

Comentarios

Esta función sólo está disponible en Foxtools versión 1.01 o posterior.

Devuelve 0 si tiene éxito y 1 si no tiene éxito.

 

SetClipDat( )

Establece los datos en el Portapapeles abierto.

Sintaxis

SetClipDat(nFormato, cDatos)

nFormato

Especifica un identificador para posibles formatos de Portapapeles.

 

nFormato

 

Descripción (tipo)

 
 

1

 

cf_Text

 
 

2

 

cf_Bitmap

 
 

3

 

cf_MetaFilePict

 
 

4

 

cf_SYLK

 
 

5

 

cf_DIF

 
 

6

 

cf_TIFF

 
 

7

 

cf_OEMText

 
 

8

 

cf_DIB

 
 

9

 

cf_Palette

 
 

cDatos

Especifica los datos que se van a colocar en el Portapapeles.

Tipo devuelto

Logical

Comentarios

Debe abrir el Portapapeles con OpenClip( ) antes de llamar a esta función. Si el Portapapeles de Windows está en ejecución no actualizará su ventana para mostrar los datos colocados en el Portapapeles por la función SetClipDat( ) hasta que se llame a la función CloseClip( ).

Nota   Esta función se corresponde con la función del SDK de Windows que tiene un nombre similar. Para obtener más información, consulte la documentación del SDK de Windows.

 

StrFilter( )

Quita todos los caracteres de una cadena excepto los especificados.

Sintaxis

StrFilter(cCadena, cBúsqueda)

cCadena

Especifica la cadena de caracteres que se va a buscar.

cBúsqueda

Especifica los caracteres que se buscan y conservan en cCadena.

Tipo devuelto

Character

Comentarios

StrFilter( ) quita todos los caracteres de cCadena que no están en cBúsqueda y, a continuación, devuelve los caracteres restantes. StrFilter( ) distingue mayúsculas de minúsculas.

 

ValidPath( )

Comprueba un nombre de archivo de MS-DOS válido o una expresión de ruta.

Sintaxis

ValidPath(cNombre)

cNombre

Especifica la ruta o el nombre de archivo que hay que comprobar.

Tipo devuelto

Logical

Comentarios

ValidPath( ) comprueba que un nombre de archivo o un nombre de ruta de acceso es sintácticamente válido; no comprueba la existencia del archivo o la ruta especificados. La función no es infalible y, a veces, puede interpretar que un archivo tiene un nombre válido cuando en realidad no lo es. Sin embargo, ValidPath( ) no rechazará un nombre válido.

No es compatible con sistemas de archivos que admitan espacios en nombres de ruta.

 

WordNum( )

Devuelve la palabra especificada en una cadena.

Sintaxis

WordNum(cCadena, nÍndice[, cDelimitador])

cCadena

Especifica la cadena que contiene la palabra que se va a devolver.

nÍndice

Especifica la posición del índice de la palabra que se va a devolver. Por ejemplo, si nÍndice es 3, WordNum( ) devuelve la tercera palabra (si cCadena contiene tres o más palabras).

cDelimitador

Especifica el carácter utilizado para delimitar palabras en cCadena. Los delimitadores predeterminados son espacio, tabulación y retorno de carro.

Tipo devuelto

Character

Comentarios

Si cCadena contiene menos palabras que el número especificado en cÍndice, WordNum( ) devuelve una cadena vacía.

 

Words( )

Cuenta el número de palabras de una cadena.

Sintaxis

Words(cCadena[, cDelimitador])

cCadena

Especifica la cadena de palabras que hay que contar.

cDelimitador

Especifica el carácter que se va a usar para delimitar palabras en cCadena. Los delimitadores predeterminados son el espacio y la tabulación.

Tipo devuelto

Numeric

 

Vea también

  • Introducción a Foxtools (Foxtools.fll) --> Usted está aquí.

Uso del API de Windows: Índice general

Tema principal API


 

Referencias

  1. Foxtools.chm --> Busque esta ayuda en en el directorio principal de Visual FoxPro
  2. Foxtools.fll Help File en FoxTools.com
  3. Unsupported functions in the FoxTools.Fll library - www.alvechurchdata.co.uk
  4. Camf

 

 



error: Contenido protegido