Cobol Foro

Cobol Foro (https://www.cobolforo.es/index.php)
-   PowerCOBOL v3 (V3L10, Win32) (https://www.cobolforo.es/forumdisplay.php?f=5)
-   -   [Sintaxis] Obtener el Directorio de la aplicación (https://www.cobolforo.es/showthread.php?t=412)

Eslopes 21 de junio de 2016 15:08

Obtener el Directorio de la aplicación
 
Olá,

alguém sabe como descobrir em qual diretório a aplicação está rodando?


Gracias, Emerson

Kuk 21 de junio de 2016 15:25

Eslopes, GetCurrentDirectory function (Windows)

Código COBOL:
  1.      CALL "GetCurrentDirectoryA" WITH STDCALL USING BY VALUE 256
  2.                                                     BY REFERENCE WS-PATH

Rapinto 21 de junio de 2016 15:26

EsLopes,

Esperimenta com este código:

Código COBOL:
  1.  @OPTIONS NOALPHA
  2. *****************************************************************
  3. *  Copyright (c) 2000 R.P.S.
  4. *  Created      :    Jun 2000
  5. *  Last Modified:    Jun 2000
  6. *****************************************************************
  7.  IDENTIFICATION DIVISION.
  8.  PROGRAM-ID.    CURRDIR.
  9.  AUTHOR.        Rui Pinto.
  10. *-----------------------------------------------------------------
  11.  ENVIRONMENT DIVISION.
  12.  CONFIGURATION SECTION.
  13.  SPECIAL-NAMES.
  14.  INPUT-OUTPUT SECTION.
  15.  FILE-CONTROL.
  16. *-----------------------------------------------------------------
  17.  DATA DIVISION.
  18.  FILE SECTION.
  19.  WORKING-STORAGE SECTION.
  20.  01  WCURRPATH                      PIC X(256).
  21.  01  WCURRPATHLEN                   PIC S9(009)   COMP-5.
  22.  LINKAGE SECTION.
  23. *----------------- Parameters for CBL_ routines ------------------
  24.  01  CURRPATH                       PIC X(256).
  25.  01  CURRPATHLEN                    PIC 9(009).
  26.  01  CURRESULT                      PIC X(001).
  27. *--------------- End Parameters for CBL_ routines -----------------
  28.  PROCEDURE DIVISION USING CURRPATH CURRPATHLEN CURRESULT.
  29.  MAIN SECTION.
  30.  MAIN-00.
  31. *> This program read the current dir.
  32.      MOVE SPACE TO CURRESULT CURRPATH WCURRPATH.
  33.      MOVE ZERO  TO CURRPATHLEN.
  34. *-----------------------------------------------------------------
  35.  MAIN-10.
  36.      MOVE 256 TO WCURRPATHLEN.
  37.      MOVE ALL SPACE TO WCURRPATH.
  38.      CALL "GetCurrentDirectoryA" WITH STDCALL LINKAGE USING
  39.                                 BY VALUE WCURRPATHLEN
  40.                                 BY REFERENCE WCURRPATH.
  41.      IF RETURN-CODE  = ZERO GO TO MAIN-50.
  42.      INSPECT WCURRPATH REPLACING ALL LOW-VALUES BY SPACE.
  43.  MAIN-20.
  44.      MOVE WCURRPATH   TO CURRPATH.
  45.      MOVE RETURN-CODE TO CURRPATHLEN.
  46.  MAIN-50.
  47.      IF RETURN-CODE  = ZERO
  48.               MOVE "N" TO CURRESULT MOVE 0 TO CURRPATHLEN
  49.         ELSE
  50.               MOVE "Y" TO CURRESULT.
  51.  MAIN-99.
  52.  END PROGRAM CURRDIR.

Este código está preparado para ser usado a partir de outros programas (através da Linkage).

Rui Pinto


La franja horaria es GMT +2. Ahora son las 14:45.

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