home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
CP/M
/
CPM_CDROM.iso
/
mbug
/
mbug104.arc
/
DBLABELS.LQR
/
LABEL.CMD
next >
Wrap
OS/2 REXX Batch file
|
1979-12-31
|
5KB
|
245 lines
* LABEL 9/21/83 WHD VER 1
SET TALK OFF
RELEASE
SET EJECT OFF
SET FORMAT TO PRINT
ERASE
? "Welcome to DuBay's Marvelous Label Maker"
?
?
?
?
STORE 0 TO FI0
INPUT "HOW MANY FILES TO PRINT OUT (1-9)? " TO FINUM
?
? "PLEASE ENTER THE FILENAME(S) IN THE ORDER TO BE PRINTED"
?
DO WHILE FI0 < FINUM
STORE "NAM" + STR(FI0+1,1) TO FNAME
STORE "FILE NUMBER "+STR(FI0+1,1) TO QUERY
ACCEPT "&QUERY" TO &FNAME
STORE FI0+1 TO FI0
ENDDO
ERASE
?
?
ACCEPT "CONDITIONAL PRINTOUT (Y/N)? " TO CP
IF CP = "Y"
?
ACCEPT "ENTER THE NAME OF THE FIELD TO BE TESTED" TO TESTFLD
?
INPUT "HOW MANY TESTS TO BE APPLIED TO THE FIELD (1-9)" TO TESTNUM
?
STORE 0 TO T1
? "ENTER THE TESTS TO BE APPLIED"
?
DO WHILE T1 < TESTNUM
STORE "TEST"+STR(T1+1,1) TO TEST
STORE "ENTER TEST #"+STR(T1+1,1) TO QUERY
ACCEPT "&QUERY" TO &TEST
STORE T1 + 1 TO T1
ENDDO
?
?
INPUT "SELECT (1) OR DESELECT (2) THE RECORD" TO SC
ENDIF
ERASE
?
?
?
?
?
INPUT "HOW MANY LABELS PER LINE (1-4)?" TO ACROSS
?
IF ACROSS > 1
INPUT "TAB FOR SECOND LABEL?" TO TAB2
IF ACROSS > 2
?
INPUT "TAB FOR THIRD LABEL?" TO TAB3
IF ACROSS > 3
?
INPUT "TAB FOR FOURTH LABEL?" TO TAB4
ENDIF
ENDIF
ENDIF
?
INPUT "VERTICAL SPACES BETWEEN LABELS?" TO VERT
ERASE
?
?
?
? "PLEASE WAIT"
?
?
STORE 0 TO NUMBER
STORE 0 TO C3
STORE 0 TO FI0
STORE 0 TO LINE
* MAIN LOOP - do all files
DO WHILE FI0 < FINUM
* GET FILE
STORE "NAM" + STR(FI0+1,1) TO FNAME
USE &&FNAME
* NOT YET EOF LOOP
DO WHILE .NOT. EOF
STORE C3 TO C2
* FORMAT RECORDS AND LINES LOOP
DO WHILE .NOT. EOF .AND. C2<ACROSS
* SKIP RECORDS MARKED FOR DELETION
IF *
SKIP
LOOP
ENDIF
* TEST RECORDS FOR CONDITIONS
IF CP = "Y"
STORE &TESTFLD TO &TESTFLD
STORE 0 TO T1
STORE f TO T2
DO WHILE .NOT. T2 .AND. T1 < TESTNUM
STORE "TEST" + STR(T1+1,1) TO TEST
IF @ ('&&TEST','&&TESTFLD') >0
STORE t TO T2
LOOP
ENDIF
STORE T1 + 1 TO T1
ENDDO
IF .NOT. T2 .AND. SC=1
SKIP
LOOP
ENDI
IF T2 .AND. SC=2
SKIP
LOOP
ENDIF
ENDIF
* SWITCH FIRST AND LAST NAMES
STORE @ (',',NAME) TO POS
IF POS <> 0
STORE TRIM(NAME) TO NA
STORE LEN(NA) TO LEN
STORE $(NA,1,POS-1) TO LAST
STORE $(NA,POS+2,LEN-(POS+1)) TO FIRST
STORE FIRST+' '+LAST TO NA
ELSE
STORE NAME TO NA
ENDIF
* REMOVE BLANK LINES IN FIRST AND SECOND FIELDS
IF COMPANY = ' '
STORE NA TO CO
STORE ' ' TO NA
ELSE
STORE COMPANY TO CO
ENDIF
IF STREET = ' '
STORE CO TO ST
STORE ' ' TO NA
ELSE
STORE STREET TO ST
ENDIF
IF C2=0
STORE NA TO NAME1
STORE CO TO COMPANY1
STORE ST TO STREET1
IF LEN(TRIM(ZIP))<4
STORE ' ' TO ZIP
ENDIF
STORE TRIM(CITY)+', '+TRIM(STATE)+' '+TRIM(ZIP) TO LINE1
ENDIF
IF C2=1 .AND. .NOT. EOF
STORE NA TO NAME2
STORE CO TO COMPANY2
STORE ST TO STREET2
IF LEN(TRIM(ZIP))<4
STORE ' ' TO ZIP
ENDIF
STORE TRIM(CITY)+', '+TRIM(STATE)+' '+TRIM(ZIP) TO LINE2
ENDIF
IF C2=2 .AND. .NOT. EOF
STORE NA TO NAME3
STORE CO TO COMPANY3
STORE ST TO STREET3
IF LEN(TRIM(ZIP))<4
STORE ' ' TO ZIP
ENDIF
STORE TRIM(CITY)+', '+TRIM(STATE)+' '+TRIM(ZIP) TO LINE3
ENDIF
IF C2=3 .AND. .NOT. EOF
STORE CO TO COMPANY4
STORE ST TO STREET4
IF LEN(TRIM(ZIP))<4
STORE ' ' TO ZIP
ENDIF
STORE TRIM(CITY)+', '+TRIM(STATE)+' '+TRIM(ZIP) TO LINE4
ENDIF
STORE C2+1 TO C2
STORE NUMBER+1 TO NUMBER
SKIP
ENDDO
* SET LABEL POINTER
IF EOF .AND. FI0+1 < FINUM .AND. C2 < ACROSS
STORE C2 TO C3
* GET OUT OF THIS LOOP AND SEE IF THERE IS ANOTHER FILE
ENDIF
*PRINT LABELS
@ LINE,0 SAY NAME1
IF C2 > 1
@ LINE,TAB2 SAY NAME2
ENDIF
IF C2 > 2
@ LINE,TAB3 SAY NAME3
ENDIF
IF C2 > 3
@ LINE,TAB4 SAY NAME4
ENDIF
@ LINE+1,0 SAY COMPANY1
IF C2 > 1
@ LINE+1,TAB2 SAY COMPANY2
ENDIF
IF C2 > 2
@ LINE+1,TAB3 SAY COMPANY3
ENDIF
IF C2 > 3
@ LINE+1,TAB4 SAY COMPANY4
ENDIF
@ LINE+2,0 SAY STREET1
IF C2 > 1
@ LINE+2,TAB2 SAY STREET2
ENDIF
IF C2 > 2
@ LINE+2,TAB3 SAY STREET3
ENDIF
IF C2 > 3
@ LINE+2,TAB4 SAY STREET4
ENDIF
@ LINE+3,0 SAY LINE1
IF C2 >1
@ LINE+3,TAB2 SAY LI
IF C2 > 2
@ LINE+3,TAB3 SAY LINE3
IF C2 > 3
@ LINE+3,TAB4 SAY LINE3
ENDIF
ENDIF
ENDIF
STORE LINE+VERT+4 TO LINE
STORE 0 TO C3
* END OF NOT EOF LOOP
ENDDO
*END OF GET NEW FILE LOOP
STORE FI0 +1 TO FI0
ENDDO
SET FORMAT TO SCREEN
? 'THERE ARE',NUMBER,'LABELS PRINTED!'
DO
*END OF GET NEW FILE LOOP
STORE FI0 +1 TO FI0
ENDDO
SET