tldm-universe/Ardent/UV/APP.PROGS/WRAP.PRINT
2024-09-09 17:51:08 -04:00

88 lines
2.4 KiB
Plaintext
Executable File

*******************************************************************************
*
* SQL catalog verification tool.
*
* Module %M% Version %I% Date %H%
*
* (c) Copyright 1998 Ardent Software Inc. - All Rights Reserved
* This is unpublished proprietary source code of Ardent Software Inc.
* The copyright notice above does not evidence any actual or intended
* publication of such source code.
*
*******************************************************************************
*
* Maintenance log - insert most recent change descriptions at top
*
* Date.... GTAR# WHO Description.........................................
* 10/14/98 23801 SAP Change copyrights.
* 07/18/93 10131 DPB Initial creation of catalog verification tool.
*
*******************************************************************************
*
* WRAP.PRINT( text, length, indent, rindent )
*
* This subroutine will wrap the input text on word breaks near 'length', and
* will indent the lines by 'indent' number of spaces.
*
* text The text that needs to be wraped.
* length The length of the largest line possible on the screen.
* indent The number of spaces to indent the output lines.
* rindent The number of spaces to indent all but the first line.
*
*******************************************************************************
SUBROUTINE WRAP.PRINT( text, length, indent, rindent)
INCLUDE UNIVERSE.INCLUDE VERIFY.COM
pline = text
done = 0
first = 1
LOOP
IF first
THEN
IF LEN(pline)+indent < length
THEN
done = 1
IF LEN(pline) THEN PRINT STR(" ",indent):pline
END
END
ELSE
IF LEN(pline)+indent+rindent < length
THEN
done = 1
IF LEN(pline) THEN PRINT STR(" ",indent):STR(" ",rindent):pline
END
END
WHILE NOT(done)
pline = STR(" ",indent):pline
IF first
THEN
first = 0
END
ELSE
pline = STR(" ",rindent):pline
END
finished = 0
I = length
LOOP
IF (I < (length/2)) OR (pline[I,1] = " ") THEN finished = 1
WHILE NOT(finished)
I = I - 1
REPEAT
IF I < (length/2)
THEN
PRINT ON Pchan pline[1,(length-5)]
pline = pline[(length-5)+1,LEN(pline)]
END
ELSE
PRINT ON Pchan pline[1,I]
pline = pline[I+1,LEN(pline)]
END
REPEAT
RETURN