home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Professional
/
OS2PRO194.ISO
/
os2
/
prgramer
/
rexx
/
4macrs
/
filter.rex
< prev
next >
Wrap
OS/2 REXX Batch file
|
1993-06-01
|
2KB
|
87 lines
/* Filter */
/*
Creation 93/03/12 by Thomas Korfhage, tel&fax ++49 6446 2931
History
Description
Filtering whole file or slected text with use of filter command
*/
'S_CLEAR_MACRO_OUTPUT'
IF ARG() = 0 THEN
DO
'S_PROMPT Filter Command, args'
IF rc \= 0 THEN EXIT
IF args = "CANCEL" THEN EXIT
END
ELSE DO
args = ARG(1)
END
'S_GET_ENV_INFO SL_TEMP2 TempPath'
TempPath = PathEndSlash(TempPath)
NewClipName = TempPath || "TempFile.$$I"
ClipInName = TempPath || "TempFile.$$O"
'S_GET_CLIP_FILENAME' OldClipName
'S_GET_SELECTED_SIZE Len'
'S_GET_CURR_EDITMODE' IsChanged
IF IsChanged = READONLY THEN DO
'S_MSG File is readonly,,,URES'
EXIT
END
IF Len <= 1 THEN DO
'S_GET_COL_NUM' SavCol
'S_GET_LINE_NUM' SavLin
'S_GET_CURR_CHGSTATUS IsChanged'
'S_GET_CURR_FILENAME OrgName'
IF IsChanged = TRUE THEN 'S_SAVE_CURR_FILE'
'S_CHG_EDITMODE'
erase NewClipName
'S_SAVEAS_CURR_FILE' NewClipName
filtercommand = args || ' < ' || NewClipName || ' > '|| OrgName
filtercommand
URES = rc
IF URES = 0 THEN DO
'S_CLOSE_CURR_FILE'
'S_OPEN_SL_FILE 0 E N' OrgName
'S_GOTO_COL' SavCol
'S_GOTO_LINE' SavLin
END
ELSE DO
'S_GET_REF_FILENAME 5' macro_out
IF URES <> 2 THEN DO
Copy OrgName TempPath || "Filter.ERR"
Copy NewClipName OrgName
say 'Error output in: ' TempPath || 'Filter.ERR'
END
ELSE NOP
'S_MSG ,Filter has ERROR - File is waiting,,URES'
'SLSTART' macro_out
END
EXIT
END
ELSE DO
'S_DISABLE_WINDOW'
'S_RENAME_CLIP_FILE' NewClipName
'S_CUT_SEL_TO_PASTE'
'S_COPY_PASTE_TO_CLIP'
filtercommand = args || ' < ' || NewClipName || ' > '|| ClipInName
filtercommand
IF rc = 0 THEN DO
'S_INSERT_FILE' ClipInName
'S_RENAME_CLIP_FILE' OldClipName
END
ELSE DO
'S_INSERT_PASTE'
'S_MSG Filter has ERROR - File is waiting,,,URES'
'S_GET_REF_FILENAME 5' macro_out
'SLSTART' macro_out
END
'S_ENABLE_WINDOW'
END
EXIT
PathEndSlash: PROCEDURE
Path = ARG(1)
IF Right(Path,1) \= "\" THEN Path = Path || "\"
RETURN Path
END