home *** CD-ROM | disk | FTP | other *** search
- -- This program creates a tabulation block. You enter the number of rows,
- -- number of columns, spacing between rows, spacing of each column,
- -- and color of lines.
-
- PROC MAIN
-
- INTEGER NC,I,NR,NDIGS,C
- REAL HS(25),VS,VL,HL
- COORD POS,END1,END2
- STRING WT:1
-
- BREAK_CHAR = 3
- CLEAR 1
-
- HL = 0.0
-
- ECHO OFF; SEND; SEND "SET SCROLL 10"; ECHO ON
-
- PRINT "This UPL program creates a tabulation block. You enter: "
- PRINT
- PRINT " 1) the number of columns"
- PRINT " 2) the horizontal spacing for each column"
- PRINT " 3) the number of rows"
- PRINT " 4) the vertical spacing of the rows"
- PRINT " 5) the color of the lines "
- PRINT
- PRINT "press a key to continue ..."
-
- ACCEPT WT, NEWLINE
-
- ECHO OFF; SEND; SEND "SET SCROLL 3"; ECHO ON
-
- LOOP
- ACCEPT NC PROMPT('Enter # of columns (min=1, max=25): '), NEWLINE
- EXIT WHEN NC <= 25 AND NC > 0
- PRINT "You must enter a number between 1 and 25, try again ..."
- END LOOP
-
- CLEAR 1
-
- LOOP I = 1 TO NC
- PRINT "Enter horizontal spacing for column ",I,": ",
- ACCEPT HS(I), NEWLINE
- END_LOOP
-
- ACCEPT NR PROMPT('Enter number of rows: '), NEWLINE
- ACCEPT VS PROMPT('Enter vertical spacing: '), NEWLINE
- ACCEPT C PROMPT('Enter color (integer only): '), NEWLINE
-
- PRINT "Digitize lower left corner of table: ",
- GETDIG(1,1,NDIGS,POS)
-
- CLEAR 1
-
- VL = VS*REAL(NR)
-
- LOOP I = 1 TO NC
- HL = HL+HS(I)
- END_LOOP
-
- END1 = POS
- END2 = POS; END2.X = END2.X+HL
-
- LOOP I = 1 TO NR+1
- INSERT LINE COLOR(C) ENDS(END1,END2), RPNT(TRUE)
- END1.Y = END1.Y+VS; END2.Y = END2.Y+VS
- END_LOOP
-
- END1 = POS
- END2 = POS; END2.Y = END2.X+VL
-
- LOOP I = 1 TO NC+1
- INSERT LINE ENDS(END1,END2), RPNT(TRUE)
- END1.X = END1.X+HS(I); END2.X = END2.X+HS(I)
- END_LOOP
-
- END PROC