Files
harbour-core/harbour/doc/es/dir.txt
2000-10-07 02:06:17 +00:00

241 lines
9.2 KiB
Plaintext

/*
* Las siguientes partes son derechos adquiridos de sus autores individuales.
* www - http://www.harbour-project.org
*
* Copyright 2000 Alejandro de Gárate <alex_degarate@hotmail.com>
* Documentación en Español de: __DIR(), DIR, ADIR()
*
* Copyright 1999 Chen Kedem <niki@actcom.co.il>
* Documentación en Inglés de: __DIR(), DIR, ADIR()
*
* Vea doc/license.txt por los términos de la licencia.
*
*/
/* $DOC$
* $FUNCNAME$
* __Dir()*
* $CATEGORY$
* Manejo de Archivos
* $ONELINER$
* Muestra por pantalla el listado de archivos.
* $SYNTAX$
* __Dir( [<cFileMask>] ) --> NIL
* $ARGUMENTS$
* <cFileMask> Máscara de archivos para incluir en el retorno de la
* función. Esta podría contener subdirectorios (path) y caracteres
* estándar usados como comdines, segun sean soportados por el sistema
* operativo (como * y ?). Si <cFileMask> no contiene la ruta al archivo
* entonces SET DEFAULT es usado para mostrar archivos en la máscara.
* $RETURNS$
* __Dir() siempre retorna NIL.
* $DESCRIPTION$
* Si ninguna <cFileMask> es dada, __Dir() muestra información acerca de
* todos los *.DBF en la ruta SET DEFAULT. Esta información contiene:
* - Nombre del archivo
* - Numero de registros
* - Fecha de la ultima actualización
* - Tamaño de cada archivo.
*
* Si <cFileMask> es dada, __Dir() lista todos los archivos que coinciden
* con la máscara en los siguientes detalles: Nombre, Extensión, Tamaño,
* Fecha.
*
* El comando DIR es pre-procesado en la función __Dir() durante el
* tiempo de compilación.
*
* __Dir() es una función de compatibilidad, esta fué superada por
* DIRECTORY(), la cual devuelve toda la información en un arreglo
* multidimensional.
* $EXAMPLES$
<fixed>
* __Dir() // Información de todos los DBF en el directorio actual
*
* __Dir( "*.dbf" ) // Lista todos los DBF en el directorio actual
*
* // Lista todos los PRG de la librería de ejecución (RTL) de Harbour
* // para sistemas operativos compatibles con DOS
* __Dir( "c:\harbour\source\rtl\*.prg" )
*
* // Lista todos los archivos de la sección pública sobre una máquina
* // tipo Unix
* __Dir( "/pub" )
</fixed>
* $STATUS$
* R
* $COMPLIANCE$
* Información de DBF: CA-Clipper muestra nombres de archivos en el
* formato 8.3, Harbour muestra los primeros 15 caracteres si un nombre
* largo de archivo esta disponible.
*
* Listado de archivos: para formatear los nombres mostrados usamos algo
* así como:
* PADR( Nombre, 8 ) + " " + PADR( Ext, 3 )
* CA-Clipper usa nombres de archivo 8.3, con Harbour probablemente se
* podría cortar los nombres largos de archivo para llenar este molde.
* $FILES$
* La librería es rtl
* $SEEALSO$
* ADIR(),DIRECTORY(),SET DEFAULT,DIR
* $END$
*/
/* $DOC$
* $FUNCNAME$
* DIR
* $CATEGORY$
* Comandos
* $ONELINER$
* Muestra el listado de archivos
* $SYNTAX$
* DIR [<cFileMask>]
* $ARGUMENTS$
* <cFileMask> Máscara de archivos para incluir en el retorno de la
* función. Esta podría contener subdirectorios (path) y caracteres
* estándar usados como comdines, segun sean soportados por el sistema
* operativo (como * y ?). Si <cFileMask> no contiene la ruta al archivo
* entonces SET DEFAULT es usado para mostrar archivos en la máscara.
* $DESCRIPTION$
* Si ninguna <cFileMask> es dada, __Dir() muestra información acerca de
* todos los *.DBF en la ruta SET DEFAULT. esta información contiene:
* - Nombre del archivo
* - Número de registros
* - Fecha de la ultima actualización
* - Tamaño de cada archivo.
*
* Si <cFileMask> es dada, __Dir() lista todos los archivos que coinciden
* con la máscara en los siguientes detalles: Nombre, Extensión, Tamaño,
* Fecha.
*
* El comando DIR es pre-procesado en la función __Dir() durante el
* tiempo de compilación.
*
* __Dir() es una función de compatibilidad, esta fué superada por
* DIRECTORY(), la cual devuelve toda la información en un arreglo
* multidimensional.
* $EXAMPLES$
<fixed>
* __Dir() // Información de todos los DBF en el directorio actual
*
* __Dir( "*.dbf" ) // Lista todos los DBF en el directorio actual
*
* // Lista todos los PRG de la librería de ejecución (RTL) de Harbour
* // para sistemas operativos compatibles con DOS
* __Dir( "c:\harbour\source\rtl\*.prg" )
*
* // Lista todos los archivos de la sección pública sobre una máquina
* // tipo Unix
* __Dir( "/pub" )
</fixed>
* $STATUS$
* R
* $COMPLIANCE$
* Información de DBF: CA-Clipper muestra nombres de archivos en el
* formato 8.3, Harbour muestra los primeros 15 caracteres si un nombre
* largo de archivo está disponible.
*
* Listado de archivos: para formatear los nombres mostrados usamos algo
* así como:
* PADR( Nombre, 8 ) + " " + PADR( Ext, 3 )
* CA-Clipper usa nombres de archivo 8.3, con Harbour probablemente se
* podría cortar los nombres largos de archivo para llenar este molde.
* $SEEALSO$
* ADIR(),DIRECTORY(),SET DEFAULT,__DIR()*
* $END$
*/
/* $DOC$
* $FUNCNAME$
* ADIR()
* $CATEGORY$
* Array
* $ONELINER$
* Llena arrays pre-definidos con información de archivo / directorio
* $SYNTAX$
* ADIR( [<cFileMask>], [<aNombre>], [<aTamano>], [<aFecha>],
* [<aHora>], [<aAtrib>] ) -> nEntradasDirectorio
* $ARGUMENTS$
* <cFileMask> Máscara de archivos para incluir en el retorno de la
* función. Esta podria contener subdirectorios (path) y caracteres
* estandar usados como comodines, segun sean soportados por el sistema
* operativo (como * y ?). Si <cFileMask> no contiene la ruta al archivo
* entonces SET DEFAULT es usado para mostrar archivos en la máscara.
*
* <aNombre> Array para llenar con el Nombre de los archivos que cumplen
* con <cFileMask>. Cada elemento es una cadena de caracteres que incluye
* el Nombre y Extensión del archivo sin la ruta de acceso.
* Nombre es el nombre largo de archivo como es reportado por el sistema
* operativo y no necesariamente en el formato mayúsculas 8.3 del D.O.S.
*
* <aTamano> Array para llenar con el Tamaño de los archivos que cumplen
* con <cFileMask>. Cada elemento es un número entero con el tamaño del
* archivo en bytes.
* Los Directorios siempre tienen un tamaño cero.
*
* <aFecha> Array para llenar con la Fecha de la ultima modificación del
* archivo que cumplen con <cFileMask>. Cada elemento es del tipo "Date"
*
* <aHora> Array para llenar con la Hora de la ultima modificación del
* archivo que cumplen con <cFileMask>. Cada elemento es una cadena de
* caracteres en el formato: HH:MM:SS.
*
* <aAtrib> Array para llenar con los atributos de los archivos que
* cumplen con <cFileMask>. Cada elemento es una cadena de caracteres,
* Vea DIRECTORY() por información sobre los valores de los atributos.
* Si Ud. pasa un array a <aAtrib>, la función va a devolver archivos
* con los atributos Normal, Oculto (H), sistema (S) y directorio (D)
* Si <aAtrib> no es especificado o es distinto de un array solo
* archivos con atributo normal porian ser devueltos.
*
* Nota: Al momento de escribir esta documentación todavia no había
* información sobre el comportamiento de esta función con los
* atributos que poseen las maquinas tipo Unix.
* $RETURNS$
* ADIR() retorna el número de entradas de archivo que cumplen con la
* condición establecida en la máscara <cFileMask>.
* $DESCRIPTION$
* ADIR() retorna el número de archivos y/o directorios que cumplen con
* un formato especificado, este tambien llena una serie de arrays con
* Nombre, Tamaño, Fecha, Hora y Atributo de estos archivos.
* El array pasado debe ser pre-inicializado al tamaño apropiado, vea el
* ejemplo más abajo.
* Con motivo de incluir los atributos Oculto (H), sistema (S) o de
* directorio (D) <aAtrib> debe ser especificado.
*
* ADIR() es una función de compatibilidad, esta fue superada por
* DIRECTORY(), la cual devuelve toda la información en un arreglo
* multidimensional.
* $EXAMPLES$
<fixed>
* LOCAL aNombre, aTamano, aFecha, aHora, aAtrib, nLen, i
* nLen := ADIR( "*.JPG" ) // Nro de archivos JPG files en directorio
*
* IF nLen > 0
* aNombre := Array( nLen ) // hace lugar para guardar la información
* aTamano := Array( nLen )
* aFecha := Array( nLen )
* aHora := Array( nLen )
* aAtrib := Array( nLen )
* FOR i = 1 TO nLen
* ? aNombre[i], aTamano[i], aFecha[i], aHora[i], aAtrib[i]
* NEXT
* ELSE
* ? "Este directorio no tiene ni pelusa"
* ENDIF
</fixed>
* $STATUS$
* R
* $COMPLIANCE$
* <aNombre> esta yendo a ser llenado con nombres largos de archivo y
* no necesariamente con el formato mayúsculas 8.3 del D.O.S.
* $FILES$
* La librería es rtl
* $SEEALSO$
* ARRAY(),DIRECTORY(),SET DEFAULT
* $END$
*/