Cobol Foro

Cobol Foro (https://www.cobolforo.es/index.php)
-   PowerCOBOL (ActiveX, v4 - v11) (https://www.cobolforo.es/forumdisplay.php?f=9)
-   -   Ayuda Carpetas - Cargar fecha y hora de creación. (https://www.cobolforo.es/showthread.php?t=1709)

lfortuny 8 de enero de 2024 17:38

Ayuda Carpetas - Cargar fecha y hora de creación.
 
Necesito desde programa leer la fecha y hora de creación y/o modificación de una o varias carpeta/s.
¿Me pueden ayudar?
El 'FileList' no me sirve ya que puede no haber ficheros en la carpeta y, si los hubiera pueden ser de una fecha u hora que no correspondan con la creación de la carpeta.

Gracias.

JCantero 8 de enero de 2024 21:54

@lfortuny, yo lo realizo con un call "system" realizando un dir direccionado a un fichero y despues a analizar.

Salvo que tu cobol lleve algo especifico, no tendras otra opcion.

Kuk 9 de enero de 2024 09:32

@lfortuny, me parece que hablas de PowerCOBOL. Si es el caso, tienes el FolderList a tu disposición en el panel de componentes.

Si hablas de otro entorno, dinos cuál. ;)

También puedes recurrir a las herramientas nativas del SO, en Windows, lanzar un dir y leer la salida como fichero secuencial.

lfortuny 9 de enero de 2024 09:58

Cierto, PowerCobol.
El FolderList no me devuelve la fecha y hora de creación de la carpeta, que puede o no tener datos.
Lo mejor, es como dice JCantero es usar el 'DIR' creando un archivo temporal y analizándolo.
Gracias a tod@s.

Joseg 9 de enero de 2024 18:03

Cita:

Citación del post de lfortuny (Mensaje 9221)
Necesito desde programa leer la fecha y hora de creación y/o modificación de una o varias carpeta/s.
¿Me pueden ayudar?
El 'FileList' no me sirve ya que puede no haber ficheros en la carpeta y, si los hubiera pueden ser de una fecha u hora que no correspondan con la creación de la carpeta.

Gracias.

Código COBOL:
  1. 01 file-name PIC X(n).
  2. 01 file-details.
  3.     02 file-size PIC 9(18) BINARY.
  4.     02 file-date.
  5.         03 days PIC 9(4) BINARY.
  6.         03 months PIC 9(4) BINARY.
  7.         03 years PIC 9(4) BINARY.
  8.   02 file-time.
  9.        03 hours PIC 9(4) BINARY.
  10.        03 minutes PIC 9(4) BINARY.
  11.       03 seconds PIC 9(4) BINARY.
  12.      03 m-secs PIC 9(4) BINARY.
  13. 01 status-code PIC S9(4) COMP-5.
  14.  
  15.  
  16. Calling format
  17. CALL "CBL_CHECK_FILE_EXIST2"
  18.          USING file-name
  19.         file-details
  20. RETURNING status-code.

Return code
- 0: Successful
- Other than 0: Failur


Adicionar ao projecto a libraria: F3BICBLR.lib

Mais detalhes: https://software.fujitsu.com/jp/manu...297-01enz0.pdf

lfortuny 9 de enero de 2024 18:50

Gracias Joseg.
No me sirve, el 'CHK_FILE_EXIST2' no me retorna información de la carpeta, devuelve información del fichero que quiera analizar.

Se puede hacer con algo así:

Código COBOL:
  1.             INITIALIZE llama-dir
  2.             STRING "CMD /C " DELIMITED BY SIZE
  3.                 X"22" DELIMITED BY SIZE
  4.                 "DIR /A:D >> fichero.txt" DELIMITED BY SIZE
  5.                 X"22" DELIMITED BY SIZE
  6.                 INTO llama-dir
  7.             END-STRING
  8.         INVOKE POW-SELF "ExecuteSync" USING llama-dir pow-swhide RETURNING ReturnValue
y luego analizar el 'fichero.txt' que ha generado en la carpeta en curso.


La franja horaria es GMT +2. Ahora son las 16:19.

Powered by: vBulletin, Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.