1 %TITLE "VPWEDIT" %IDENT "1.1" ! !++ %SBTTL "Program Description" ! VPW edit function is to exactly mimic the standard EDT with ! the exception that one is able to access a DCL window from ! within EDT and send the output from a single shot DCL command ! to a clipboard. ! ! Environmental Requirements: ! ! Operating System: VAX/VMS V4.0 ! Environment: Normal User mode ! ! ! Re-build Procedure: ! Command Procedures: VPWEDIT.COM ! Libraries: none ! ! Documents: VMS EDT manual ! ! ! ! Written By: James G. Downward ! KMS Fusion, Inc. ! P.O. Box 1567 ! Ann Arbor, Mich. 48106 ! ! Date: 23-Aug-1984 ! ! Change Log: ! ! Date | Initials | Ident | Description !---------------+-----------+-------+----------------------------------- ! !- ! 2 EXTERNAL INTEGER FUNCTION CLI$PRESENT,CLI$GET_VALUE EXTERNAL INTEGER CONSTANT CLI$_PRESENT,CLI$_DEFAULTED EXTERNAL INTEGER CONSTANT CLI$_NEGATED,CLI$_ABSENT EXTERNAL INTEGER CONSTANT EDT$M_RECOVER,EDT$M_NOCOMMAND EXTERNAL INTEGER CONSTANT EDT$M_NOJOURNAL,EDT$M_NOOUTPUT EXTERNAL INTEGER CONSTANT EDT$M_NOCREATE EXTERNAL INTEGER EDT$FILEIO EXTERNAL INTEGER EDT$WORKIO EXTERNAL INTEGER AXLATE EXTERNAL INTEGER FUNCTION EDT$EDIT DECLARE INTEGER RESULT DIM INTEGER PASSFILE(1%) DIM INTEGER PASSWORK(1%) DIM INTEGER PASSXLATE(1%) PASSFILE(0%)=LOC(EDT$FILEIO) PASSWORK(0%)=LOC(EDT$WORKIO) PASSXLATE(0%)=LOC(AXLATE) DECLARE LONG Ret_Status,Options Input_File$="" Output_File$="" Journal_File$="" Command_File$="" ON ERROR GOTO 1000 10 IF CLI$PRESENT('INPUT') AND 1% THEN CALL CLI$GET_VALUE('INPUT',Input_File$) END IF 20 IF CLI$PRESENT('RECOVER') and 1% THEN OPTIONS=OPTIONS+EDT$M_RECOVER END IF 30 IF CLI$PRESENT('READ_ONLY') AND 1% THEN OPTIONS=OPTIONS+EDT$M_NOOUTPUT END IF 50 Ret_Status=CLI$PRESENT('COMMAND') IF (Ret_Status = CLI$_Present) THEN CALL CLI$GET_VALUE('COMMAND',Command_file$) ELSE IF (Ret_Status = CLI$_DEFAULTED) THEN REM PRINT 'Use default command file' ELSE IF (Ret_Status = CLI$_NEGATED) THEN Command_File$="" OPTIONS=OPTIONS+EDT$M_NOCOMMAND END IF 60 IF CLI$PRESENT('OUTPUT') AND 1% THEN CALL CLI$GET_VALUE('OUTPUT',Output_File$) ELSE REM PRINT 'Default to output=input' END IF 70 Ret_Status=CLI$PRESENT('JOURNAL') IF Ret_Status = CLI$_Present THEN CALL CLI$GET_VALUE('JOURNAL',Journal_File$) REM PRINT 'Explicit Journal file present = ';Journal_File$ ELSE IF Ret_Status = CLI$_DEFAULTED THEN REM Print 'Use default journal file' ELSE OPTIONS=OPTIONS+EDT$M_NOJOURNAL END IF 80 Ret_Status=CLI$PRESENT('CREATE') IF Ret_Status = CLI$_Negated THEN OPTIONS=OPTIONS+EDT$M_NOCREATE END IF 90 RESULT=EDT$EDIT(Input_File$,Output_File$,& Command_File$,Journal_File$,Options,& PASSFILE(0%)BY REF,PASSWORK(0%)BY REF,& PASSXLATE(0%)BY REF) 100 IF (RESULT AND 1%) =0% THEN PRINT "VPWEDIT -- Call to EDT$EDIT failed, GET HELP" CALL LIB$STOP(RESULT BY VALUE) END IF GOTO 32000 1000 RESUME 32000 32000 END