Cobol Foro

Cobol Foro (https://www.cobolforo.es/index.php)
-   PowerCOBOL (ActiveX, v4 - v11) (https://www.cobolforo.es/forumdisplay.php?f=9)
-   -   [Sintaxis] Como saber si existe una carpeta (https://www.cobolforo.es/showthread.php?t=1077)

Begoguay 11 de marzo de 2020 17:49

Como saber si existe una carpeta
 
Hola foreros.

Necesito saber si existe una carpeta. He estado mirando en las rutinas _CBL, y no encuentro ninguna que me sirva.

¿Alguien sabe alguna forma?

Un saludo.

Gusaiello 11 de marzo de 2020 21:19

Lo mas simple que se me ocurre es intentar crearla, si el resultado es exitoso es por que no existía y si no lo es, es por que acabas de crearla (la carpeta no existía).

Luego veras que hacer con ella, si usarla o eliminarla.

Kuk 14 de marzo de 2020 11:27

Begoguay, prueba con esto: 4.3 CBL_CHECK_FILE_EXIST

---------- Post añadido : 11:27 ---------- Post anterior : 10:55 ----------

Begoguay, cuéntanos si ha funcionado ;)

Begoguay 19 de marzo de 2020 16:07

Kuk, siento decirte que con eso no funciona.

Gusaiello, eso ya lo había pensado, pero no quiero crear una carpeta que de momento no voy a utilizar para nada.

Gracias a los dos igualmente

Un saludo

Kuk 19 de marzo de 2020 18:13

Begoguay, creo recordar que a mi con el CBL_CHECK_FILE_EXIST2 me funcionaba.

Si no, lo que se me ocurre es que pongas en el form un CmFolder, le metas la ruta "padre" que te interesa y luego con un bucle verificas todas las carpetas por su nombre.

No sé si me explico

Y luego, claro está, siempre te queda la WinAPI : GetFileAttributesA function (fileapi.h) - Win32 apps | Microsoft Docs

Armando 19 de marzo de 2020 21:05

Hola, podes tambien chequear si te deja crear un archivo, si da error, pasas a crear el directorio:
Saludos
armando

Código COBOL:
  1. VALIDO-DIR.
  2.         MOVE POW-FALSE TO bNO-DIR.
  3.        
  4.         OPEN OUTPUT MARQUITA.
  5.         IF NOT TODO-OK
  6.             MOVE POW-TRUE TO bNO-DIR
  7.             GO FVALIDO-DIR
  8.         END-IF.
  9.  
  10.         CLOSE MARQUITA.
  11.                 DELETE FILE MARQUITA.
  12.  FVALIDO-DIR.
  13.         EXIT.  
  14.  
  15.  CREO-DIR.
  16.                 CALL "CBL_CREATE_DIR"
  17.             USING cPATH-ACREAR
  18.             RETURNING status-code.
  19.  CONTROLO-CREADO.
  20.         IF status-code NOT = 0  *>aca se da mensaje


La franja horaria es GMT +2. Ahora son las 10:23.

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