• Viernes 8 de Noviembre de 2024, 15:58

Autor Tema:  Como Saber Los Archivos De Una Carpeta  (Leído 2812 veces)

Ferdinandum

  • Nuevo Miembro
  • *
  • Mensajes: 24
    • Ver Perfil
Como Saber Los Archivos De Una Carpeta
« en: Lunes 17 de Enero de 2005, 13:54 »
0
Hola,

He hecho un programa q le un fichero de una carpeta determinada. Pero si no existe dicho Fichero la aplicacion casca.

Hay alguna forma de listar el directorio y hacer un control de errores con los archivos existentes??


tx.

Enko

  • Miembro de PLATA
  • *****
  • Mensajes: 1562
  • Nacionalidad: 00
    • Ver Perfil
Re: Como Saber Los Archivos De Una Carpeta
« Respuesta #1 en: Lunes 17 de Enero de 2005, 15:05 »
0
No recuerdo que haya una funcion similar a Dir de DOS pero hay varias de estas andando por la red, si es lo que necesitas.

Otra solucion seria desactivar temporalmente la verificacion de la entrada/salida y comprobar tu mismo los errores con IOResult.

Para desactivar la verificacion de I/O: {$I-}
Para activar la verificacion de I/O: {$I+}
Nota que {$Letra,+/-} son directivas de compilacion y no comentarios
y luego tenes a la funcion IOResult que es distinto de 0 si algo paso mal

Lo que hace este codigo es resetear un Archivo de NOmbre Archivo, si este no existe crea uno nuevo.
Código: Text
  1.  
  2. Assign(Archivo, 'Archivo.dat');
  3.  {$I-}
  4.    Reset(Archivo);
  5.    if IOResult <> 0 then {archivo no existe}
  6.    begin
  7.      WriteLn('No se encuentra el archivo');
  8.      WriteLn('Desea crear uno nuevo');
  9.      res := ReadKey;
  10.      if (res = 's') or (res = 'S') then ReWrite(Archivo);
  11.    end;
  12.  {$I+}
  13. end;
  14.  
  15.  
La funcion IOResult devuelve varios valores además de cero con distintos mensajes de error, lo que si, es que no tengo ahora la tabla de los errores.

Ferdinandum

  • Nuevo Miembro
  • *
  • Mensajes: 24
    • Ver Perfil
Re: Como Saber Los Archivos De Una Carpeta
« Respuesta #2 en: Lunes 17 de Enero de 2005, 19:44 »
0
Tx, haber como lo inserto en mi programa

FSR

  • Nuevo Miembro
  • *
  • Mensajes: 14
    • Ver Perfil
Re: Como Saber Los Archivos De Una Carpeta
« Respuesta #3 en: Martes 8 de Febrero de 2005, 00:57 »
0
Para saber si existe algún archivo en particular...

Código: Text
  1. Function FileExist(P :PathStr) :Boolean;
  2.     Var
  3.         Ch :File;
  4.         OK :Boolean;
  5.     Begin
  6.         Assign(Ch, P);
  7.         {$I-}
  8.              Reset(Ch, 1);
  9.              OK := (IOResult=0);
  10.              Close(Ch);
  11.         {$I+}
  12.         FileExist := OK;
  13.     End; {FileExist}
  14.  

Espero que te sea de utilidad. Saludos  ;)

JrcsDev

  • Miembro MUY activo
  • ***
  • Mensajes: 245
  • Nacionalidad: ve
    • Ver Perfil
    • http://codigo7.wordpress.com/
Re: Como Saber Los Archivos De Una Carpeta
« Respuesta #4 en: Sábado 8 de Julio de 2006, 05:27 »
0
Código: Text
  1. function FileExist( fname: string ): boolean;
  2. var f: file;
  3. begin
  4.         {$I-}
  5.         assign( f, fname );
  6.         filemode := 0;
  7.         reset(f);
  8.         close(f);
  9.         {$I+}
  10.         FileExist := (IOResult = 0) and (fname <> '');
  11. end;
  12.  

Esta función viene en la ayuda de Turbo Pascal...
Sígueme en Twitter]
Donar comida a los chicos necesitados!
Todo lo puedo en Cristo que me fortalece...