Ver Mensaje Individual
  #3
Antiguo 21 de junio de 2016, 15:26
Rapinto
Gran amigo del Foro
Guru de COBOL
Activista del Foro: Activista del Foro - Issue reason: ¡Gracias! Agradecimientos: Por muchos agradecimientos de parte de los Foreros - Issue reason: Por ayudar mucho a los foreros Guru de los Gurus: Por solidos y amplios conocimientos - Issue reason: Por saber demasiado! 
Última Actividad 29.01.2018 20:23
Posts Posts: 240
Likes enviados Enviados: 19
Likes recibidos Recibidos: 224

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
Rapinto is offline   Responder Con Cita