home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / mod201j.zip / modula2.exe / os2src / prog.mod < prev    next >
Text File  |  1996-02-02  |  1KB  |  41 lines

  1. MODULE Prog;
  2. (***********)
  3. (*
  4. DosExecPgm example Adapted from 'The Art of OS/2 Warp Programming'
  5. Kathleen Panov, Larry Saloon, Jr. Arthur Panov.
  6. Wiley 1995
  7. *)
  8. (*$XL+       Modula-2 language extensions: '_' allowed for symbol names *)
  9. (*$A         default alignment for record fields                        *)
  10. (*$CDECL-    Pascal-style procedures                                    *)
  11. FROM OS2DEF      IMPORT APIRET,PSZ;
  12. FROM InOut IMPORT WriteCard;
  13. IMPORT SYSTEM;
  14. FROM DOSPROCESS IMPORT DosExecPgm,
  15.                        EXEC_ASYNC,
  16.                        RESULTCODES;
  17. (*$XL+*)
  18. CONST    BUFFER_SIZE = 200;
  19.          
  20.  
  21. VAR arReturn    : APIRET;
  22.     achFail     : ARRAY [0..BUFFER_SIZE] OF CHAR;
  23.     rcResult    : RESULTCODES;
  24.     COMMAND_LINE: PSZ;
  25.     Text        : ARRAY [0..128] OF CHAR;
  26.     
  27. BEGIN
  28.   (*Commandline : Command must terminate with CHR(0) after the command processor, an extra CHR(0) is necessary after the parameters, the total string must also end with CHR(0)
  29.   *)
  30.   Text := "CMD.EXE   /C dir \*.* /S    ";
  31.   Text[7] := CHR(0);  Text[24] := CHR(0); 
  32.   COMMAND_LINE := SYSTEM.ADR(Text);
  33.   arReturn := DosExecPgm(achFail,
  34.                          BUFFER_SIZE,
  35.                          EXEC_ASYNC,
  36.                          COMMAND_LINE,
  37.                          0,
  38.                          rcResult,
  39.                          "CMD.EXE");
  40.  WriteCard(CARDINAL(rcResult.codeResult),5);  
  41. END Prog.