Programación vfp: cuente el número de caracteres en un archivo de texto e informe el número de espacios que contiene
Puede utilizar la función ADIR(). Por ejemplo, el archivo de texto en la ruta predeterminada actual se llama test.txt
ADIR(arrayname,'test.txt')<. /p>
En la matriz nombre de matriz (1, 2), es el tamaño del archivo. Los archivos de texto no tienen formato y el tamaño del archivo es el número de bytes.
******************************************
Función ADIR( )
Almacena información del archivo en una matriz y luego devuelve el número de archivos.
ADIR(ArrayName [, cFileSkeleton [, cAttribute [, nFlag]]])
Parámetros
ArrayName
Especifique el nombre de la matriz . Si la matriz no existe, Visual FoxPro la crea automáticamente. Si la matriz existe pero no es lo suficientemente grande como para contener toda la información, Visual FoxPro aumenta automáticamente el tamaño de la matriz para que toda la información quepa en la matriz. Si la matriz excede el tamaño requerido, Visual FoxPro trunca el exceso. Si la matriz existe y la función ADIR( ) devuelve 0 porque no se encontró ningún archivo coincidente, la matriz permanece sin cambios. Si la matriz no existe y la función ADIR( ) devuelve cero, la matriz no se crea. La siguiente tabla describe el contenido de cada columna de la matriz y su tipo de datos: Contenido de la matriz de columnas tipo de datos
1
Nombre de archivo
Tipo de carácter p>
2
Tamaño del archivo
Tipo numérico
3
Fecha de la última modificación del archivo
Tipo de fecha
4
Hora de la última modificación del archivo
Tipo de carácter
5
Atributos del archivo
Carácter
La última columna de la matriz contiene los atributos del archivo coincidente. Cada valor de atributo de archivo está representado por una letra y un archivo puede tener varios atributos. La siguiente tabla explica el significado de los atributos de archivo representados por cada letra: Atributo de letra
A
Archivo de archivo que se puede leer y escribir
H p>
Archivos ocultos
R
Archivos de solo lectura
S
Archivos del sistema
D
Directorio o carpeta
cFileSkeleton
Especifique un esqueleto de archivo para almacenar información de archivos para nombres o extensiones que cumplan con los criterios de búsqueda. Por ejemplo, los criterios podrían ser todas las tablas, todos los archivos de texto, todos los archivos cuya primera letra sea "A", etc. Estas consultas con comodines pueden contener los caracteres comodín * y ? El signo de interrogación representa un solo carácter y el asterisco representa cualquier cadena. Puede utilizar cualquier número de caracteres comodín en cualquier parte de la sinopsis del archivo. Puede especificar una unidad y un nombre de directorio bajo el cual el programa buscará archivos coincidentes. Si no se especifican la unidad y el nombre del directorio, la información del archivo en el directorio actual se almacenará en la matriz.
cAtributo
Especifica que en el contenido devuelto se incluirán subdirectorios o carpetas anidadas, archivos ocultos o del sistema, o nombres de volúmenes. cEl atributo puede ser cualquier combinación de D, H y S. Si se incluye D, además de devolver nombres de archivos que coincidan con cFileSkeleton, se devuelven subdirectorios del directorio actual o carpetas anidadas de la carpeta actual. Si se incluye H, se devuelve información del archivo oculto que coincide con la especificación cFileSkeleton. Si se incluye S, se devuelve la información del archivo del sistema que coincide con el nombre del archivo comodín especificado por cFileSkeleton. Si cFileSkeleton es la cadena vacía, solo se devuelven nombres de subdirectorios o carpetas anidadas, archivos ocultos o del sistema. Al contener el carácter V en el parámetro cAttribute se devuelve el nombre del volumen de la unidad actual.
Si V está contenido en la matriz junto con D, H o S, solo se devuelve el nombre del volumen. El nombre del volumen se almacena en el primer elemento de la matriz y el resto de la matriz se trunca.
nFlag
Especifica si el nombre del archivo DOS especificado se muestra o realmente distingue entre mayúsculas y minúsculas. Descripción de nFlag
(Predeterminado) Mostrar la ruta completa en mayúsculas
1
En caso original
2
Sigue la convención de nomenclatura de DOS 8+3
Valor de retorno
Tipo numérico
Descripción
Para cada archivo, ADIR() almacena el nombre del archivo, tamaño, fecha, hora e información de atributos en una matriz.
Ejemplo
El siguiente ejemplo utiliza la función ADIR( ) para crear una matriz que contiene información de la base de datos y luego muestra los nombres de la base de datos.
Copiar código
CERRAR BASES DE DATOS
ESTABLECER POR DEFECTO EN (HOME(2) + 'Datos')
gnDbcnumber = ADIR(gaDatabase , '*.DBC') && Crear una matriz
CLEAR
FOR nCount = 1 TO gnDbcnumber && Recorrer la base de datos
gaDatabase(nCount,1) && Mostrar el nombre de la base de datos
ENDFOR
ESTABLECER RUTA A INICIO( ) && Establecer la ruta al directorio de Visual FoxPro