241 lines
9.2 KiB
Plaintext
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$
|
|
*/
|