/* * $Id$ */ /* * Las siguientes partes son derechos adquiridos de sus autores individuales. * www - http://www.harbour-project.org * * Copyright 2000 Alejandro de Gárate * Documentación en Español de: __DIR(), DIR, ADIR() * * Copyright 1999 Chen Kedem * 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( [] ) --> NIL * $ARGUMENTS$ * 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 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 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 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$ * __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" ) * $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 [] * $ARGUMENTS$ * 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 no contiene la ruta al archivo * entonces SET DEFAULT es usado para mostrar archivos en la máscara. * $DESCRIPTION$ * Si ninguna 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 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$ * __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" ) * $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( [], [], [], [], * [], [] ) -> nEntradasDirectorio * $ARGUMENTS$ * 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 no contiene la ruta al archivo * entonces SET DEFAULT es usado para mostrar archivos en la máscara. * * Array para llenar con el Nombre de los archivos que cumplen * con . 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. * * Array para llenar con el Tamaño de los archivos que cumplen * con . Cada elemento es un número entero con el tamaño del * archivo en bytes. * Los Directorios siempre tienen un tamaño cero. * * Array para llenar con la Fecha de la ultima modificación del * archivo que cumplen con . Cada elemento es del tipo "Date" * * Array para llenar con la Hora de la ultima modificación del * archivo que cumplen con . Cada elemento es una cadena de * caracteres en el formato: HH:MM:SS. * * Array para llenar con los atributos de los archivos que * cumplen con . Cada elemento es una cadena de caracteres, * Vea DIRECTORY() por información sobre los valores de los atributos. * Si Ud. pasa un array a , la función va a devolver archivos * con los atributos Normal, Oculto (H), sistema (S) y directorio (D) * Si 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 . * $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) 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$ * 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 * $STATUS$ * R * $COMPLIANCE$ * 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$ */