* SEAR.CMD - SEAR RECORDS BASED ON USER SELECTION STORE CATEGORY TO CAT STORE TRIM(FILENAME) TO FNAME STORE TRIM(TITLE) TO MTITLE IF FORMAT = " " STORE "SCREEN" TO FMTNAME ELSE STORE FORMAT TO FMTNAME ENDIF STORE NDXNUMB TO SUFFIX STORE LENGTH TO KEYLEN STORE PARM TO STYPE STORE TRIM(KEYNAME) TO KNAME SELECT PRIMARY STORE "DSFILE" TO DSFILE USE &SYS&DSFILE INDEX &SYS&DSFILE&ONE FIND &CAT&FNAME IF # = 0 ERASE @ 3,01 SAY "Sorry but the Filename in the program record you selected is not correct." @ 4,01 SAY "Enter RETURN to return to the menu. Correct the Filename and try again. " WAIT RETURN ENDIF STORE TRIM(FLD:LIST) TO FLIST STORE TRIM(FILE:DESC) TO FDESC IF SUFFIX > "0" .AND. SUFFIX < "7" STORE TRIM(INDEX&SUFFIX) TO KEYNDX STORE TRIM(INDEX&SUFFIX) TO ALLNDX STORE 1 TO COUNT DO WHILE COUNT <= 7 STORE STR(COUNT,1) TO CNT IF INDEX&CNT = " " .OR. CNT = SUFFIX ELSE STORE ALLNDX+","+TRIM(INDEX&CNT) TO ALLNDX ENDIF STORE COUNT + 1 TO COUNT ENDDO ELSE STORE " " TO KEYNDX STORE INDEXES TO ALLNDX ENDIF STORE " " TO RECORD DO WHILE T SELECT PRIMARY USE &FNAME GO BOTTOM STORE # TO LAST SET INDEX TO &KEYNDX GO TOP IF KEYLEN = " " .OR. KEYNDX = " " IF !(RECORD) = "Q" RETURN ENDIF STORE "T" TO MATCH STORE "Listing entire file" TO MDESC STORE " " TO PKEY ELSE ERASE @ 1,10 SAY TMARK + " " + CNAME SET INTE OFF @ 3,10 SAY MTITLE SET INTE ON STORE $(BLANKS,1,&KEYLEN) TO PKEY STORE PKEY TO BKEY @ 5,10 SAY "This program will search the " + FDESC + " file based on" @ 6,10 SAY "your entry of a " + KNAME + " below. Normally you should enter as much" @ 7,10 SAY "of the "+KNAME+" as you know in order to limit the search. " @ 8,10 SAY "Information from each record matching your criteria will be displayed." @ 9,10 SAY "You will then be able to select individual records to view or modify." IF STYPE = "A" @ 10,10 SAY "If the record you are looking for is not there, you may add it." @ 11,10 SAY "ADD will allow you to add new records to the file." ENDIF @ 12,10 SAY "ALL will display all records from the beginning." @ 13,10 SAY "Just RETURN will return you back to the menu." @ 15,10 SAY KNAME+" " GET PKEY READ IF PKEY = BKEY RETURN ENDIF IF !(PKEY) = "ALL" STORE "T" TO MATCH STORE "Listing entire file" TO MDESC ELSE STORE TRIM(PKEY) TO TKEY STORE KNAME+"=TKEY" TO MATCH STORE "Listing for " + KNAME + " = " + TKEY TO MDESC FIND &TKEY ENDIF ENDIF IF !(PKEY) = "ADD" .AND. STYPE = "A" STORE "A" TO RECORD ELSE STORE "DSDISP" TO COMMAND DO &SYS&COMMAND ENDIF IF !(RECORD)="Q" LOOP ENDIF SET INDEX TO &ALLNDX SET FORMAT TO &FMTNAME IF !(RECORD)="A" APPEND ELSE EDIT &RECORD ENDIF SET FORMAT TO SCREEN ENDDO RETURN