EsLopes,
Esperimenta com este código:
COBOL Código:
@OPTIONS NOALPHA
*****************************************************************
* Copyright (c) 2000 R.P.S.
* Created : Jun 2000
* Last Modified: Jun 2000
*****************************************************************
IDENTIFICATION DIVISION.
PROGRAM-ID. CURRDIR.
AUTHOR. Rui Pinto.
*-----------------------------------------------------------------
ENVIRONMENT DIVISION.
CONFIGURATION SECTION.
SPECIAL-NAMES.
INPUT-OUTPUT SECTION.
FILE-CONTROL.
*-----------------------------------------------------------------
DATA DIVISION.
FILE SECTION.
WORKING-STORAGE SECTION.
01 WCURRPATH PIC X(256).
01 WCURRPATHLEN PIC S9(009) COMP-5.
LINKAGE SECTION.
*----------------- Parameters for CBL_ routines ------------------
01 CURRPATH PIC X(256).
01 CURRPATHLEN PIC 9(009).
01 CURRESULT PIC X(001).
*--------------- End Parameters for CBL_ routines -----------------
PROCEDURE DIVISION USING CURRPATH CURRPATHLEN CURRESULT.
MAIN SECTION.
MAIN-00.
*> This program read the current dir.
MOVE SPACE TO CURRESULT CURRPATH WCURRPATH.
MOVE ZERO TO CURRPATHLEN.
*-----------------------------------------------------------------
MAIN-10.
MOVE 256 TO WCURRPATHLEN.
MOVE ALL SPACE TO WCURRPATH.
CALL "GetCurrentDirectoryA" WITH STDCALL LINKAGE USING
BY VALUE WCURRPATHLEN
BY REFERENCE WCURRPATH.
IF RETURN-CODE = ZERO GO TO MAIN-50.
INSPECT WCURRPATH REPLACING ALL LOW-VALUES BY SPACE.
MAIN-20.
MOVE WCURRPATH TO CURRPATH.
MOVE RETURN-CODE TO CURRPATHLEN.
MAIN-50.
IF RETURN-CODE = ZERO
MOVE "N" TO CURRESULT MOVE 0 TO CURRPATHLEN
ELSE
MOVE "Y" TO CURRESULT.
MAIN-99.
END PROGRAM CURRDIR.
Este código está preparado para ser usado a partir de outros programas (através da Linkage).
Rui Pinto
Marcadores