REM--------FILE PARMS.BAS COMMON KEYWD$(1),LIBNAME$,RLEN%,TRUE%,AUTH.LEN%,TITL.LEN% COMMON MAXBIB%,MAXDESC%,MAXDEF%,MAXKEYS%,MAXCON%,CONCEPT$(1) COMMON ISS.LEN%,CLS$,ERR%,JOUR.LEN%,KWD.LEN%,CMD$(1) COMMON LFT%(1),RGHT%(1),CON.KEY%(2),CON.RATE(2),QUERY$,L% DIM SPARM%(4) SPACE%=FRE SPACE%=SPACE%-4000 10 PRINT CLS$ PRINT TAB(12);"---PARAMETER DEFINITION FOR "; PRINT LIBNAME$;"---" PRINT PRINT \ "THIS MODULE WILL DEFINE THE PARAMETERS FOR THE " PRINT \ "LIBRARY ";LIBNAME$ INPUT "IF YOU WISH TO STOP ENTER C ELSE S: ";ANS$ IF UCASE$(LEFT$(ANS$,1))<>"C" THEN STOP PRINT \ "**FIRST DEFINE THE ARTICLE RECORD FIELD SIZES**" 12 PRINT \ "YOU HAVE A MAX OF 250 CHARS THAT MAY BE ALLOCATED" PRINT \ "FOR EACH ART RECORD. EACH KEYWORD DESCRIPTOR " PRINT \ "ATTACHED WILL CONSUME THREE OF THESE." INPUT \ "WHAT IS MAX NO. OF DESCRIPTORS PER ARTICLE? ";MAXDESC% PRINT USING \ "YOU HAVE ### CHARACTERS REMAINING.";250-3*MAXDESC% 13 PRINT \ "ENTER MAX FIELD LENGTHS, IN ORDER, FOR AUTHOR, " PRINT \ "TITLE, JOURNAL, AND ISSUE--ALL ON ONE LINE. " PRINT \ "SEPERATE ENTRIES BY ONE OR MORE SPACES AND FOLLOW" PRINT \ "LAST ENTRY WITH RETURN." GOSUB 100 IF V%<>5 THEN \ PRINT "INCORRECT NUMBER OF ENTRIES-- RE-ENTER":\ GOTO 13 AUTH.LEN%=SPARM%(1) : TITL.LEN%=SPARM%(2) JOUR.LEN%=SPARM%(3) : ISS.LEN%=SPARM%(4) RLEN%=AUTH.LEN%+TITL.LEN%+JOUR.LEN%+ISS.LEN% RLEN%=RLEN%+3*(MAXDESC%+1)+2 IF RLEN%>255 THEN \ PRINT USING "RECORD CONTAINS ##### CHARACTERS";RLEN%-5 :\ PRINT "THE MAX IS 250 -PLEASE RE-DEFINE FIELDS": \ GOTO 12 PRINT CLS$ PRINT \ "**NOW SET THE MAX SIZES OF OTHER PARAMETERS**" 40 PRINT \ "ENTER, IN ORDER, THE MAX TO BE ALLOWED FOR :" PRINT \ "CHARS PER KEYWORD, NO OF KEYWORDS IN VOCAB (<256)" PRINT \ "NO CONCEPTS PER INTRGN, NO KEYWORDS PER CONCEPT." PRINT \ "SEPERATE ENTRIES BY SPACES AND AFTER LAST RETURN" GOSUB 100 IF V%<>5 THEN \ PRINT "INCORRECT NO OF ENTRIES-- RE-ENTER" :\ GOTO 40 KWD.LEN%=SPARM%(1) : MAXKEYS%=SPARM%(2) MAXCON%=SPARM%(3) : MAXDEF%=SPARM%(4) IF MAXKEYS%>255 THEN MAXKEYS%=255 INPUT "CAPACITY OF ONE SIDE OF ONE DISC (KBYTES): ";D.CAP KY.FIL%=2*MAXKEYS%*(KWD.LEN%+2) KY.FIL%=1024*(INT%(KY.FIL%/1024)+1) D.CAP=(1000*D.CAP-1024-KY.FIL%)/RLEN% D.CAP=D.CAP-1 RL%=8*(MAXCON%+1)*(MAXDEF%+2) IN%=2*(MAXCON%+1)*(MAXDEF%+1)+4*(MAXCON%+1) ST%=(MAXKEYS%+1)*KWD.LEN% MEM%=(SPACE%-RL%-IN%-ST%)/2 PRINT USING \ "YOU HAVE DISC SPACE FOR ###### ARTICLES. ";D.CAP PRINT USING \ "YOU HAVE MEMORY SPACE FOR ###### ARTICLES.";MEM% IF MEM%MSPACE THEN MAXBIB%=MSPACE CREATE LIBNAME$+".DEF" AS 1 PRINT #1;\ MAXKEYS%,MAXDESC%,MAXDEF%,MAXCON%, \ MAXBIB%,AUTH.LEN%,TITL.LEN%,JOUR.LEN%, \ ISS.LEN%,KWD.LEN% CLOSE 1 CHAIN "BIBLIO" 100 INPUT "> ";DUM$ : I%=1 : V%=1 WHILE (I%" ") AND (I%