home *** CD-ROM | disk | FTP | other *** search
- DEFINT A - Z
- DIM MainMenu$(1:8)
-
- COLOR 0,0
- CLS
- CALL ProgramHeader(" Loading... ")
-
- CountDown&=INT(TIMER)
- COLOR 14,0
- FirstRun=-1
- LOCATE 9,30
- PRINT "COMICS Version 1.5"
- LOCATE 12,33
- PRINT "written by"
- LOCATE 15,30
- PRINT "Jeffrey C. Bangle"
-
-
- CALL dbInit
- CALL ScrnInit
- CALL InitEntry
- NoBox%=0
- KEY OFF
-
-
- RestartProgramHere:
- Restart = 0
-
- $INCLUDE "COMICS.INC"
-
-
-
- IF fnFileExists("DEFAULTS.DAT") THEN
- OPEN "DEFAULTS.DAT" FOR INPUT AS #1
- INPUT# 1, SoundOn$, CopyFromPath$, CopyToPath$
- CLOSE #1
- ELSE
- SoundOn$ = "Y"
- CopyFromPath$ = "A:\ "
- CopyToPath$ = "B:\ "
- OPEN "DEFAULTS.DAT" FOR OUTPUT AS #1
- WRITE #1, SoundOn$, CopyFromPath$, CopyToPath$
- CLOSE #1
- END IF
-
-
- WHILE (NOT INSTAT) AND ((CountDown&+10)>TIMER) AND (CountDown&<TIMER)_
- AND (FirstRun)
- ' PAUSE
- WEND
- FirstRun=0
- DO
- CALL ClrArea(3,23,1,80)
- CALL ProgramHeader(" Main Menu ")
-
- CALL DrawBox(7,16,31,47,23)
-
- MainMenu$(1)=" Add Records "
- MainMenu$(2)=" Edit Records "
- MainMenu$(3)=" List Records "
- MainMenu$(4)=" Rebuild Files "
- MainMenu$(5)=" Copy Files "
- MainMenu$(6)=" Set Defaults "
- MainMenu$(7)=" DOS Shell "
- MainMenu$(8)=" Quit "
- EscPressed=-1
- CapsOn%=-1
- DO
-
- CALL Choose(8,32,MenuPick%, 8, 8, MainMenu$(),0,-1,"AELRCSDQ")
- IF EscPressed THEN
- CALL WarningBeep
- ELSE
- EXIT LOOP
- END IF
- LOOP
-
- IF MenuPick%=1 THEN
- CALL AddComics
- ELSEIF MenuPick%=2 THEN
- CALL EditComics
- ELSEIF MenuPick%=3 THEN
- CALL ListComics
- ELSEIF MenuPick%=4 THEN
- CALL ClrArea(3,23,1,80)
- CALL ProgramHeader(" Rebuild Files ")
- IF ( FNFreeSpace&(0) < ( LOF(3)+LOF(4) ) ) THEN
- COLOR 14,0
- LOCATE 5,1
- PRINT "Insufficient disk space available to rebuild files"
- CALL WarningBeep
- WHILE NOT INSTAT: WEND
- Choice$ = INKEY$
- ELSE
- CALL dbClose(Comics.file)
- $INCLUDE "MYREBILD.BAS"
- WHILE NOT INSTAT:WEND
- Choice$ = INKEY$
- Comics.file=0
- Restart = -1
- END IF
- ELSEIF MenuPick%=5 THEN
- IF fnFileExists( ENVIRON$("COMSPEC") ) THEN
- CALL dbClose(Comics.file)
- CALL CopyComics
- Comics.file=0
- Restart = -1
- ELSE
- CALL DrawBox(21,23,27,52,23)
- LOCATE 22,29
- COLOR 14,1
- PRINT "COMMAND.COM not found."
- CALL WarningBeep
- WHILE NOT INSTAT: WEND
- Choice$ = INKEY$
- END IF
- ELSEIF MenuPick%=6 THEN
- CALL SetDefaults(SoundOn$, CopyFromPath$, CopyToPath$)
- ELSEIF MenuPick%=7 THEN
- IF fnFileExists( ENVIRON$("COMSPEC") ) THEN
- CALL dbClose(Comics.file)
- COLOR 7,0
- CLS
- SHELL
- COLOR 7,0
- CLS
- Comics.file=0
- Restart = -1
- ELSE
- CALL DrawBox(21,23,27,52,23)
- LOCATE 22,29
- COLOR 14,1
- PRINT "COMMAND.COM not found."
- CALL WarningBeep
- WHILE NOT INSTAT: WEND
- Choice$ = INKEY$
- END IF
- ELSEIF MenuPick%=8 THEN
- EXIT LOOP
- END IF
- IF FRE("")<20000 OR FRE(-1)<20000 THEN 'Unsuccessful attempt to trap error
- CALL DrawBox(21,23,27,51,23)
- COLOR 14,1
- LOCATE 22,29
- PRINT "Program out of memory"
- CALL WarningBeep
- WHILE NOT INSTAT:WEND
- EXIT LOOP
- ELSE
- IF Restart = -1 THEN GOTO RestartProgramHere:
- END IF
- LOOP
-
- CALL dbClose(Comics.file)
- COLOR 7,0
- CLS
- END
-
-
-
- DEF FNDateString$
- LOCAL Day$, Month$, Year$, Month
- Day$ = MID$(DATE$,4,2)
- Month = VAL(MID$(DATE$,1,2))*3
- Month$= MID$(" JANFEBMARAPRMAYJUNJULAUGSEPOCTNOVDEC",_
- Month,3)
- Year$ = MID$(DATE$,9,2)
- FNDateString$ = Day$+" "+Month$+" "+Year$
- END DEF
-
-
-
- SUB ListComics
- SHARED CapsOn, EscPressed, WherePrint$
-
- STATIC ListPick%
-
- DIM STATIC ListMenu$(1:4)
- ListMenu$(1)=" Inventory List "
- ListMenu$(2)=" Location List "
- ListMenu$(3)=" Search List "
- ListMenu$(4)=" Quick Report "
-
- WHILE EscPressed=%False
- CALL ClrArea(3,24,1,80)
- CALL ProgramHeader(" List Records ")
- CALL DrawBox(7,12,31,48,23)
- CapsOn%=-1
-
- CALL Choose(8,32,ListPick%, 4, 4, ListMenu$(),0,-1,"ILSQ")
-
- IF EscPressed THEN EXIT LOOP
-
- CALL DrawBox(20, 22, 18, 62, 23)
- WherePrint$ = "S"
- COLOR 11,1
- LOCATE 21,20
- PRINT "Send report to Screen or Printer? [S/P]";
- CALL UserEntry(1, 1, "SP", 21, 60, 30, chr$(13)+chr$(27),_
- 0, WherePrint$, Changed, ExitKey)
-
- IF ExitKey=13 THEN
- IF ListPick%=1 THEN
- CALL InventoryList
- ELSEIF ListPick%=2 THEN
- CALL LocationList
- ELSEIF ListPick%=3 THEN
- CALL SearchList
- ELSEIF ListPick%=4 THEN
- CALL QuickReport
- END IF
- EscPressed=0
- END IF
- WEND
- END SUB
-
-
- SUB InventoryList
- SHARED CapsOn, Comics.File, dbStatus, Comics.Title$, Comics.Volume$,_
- Comics.Issue$, Comics.Price$, Comics.Mint$, Comics.Fine$,_
- Comics.Good$, Comics.Total$, Comics.WorthTotal$, WherePrint$
-
- LOCAL CLine%, KeyVal$, Where$, PageNum
-
- CALL ClearKey (Comics.File)
- CALL dbNext (Comics.File, KeyVal$)
- CALL ClrArea(4,24,1,80)
- CALL ProgramHeader(" Inventory List ")
- Where$ = " "
-
- IF WherePrint$="P" THEN
-
- PageNum=1
- WHILE (dbStatus=0) AND ( Where$<>CHR$(27) )
- COLOR 11,0
- LOCATE 5,1
- PRINT "Printing..."
- LPRINT CHR$(13);
- LPRINT
- LPRINT "Page:"; PageNum; SPC(62); FNDateString$
- LPRINT
- LPRINT SPC(30); "COMIC BOOK INVENTORY"
- LPRINT
- LPRINT "Vol Issue Title "+_
- " Mint Fine Good Total Worth"
- LPRINT "=== ===== =============================="+_
- "========== ==== ==== ==== ===== ========";
- LPRINT
- CLine% = 1
- WHILE (CLine%<51) AND (dbStatus=0)
- LPRINT SPC(1); Comics.Volume$;
- LPRINT SPC(3); Comics.Issue$;
- LPRINT SPC(2); Comics.Title$;
- LPRINT SPC(1); Comics.Mint$;
- LPRINT SPC(2); Comics.Fine$;
- LPRINT SPC(2); Comics.Good$;
- LPRINT SPC(2); Comics.Total$;
- LPRINT SPC(3); "$";
- LPRINT USING "####.##"; VAL(Comics.WorthTotal$);
- INCR CLine%
- CALL dbNext (Comics.File, KeyVal$)
- WEND
- LPRINT chr$(12)
- INCR PageNum
- IF dbStatus=0 THEN CALL KeyPause(5, Where$)
- CALL ClrArea(5,24,1,80)
- WEND
- ELSE
- COLOR 11,0
- LOCATE 4,1
- PRINT "Vol Issue Title "+_
- " Mint Fine Good Total Worth"
- WHILE dbStatus=0 AND ( Where$<>CHR$(27) )
- CLine% = 5
- COLOR 14,0
- WHILE (CLine%<23) AND (dbStatus=0)
- LOCATE CLine%,2 :PRINT Comics.Volume$;
- LOCATE CLine%,6 :PRINT Comics.Issue$;
- LOCATE CLine%,11:PRINT Comics.Title$;
- LOCATE CLine%,52:PRINT Comics.Mint$;
- LOCATE CLine%,57:PRINT Comics.Fine$;
- LOCATE CLine%,62:PRINT Comics.Good$;
- LOCATE CLine%,67:PRINT Comics.Total$;
- LOCATE CLine%,73:PRINT "$";
- PRINT USING "####.##"; VAL(Comics.WorthTotal$);
- INCR CLine%
- CALL dbNext (Comics.File, KeyVal$)
- WEND
- COLOR 11,0
- CALL KeyPause(24, Where$)
- CALL ClrArea(5,24,1,80)
- WEND
- END IF
- END SUB
-
-
-
- SUB LocationList
- SHARED CapsOn, Comics.File, dbStatus, Comics.Title$, Comics.Volume$,_
- Comics.Issue$, Comics.Price$, Comics.Mint$, Comics.Fine$,_
- Comics.Good$, Comics.Total$, Comics.WorthTotal$,_
- WherePrint$, Comics.Box$
-
- LOCAL CLine%, KeyVal$, Where$, PageNum, Search$, Changed, ExitKey,_
- TotalMint%, TotalFine%, TotalGood%, GrandTotal%, TotalWorth!
-
- TotalMint%=0
- TotalFine%=0
- TotalGood%=0
- GrandTotal%=0
- TotalWorth!=0
-
- CALL ClearKey (Comics.File)
- CALL dbNext (Comics.File, KeyVal$)
- CALL ClrArea(4,24,1,80)
- CALL ProgramHeader(" Location List ")
- Where$ = " "
-
- CALL DrawBox(12, 14, 28, 51, 23)
- Search$=""
- COLOR 11,1
- LOCATE 13, 30:PRINT "Enter Box Number:";
- CALL UserEntry(2, 2, " 1234567890", 13, 48, 30, chr$(13)+chr$(27),_
- 0, Search$, Changed, ExitKey)
- CALL ClrArea(4,24,1,80)
- Search$=FNTrim$(Search$)
- IF ExitKey=27 OR Search$="" THEN EXIT SUB
-
- CALL ProgramHeader(" Location List - Box "+Search$+" ")
-
- IF WherePrint$="P" THEN
-
- PageNum=1
- WHILE (dbStatus=0) AND ( Where$<>CHR$(27) )
- COLOR 11,0
- LOCATE 5,1
- PRINT "Printing..."
- LPRINT CHR$(13);
- LPRINT
- LPRINT "Page:"; PageNum; SPC(62); FNDateString$
- LPRINT
- LPRINT SPC(26); "COMIC BOOK INVENTORY -- BOX "+Search$
- LPRINT
- LPRINT "Vol Issue Title "+_
- " Mint Fine Good Total Worth"
- LPRINT "=== ===== =============================="+_
- "========== ==== ==== ==== ===== ========";
- LPRINT
- CLine% = 1
- WHILE (CLine%<51) AND (dbStatus=0)
- IF VAL(Comics.Box$)=VAL(Search$) THEN
- LPRINT SPC(1); Comics.Volume$;
- LPRINT SPC(3); Comics.Issue$;
- LPRINT SPC(2); Comics.Title$;
- LPRINT SPC(1); Comics.Mint$;
- LPRINT SPC(2); Comics.Fine$;
- LPRINT SPC(2); Comics.Good$;
- LPRINT SPC(2); Comics.Total$;
- LPRINT SPC(3); "$";
- LPRINT USING "####.##"; VAL(Comics.WorthTotal$);
- TotalMint%=TotalMint%+VAL(Comics.Mint$)
- TotalFine%=TotalFine%+VAL(Comics.Fine$)
- TotalGood%=TotalGood%+VAL(Comics.Good$)
- GrandTotal%=GrandTotal%+VAL(Comics.Total$)
- TotalWorth!=TotalWorth!+VAL(Comics.WorthTotal$)
- INCR CLine%
- END IF
- CALL dbNext (Comics.File, KeyVal$)
- WEND
-
- IF dbStatus<>0 THEN
- LPRINT SPC(51); "==== ==== ==== ===== ========";
- LPRINT SPC(35); "***Totals***";
- LPRINT SPC( 3);
- LPRINT USING "####"; TotalMint%;
- LPRINT SPC( 1);
- LPRINT USING "####"; TotalFine%;
- LPRINT SPC( 1);
- LPRINT USING "####"; TotalGood%;
- LPRINT SPC( 1);
- LPRINT USING "####"; GrandTotal%;
- LPRINT SPC( 3); "$";
- LPRINT USING "####.##"; TotalWorth!;
- END IF
-
- LPRINT chr$(12)
- INCR PageNum
- IF dbStatus=0 THEN CALL KeyPause(5, Where$)
- CALL ClrArea(5,24,1,80)
- WEND
- ELSE
- COLOR 11,0
- LOCATE 4,1
- PRINT "Vol Issue Title "+_
- " Mint Fine Good Total Worth"
- WHILE dbStatus=0 AND ( Where$<>CHR$(27) )
- CLine% = 5
- COLOR 14,0
- WHILE (CLine%<23) AND (dbStatus=0)
- IF VAL(Comics.Box$)=VAL(Search$) THEN
- LOCATE CLine%,2 :PRINT Comics.Volume$;
- LOCATE CLine%,6 :PRINT Comics.Issue$;
- LOCATE CLine%,11:PRINT Comics.Title$;
- LOCATE CLine%,52:PRINT Comics.Mint$;
- LOCATE CLine%,57:PRINT Comics.Fine$;
- LOCATE CLine%,62:PRINT Comics.Good$;
- LOCATE CLine%,67:PRINT Comics.Total$;
- LOCATE CLine%,73:PRINT "$";
- PRINT USING "####.##"; VAL(Comics.WorthTotal$);
- TotalMint%=TotalMint%+VAL(Comics.Mint$)
- TotalFine%=TotalFine%+VAL(Comics.Fine$)
- TotalGood%=TotalGood%+VAL(Comics.Good$)
- GrandTotal%=GrandTotal%+VAL(Comics.Total$)
- TotalWorth!=TotalWorth!+VAL(Comics.WorthTotal$)
- INCR CLine%
- END IF
- CALL dbNext (Comics.File, KeyVal$)
- WEND
- IF dbStatus<>0 THEN
- IF CLine%>23 THEN
- dbStatus=0
- CALL KeyPause(24, Where$)
- CALL ClrArea(5,24,1,80)
- CLine%=6
- COLOR 14,0
- LOCATE CLINE%,36:PRINT "***Totals***"
- LOCATE CLine%,51:PRINT USING "####"; TotalMint%;
- LOCATE CLine%,56:PRINT USING "####"; TotalFine%;
- LOCATE CLine%,61:PRINT USING "####"; TotalGood%;
- LOCATE CLine%,66:PRINT USING "####"; GrandTotal%;
- LOCATE CLine%,73:PRINT "$";
- PRINT USING "####.##"; TotalWorth!;
- ELSE
- IF CLine%>5 THEN
- COLOR 11,0
- LOCATE CLine%, 52
- PRINT "==== ==== ==== ===== ========"
- END IF
- COLOR 14,0
- LOCATE CLINE%+1,36:PRINT "***Totals***"
- LOCATE CLine%+1,51:PRINT USING "####"; TotalMint%;
- LOCATE CLine%+1,56:PRINT USING "####"; TotalFine%;
- LOCATE CLine%+1,61:PRINT USING "####"; TotalGood%;
- LOCATE CLine%+1,66:PRINT USING "####"; GrandTotal%;
- LOCATE CLine%+1,73:PRINT "$";
- PRINT USING "####.##"; TotalWorth!;
- END IF
- CALL KeyPause(24, Where$)
- ELSE
- CALL KeyPause(24, Where$)
- CALL ClrArea(5,24,1,80)
- END IF
- WEND
- END IF
- END SUB
-
-
- SUB SearchList
- SHARED CapsOn, Comics.File, dbStatus, Comics.Title$, Comics.Volume$,_
- Comics.Issue$, Comics.Price$, Comics.Mint$, Comics.Fine$,_
- Comics.Good$, Comics.Total$, Comics.WorthTotal$,_
- WherePrint$, NoBox%
-
- LOCAL CLine%, KeyVal$, Where$, PageNum, Search$, Changed, ExitKey,_
- TotalMint%, TotalFine%, TotalGood%, GrandTotal%, TotalWorth!
-
- STATIC SearchField%, SearchQuery%, SearchValue$, Searching$, Abort%, N
-
- TotalMint%=0
- TotalFine%=0
- TotalGood%=0
- GrandTotal%=0
- TotalWorth!=0
-
-
- CALL ClearKey (Comics.File)
- CALL dbNext (Comics.File, KeyVal$)
- CALL ClrArea(4,24,1,80)
- CALL ProgramHeader(" Search List ")
- Where$ = " "
-
- CALL Searcher(SearchField%, SearchQuery%, SearchValue$, Searching$, Abort%)
- IF Abort% THEN EXIT SUB
-
- CALL ClearKey (Comics.File)
- CALL ContinueSearch(SearchField%,SearchQuery%,SearchValue$,Searching$,-1)
-
- IF dbStatus<>0 THEN
- COLOR 14,0
- LOCATE 5,1
- PRINT "Search Value not found..."
- CALL WarningBeep
- WHILE NOT INSTAT:WEND
- Where$ = INKEY$
- EXIT SUB
- END IF
-
- IF WherePrint$="P" THEN
-
- PageNum=1
- WHILE (dbStatus=0) AND ( Where$<>CHR$(27) )
- COLOR 11,0
- LOCATE 5,1
- PRINT "Printing..."
- LPRINT CHR$(13);
- LPRINT
- LPRINT "Page:"; PageNum; SPC(62); FNDateString$
- LPRINT
- LPRINT SPC(28); "COMIC BOOK INVENTORY FOR"
- LPRINT SPC(40- (LEN(FNTrim$(Searching$))/2) ); Searching$
- LPRINT
- LPRINT "Vol Issue Title "+_
- " Mint Fine Good Total Worth"
- LPRINT "=== ===== =============================="+_
- "========== ==== ==== ==== ===== ========";
- LPRINT
- CLine% = 1
- WHILE (CLine%<51) AND (dbStatus=0)
- LPRINT SPC(1); Comics.Volume$;
- LPRINT SPC(3); Comics.Issue$;
- LPRINT SPC(2); Comics.Title$;
- LPRINT SPC(1); Comics.Mint$;
- LPRINT SPC(2); Comics.Fine$;
- LPRINT SPC(2); Comics.Good$;
- LPRINT SPC(2); Comics.Total$;
- LPRINT SPC(3); "$";
- LPRINT USING "####.##"; VAL(Comics.WorthTotal$);
- TotalMint%=TotalMint%+VAL(Comics.Mint$)
- TotalFine%=TotalFine%+VAL(Comics.Fine$)
- TotalGood%=TotalGood%+VAL(Comics.Good$)
- GrandTotal%=GrandTotal%+VAL(Comics.Total$)
- TotalWorth!=TotalWorth!+VAL(Comics.WorthTotal$)
- INCR CLine%
- IF dbStatus=0 THEN CALL ContinueSearch(SearchField%, SearchQuery%,_
- SearchValue$, Searching$,-1)
- WEND
-
- IF dbStatus<>0 THEN
- LPRINT SPC(51); "==== ==== ==== ===== ========";
- LPRINT SPC(35); "***Totals***";
- LPRINT SPC( 3);
- LPRINT USING "####"; TotalMint%;
- LPRINT SPC( 1);
- LPRINT USING "####"; TotalFine%;
- LPRINT SPC( 1);
- LPRINT USING "####"; TotalGood%;
- LPRINT SPC( 1);
- LPRINT USING "####"; GrandTotal%;
- LPRINT SPC( 3); "$";
- LPRINT USING "####.##"; TotalWorth!;
- END IF
-
- LPRINT chr$(12)
- INCR PageNum
- IF dbStatus=0 THEN CALL KeyPause(5, Where$)
- CALL ClrArea(5,24,1,80)
- WEND
- ELSE
- COLOR 11,0
- LOCATE 4,1
- PRINT "Vol Issue Title "+_
- " Mint Fine Good Total Worth"
- WHILE dbStatus=0 AND ( Where$<>CHR$(27) )
- CLine% = 5
- WHILE (CLine%<22) AND (dbStatus=0)
- COLOR 14,0
- LOCATE CLine%,2 :PRINT Comics.Volume$;
- LOCATE CLine%,6 :PRINT Comics.Issue$;
- LOCATE CLine%,11:PRINT Comics.Title$;
- LOCATE CLine%,52:PRINT Comics.Mint$;
- LOCATE CLine%,57:PRINT Comics.Fine$;
- LOCATE CLine%,62:PRINT Comics.Good$;
- LOCATE CLine%,67:PRINT Comics.Total$;
- LOCATE CLine%,73:PRINT "$";
- PRINT USING "####.##"; VAL(Comics.WorthTotal$);
- TotalMint%=TotalMint%+VAL(Comics.Mint$)
- TotalFine%=TotalFine%+VAL(Comics.Fine$)
- TotalGood%=TotalGood%+VAL(Comics.Good$)
- GrandTotal%=GrandTotal%+VAL(Comics.Total$)
- TotalWorth!=TotalWorth!+VAL(Comics.WorthTotal$)
- INCR CLine%
- IF dbStatus=0 THEN CALL ContinueSearch(SearchField%, SearchQuery%,_
- SearchValue$, Searching$,-1)
- WEND
- CALL ClrArea(22,24,15,65)
- IF dbStatus<>0 THEN
- IF CLine%>23 THEN
- dbStatus=0
- CALL KeyPause(24, Where$)
- CALL ClrArea(5,24,1,80)
- CLine%=6
- COLOR 14,0
- LOCATE CLINE%,36:PRINT "***Totals***"
- LOCATE CLine%,51:PRINT USING "####"; TotalMint%;
- LOCATE CLine%,56:PRINT USING "####"; TotalFine%;
- LOCATE CLine%,61:PRINT USING "####"; TotalGood%;
- LOCATE CLine%,66:PRINT USING "####"; GrandTotal%;
- LOCATE CLine%,73:PRINT "$";
- PRINT USING "####.##"; TotalWorth!;
- ELSE
- IF CLine%>5 THEN
- COLOR 11,0
- LOCATE CLine%, 52
- PRINT "==== ==== ==== ===== ========"
- END IF
- COLOR 14,0
- LOCATE CLINE%+1,36:PRINT "***Totals***"
- LOCATE CLine%+1,51:PRINT USING "####"; TotalMint%;
- LOCATE CLine%+1,56:PRINT USING "####"; TotalFine%;
- LOCATE CLine%+1,61:PRINT USING "####"; TotalGood%;
- LOCATE CLine%+1,66:PRINT USING "####"; GrandTotal%;
- LOCATE CLine%+1,73:PRINT "$";
- PRINT USING "####.##"; TotalWorth!;
- END IF
- CALL KeyPause(24, Where$)
- ELSE
- CALL KeyPause(24, Where$)
- CALL ClrArea(5,24,1,80)
- NoBox%=0
- END IF
- WEND
- END IF
- END SUB
-
-
- SUB CopyComics
- SHARED CopyFromPath$, CopyToPath$, CapsOn, Ent.UpLine, Ent.Home,_
- Ent.End, Ent.DnLine, Ent.CR, Ent.Escape
-
- LOCAL TCopyFromPath$, TCopyToPath$, Dummy$, FldNo, ExitKey$,_
- ExitKey, Changed, N, FromSize&, ToSize&
-
- CALL ProgramHeader(" Copy Files ")
- CALL ClrArea(5,24,1,80)
-
- TCopyFromPath$ = CopyFromPath$
- TCopyToPath$ = CopyToPath$
-
- COLOR 11,0
- LOCATE 7,24:PRINT "Copy From Path: "
- LOCATE 9,26:PRINT "Copy To Path: "
-
- COLOR 14,0
- LOCATE 7,40:PRINT TCopyFromPath$
- LOCATE 9,40:PRINT TCopyToPath$
-
- FldNo=1
- CapsOn=-1
- ExitKey$ = CHR$(13) +_ ' <CR>
- CHR$(27) +_ ' <ESC>
- CHR$(0) + CHR$(72) +_ ' Up arrow
- CHR$(0) + CHR$(80) +_ ' Down arrow
- CHR$(0) + CHR$(81) ' <Pgdn>
-
-
- DO
- SELECT CASE FldNo
- CASE 1
- CALL UserEntry(25, 25, "", 7, 40, 30, ExitKey$, 1,_
- TCopyFromPath$, Changed, ExitKey)
- LOCATE 7,40
- PRINT TCopyFromPath$+SPACE$(25-LEN(TCopyFromPath$))
- CASE 2
- CALL UserEntry(25, 25, "", 9, 40, 30, ExitKey$, 1,_
- TCopyToPath$, Changed, ExitKey)
- LOCATE 9,40
- PRINT TCopyToPath$+SPACE$(25-LEN(TCopyToPath$))
- END SELECT
-
-
- SELECT CASE ExitKey
- CASE Ent.UpLine :DECR FldNo
- CASE Ent.DnLine :INCR FldNo
- CASE Ent.CR
- IF FldNo = 2 THEN EXIT LOOP
- INCR FldNo
- CASE 336, Ent.Escape :EXIT LOOP ' PgDn, or Esc Keys
- END SELECT
-
- IF FldNo < 1 THEN
- FldNo = 2
- ELSEIF FldNo > 2 THEN
- FldNo = 1
- END IF
- LOOP
-
- IF ExitKey=Ent.Escape THEN EXIT SUB
-
- CALL DrawBox(15, 17, 26, 52, 23)
- COLOR 11,1
- LOCATE 16,28:PRINT "Copy files now? [Y/N]"
- Dummy$ = "Y"
- ExitKey$ = CHR$(13) +_ ' <CR>
- CHR$(27) +_ ' <ESC>
- CHR$(0) + CHR$(81) ' <Pgdn>
- CALL UserEntry(1,1,"YN",16,50,30,ExitKey$,0,Dummy$,Changed,_
- Exitkey)
- IF (ExitKey=Ent.Escape) OR (Dummy$<>"Y") THEN EXIT SUB
- COLOR 14,0
- CALL ClrArea(15,17,26,52)
-
- TCopyFromPath$=FNTrim$(TCopyFromPath$)
- TCopyToPath$ =FNTrim$(TCopyToPath$)
-
- IF FNFileExists(TCopyFromPath$+"COMICS.DBD") AND _
- FNFileExists(TCopyFromPath$+"COMICS.DBI") THEN
- OPEN TCopyFromPath$+"COMICS.DBD" FOR BINARY AS 1
- OPEN TCopyFromPath$+"COMICS.DBI" FOR BINARY AS 2
- FromSize&=LOF(1)+LOF(2)
- CLOSE 1,2
-
- N=INSTR("ABCDEF", LEFT$(TCopyToPath$,1))
- IF N<>0 THEN ToSize&=FNFreeSpace&(N) ELSE ToSize&=0
-
- IF FNFileExists(TCopyToPath$+"COMICS.DBD") THEN
- OPEN TCopyToPath$+"COMICS.DBD" FOR BINARY AS 1
- ToSize&=ToSize&+LOF(1)
- CLOSE 1
- END IF
-
- IF FNFileExists(TCopyToPath$+"COMICS.DBI") THEN
- OPEN TCopyToPath$+"COMICS.DBI" FOR BINARY AS 1
- ToSize&=ToSize&+LOF(1)
- CLOSE 1
- END IF
-
- IF FromSize&<=ToSize& THEN
- IF FNFileExists(ENVIRON$("COMSPEC")) THEN
- CALL DrawBox(15, 17, 27, 51, 23)
- COLOR 14,1
- LOCATE 16,29:PRINT "Copying COMICS.DBD..."
- COLOR 0,0
- LOCATE 18,1:PRINT SPACE$(40)
- LOCATE 18,1
- SHELL "COPY "+TCopyFromPath$+"COMICS.DBD "+_
- TCopyToPath$+"COMICS.DBD"
- PRINT SPACE$(40)
- COLOR 14,1
- LOCATE 16,29:PRINT "Copying COMICS.DBI..."
- COLOR 0,0
- PRINT
- SHELL "COPY "+TCopyFromPath$+"COMICS.DBI "+_
- TCopyToPath$+"COMICS.DBI"
- PRINT SPACE$(40)
- ELSE
- CALL DrawBox(21,23,27,52,23)
- LOCATE 22,29
- COLOR 14,1
- PRINT "COMMAND.COM not found."
- CALL WarningBeep
- WHILE NOT INSTAT: WEND
- Dummy$ = INKEY$
- EXIT SUB
- END IF
- COLOR 14,1
- LOCATE 16,29:PRINT " Copying completed "
- CALL WarningBeep
- WHILE NOT INSTAT:WEND
- Dummy$=INKEY$
- ELSE
- LOCATE 15,1
- PRINT "Insufficient space on target disk to copy files..."
- CALL WarningBeep
- WHILE NOT INSTAT:WEND
- Dummy$=INKEY$
- END IF
- ELSE
- LOCATE 15,1
- PRINT "Source Files can not be located..."
- CALL WarningBeep
- WHILE NOT INSTAT:WEND
- Dummy$=INKEY$
- END IF
- END SUB
-
-
-
- DEF FNTrim$(LongStr$)
- LOCAL Temp$
- Temp$=LongStr$
- WHILE LEFT$(Temp$, 1)=" " AND LEN(Temp$)>1
- Temp$=RIGHT$(Temp$, LEN(Temp$)-1)
- WEND
- WHILE RIGHT$(Temp$, 1)=" " AND LEN(Temp$)>1
- Temp$=LEFT$(Temp$, LEN(Temp$)-1)
- WEND
- IF Temp$=" " THEN Temp$=""
- FNTrim$=Temp$
- END DEF
-
-
-
- SUB KeyPause(CurRow, KeyStroke$)
- SHARED dbStatus
- LOCATE CurRow,1
- COLOR 11,0
- IF dbStatus=0 THEN PRINT "Press <ESC> to abort, any other key to continue. ";
- WHILE NOT INSTAT: WEND
- KeyStroke$ = INKEY$
- END SUB
-
-
-
- DEF FNFreeSpace&(drive%)
- REG 4,drive%
- REG 1,&H3600
- CALL INTERRUPT &H21
- FNFreeSpace& = CSNG(REG(2)) * REG(3) * REG(1)
- END DEF
-
-
- SUB QuickReport
- SHARED CapsOn, Comics.File, dbStatus, Comics.Title$, Comics.Volume$,_
- Comics.Issue$, Comics.Price$, Comics.Mint$, Comics.Fine$,_
- Comics.Good$, Comics.Total$, Comics.WorthTotal$, Comics.Skip$,_
- WherePrint$
-
- LOCAL TotalDeleted, TotalRecords, TotalPrice!, TotalMint, TotalFine,_
- TotalGood, TotalComics, TotalWorth!, LastTitle$, KeyVal$,_
- DataRef&, CurrentRecord&, LastRecord&
-
-
- CALL ClrArea(3,24,1,80)
- CALL ProgramHeader(" Quick Report ")
-
- COLOR 11,0
- LOCATE 5,1:PRINT "Compiling data..."
-
- CurrentRecord& = 2 'DataRef&
- LastRecord& = (LOF(4)/276)
- IF CurrentRecord& = LastRecord& THEN EXIT SUB
- GET 4, CurrentRecord&
- DO
- IF CVL(Comics.Skip$)=0 THEN
- INCR TotalRecords
- TotalComics=TotalComics+VAL(Comics.Total$)
- TotalMint =TotalMint +VAL(Comics.Mint$)
- TotalFine =TotalFine +VAL(Comics.Fine$)
- TotalGood =TotalGood +VAL(Comics.Good$)
- TotalPrice!=TotalPrice!+VAL(Comics.Price$)
- TotalWorth!=TotalWorth!+VAL(Comics.WorthTotal$)
- ELSE
- INCR TotalDeleted
- END IF
- INCR CurrentRecord&
- IF (CurrentRecord& > LastRecord&) THEN EXIT LOOP
- GET 4, CurrentRecord&
- LOOP
-
- IF WherePrint$="P" THEN
- LOCATE 5,1:PRINT "Printing Report..."
- LPRINT CHR$(13)
- LPRINT SPC(70); FNDateString$
- LPRINT
- LPRINT SPC(34); "Quick Report"
- LPRINT SPC(34); "============"
- LPRINT
- LPRINT
- LPRINT
- LPRINT SPC( 9); "Total Number of Active Records: ";
- LPRINT USING "####"; TotalRecords
- LPRINT
- LPRINT SPC( 8); "Total Number of Deleted Records: ";
- LPRINT USING "####"; TotalDeleted
- LPRINT
- LPRINT SPC(12); "Total Number of Mint Comics: ";
- LPRINT USING "####"; TotalMint
- LPRINT
- LPRINT SPC(12); "Total Number of Fine Comics: ";
- LPRINT USING "####"; TotalFine
- LPRINT
- LPRINT SPC(12); "Total Number of Good Comics: ";
- LPRINT USING "####"; TotalGood
- LPRINT
- LPRINT SPC(17); "Total Number of Comics: ";
- LPRINT USING "####"; TotalComics
- LPRINT
- LPRINT SPC(10); "Total Initial Price of Comics:";
- LPRINT USING "$$####.##"; TotalPrice!
- LPRINT
- LPRINT SPC(10); "Total Current Worth of Comics:";
- LPRINT USING "$$####.##"; TotalWorth!
- LPRINT
- LPRINT chr$(12)
- ELSE
- LOCATE 5,1
- PRINT SPC( 9); "Total Number of Active Records: ";
- COLOR 14,0:PRINT USING "####"; TotalRecords
- PRINT:COLOR 11,0
- PRINT SPC( 8); "Total Number of Deleted Records: ";
- COLOR 14,0:PRINT USING "####"; TotalDeleted
- PRINT:COLOR 11,0
- PRINT SPC(12); "Total Number of Mint Comics: ";
- COLOR 14,0:PRINT USING "####"; TotalMint
- PRINT:COLOR 11,0
- PRINT SPC(12); "Total Number of Fine Comics: ";
- COLOR 14,0:PRINT USING "####"; TotalFine
- PRINT:COLOR 11,0
- PRINT SPC(12); "Total Number of Good Comics: ";
- COLOR 14,0:PRINT USING "####"; TotalGood
- PRINT:COLOR 11,0
- PRINT SPC(17); "Total Number of Comics: ";
- COLOR 14,0:PRINT USING "####"; TotalComics
- PRINT:COLOR 11,0
- PRINT SPC(10); "Total Initial Price of Comics:";
- COLOR 14,0:PRINT USING "$$####.##"; TotalPrice!
- PRINT:COLOR 11,0
- PRINT SPC(10); "Total Current Worth of Comics:";
- COLOR 14,0:PRINT USING "$$####.##"; TotalWorth!
- WHILE NOT INSTAT
- WEND
- LastTitle$=INKEY$
- END IF
- END SUB
-
- SUB ProgramHeader (Title$)
- COLOR 15,1
- LOCATE 1,1
- PRINT " COMIC BOOK INVENTORY";SPACE$(49)
- LOCATE 1,71
- PRINT FNDateString$+" "
- LOCATE 2,1
- COLOR 7,1
- PRINT STRING$(80,196)
- LOCATE 2,(80-LEN(Title$))\2
- COLOR 14,1
- PRINT Title$
- END SUB
-
- SUB ClrArea(TopRow,BottomRow,LeftCol,RightCol)
- LOCAL NumberOfRows,NumberOfCols,NumberOfChars,ClrText$,ClrAttr$
- NumberOfRows=BottomRow-TopRow+1
- NumberOfCols=RightCol-LeftCol+1
- NumberOfChars=NumberOfRows*NumberOfCols
- ClrText$=STRING$(NumberOfChars," ")
- ClrAttr$=STRING$(NumberOfChars,&H07)
- CALL WriteScreenArea(TopRow,LeftCol,NumberOfRows,NumberOfCols,_
- ClrText$,ClrAttr$)
- END SUB
-
- SUB DrawBox(TopRow,BottomRow,LeftCol,RightCol,ColorAttr)
- LOCAL Row, NumberOfRows, NumberOfCols, NumberOfChars, BoxText$, BoxAttr$
-
- NumberOfRows=BottomRow-TopRow+1
- NumberOfCols=RightCol-LeftCol+1
- NumberOfChars=NumberOfRows*NumberOfCols
- BoxText$=CHR$(218)+STRING$(NumberOfCols-2,CHR$(196))+CHR$(191)
- Row=1
- DO
- BoxText$=BoxText$+CHR$(179)+SPACE$(NumberOfCols-2)+CHR$(179)
- INCR Row
- LOOP UNTIL Row=NumberOfRows-1
-
- BoxText$=BoxText$+CHR$(192)+STRING$(NumberOfCols-2,CHR$(196))+CHR$(217)
-
- BoxAttr$=STRING$(NumberOfChars,ColorAttr)
- CALL WriteScreenArea(TopRow, LeftCol, NumberOfRows,NumberOfCols,_
- BoxText$, BoxAttr$)
- END SUB
-
- SUB ComicsPrompts
- COLOR 11,0
- LOCATE 6,1
- PRINT "Title.....:"
- PRINT "Volume....:"
- PRINT "Issue.....:"
- PRINT "Company...:"
- PRINT "Editor....:"
- PRINT "Writer....:"
- PRINT "Penciler..:"
- PRINT "Inker.....:"
- PRINT "Price.....:"
- PRINT "Mint......:"
- PRINT "Fine......:"
- PRINT "Good......:"
- PRINT "Total.....:"
- PRINT "Box.......:"
- PRINT "Notes.....:"
- LOCATE 15,30: PRINT "WorthMint.:"
- LOCATE 16,30: PRINT "WorthFine.:"
- LOCATE 17,30: PRINT "WorthGood.:"
- LOCATE 18,30: PRINT "WorthTotal:"
- LOCATE 15,60: PRINT "PercentMint.:"
- LOCATE 16,60: PRINT "PercentFine.:"
- LOCATE 17,60: PRINT "PercentGood.:"
- LOCATE 18,60: PRINT "PercentTotal:"
- END SUB
-
- SUB AddComics
- SHARED CapsOn, Ent.Upline, Ent.Escape, Ent.Home, Ent.End, Ent.CR,_
- Ent.DnLine, Comics.File, dbStatus, Comics.Title$, Comics.Volume$,_
- Comics.Issue$
-
- LOCAL Title$, Volume$, Issue$, FldNo, TempExitKey, ExitKey, ExitKey$,_
- Changed, Choice$
-
- CALL ClrArea(3,23,1,80)
- CALL ProgramHeader(" Add Records ")
- CALL ComicsPrompts
- ExitKey$ = CHR$(13) +_ ' <CR>
- CHR$(0) + CHR$(71) +_ ' Home key
- CHR$(0) + CHR$(72) +_ ' Up arrow
- CHR$(0) + CHR$(79) +_ ' End
- CHR$(0) + CHR$(80) +_ ' Down arrow
- CHR$(0) + CHR$(81) +_ ' <Pgdn>
- CHR$(27) ' <ESC>
-
- DO
- Title$ = SPACE$(40)
- Issue$ = " "
- FldNo = 1
- Volume$ = "1"
- Issue$ = ""
- GOSUB COMICSClear
- CALL DisplayComics (0)
- COLOR 14,0
- DO
- SELECT CASE FldNo
- CASE 1
- CapsOn = %Yes
- CALL UserEntry(40, 40, "", 6, 12, 30, ExitKey$, 1, Title$,_
- Changed, ExitKey)
- LSET Comics.Title$ = Title$
- Title$ = Comics.Title$
- CapsOn = %No
- TempExitKey = ExitKey
- LOCATE 6,12:PRINT Title$
- CASE 2
- CALL UserEntry( 1, 1, " 1234567890", 7, 12, 30, ExitKey$, 1,_
- Volume$, Changed, ExitKey)
- TempExitKey = ExitKey
- LOCATE 7,12:PRINT Volume$
- CASE 3
- CALL UserEntry( 3, 3, "1234567890", 8, 12, 30, ExitKey$, 1,_
- Issue$, Changed, ExitKey)
- TempExitKey = ExitKey
- IF VAL(Issue$) < 100 THEN
- IF Issue$="" THEN Issue$="1"
- IF VAL(Issue$) = 0 THEN
- Issue$ = " 0"
- ELSE
- Issue$ = STR$(VAL(Issue$))
- IF LEN(Issue$) = 2 THEN Issue$ = " "+Issue$
- END IF
- END IF
- LOCATE 8,12:PRINT Issue$
- END SELECT
-
- SELECT CASE TempExitKey
- CASE Ent.UpLine :DECR FldNo
- CASE Ent.Home :FldNo = 1
- CASE Ent.End :FldNo = 3
- CASE Ent.DnLine :INCR FldNo
- CASE Ent.CR
- IF FldNo = 3 THEN EXIT LOOP
- INCR FldNo
- CASE 336, Ent.Escape :EXIT LOOP ' PgDn, or Esc Keys
- END SELECT
-
- IF FldNo < 1 THEN
- FldNo = 3
- ELSEIF FldNo > 3 THEN
- FldNo = 1
- END IF
- LOOP
- IF TempExitKey=Ent.Escape OR Title$=SPACE$(40) THEN EXIT LOOP
- LSET Comics.Title$ = Title$
- LSET Comics.Volume$ = Volume$
- IF VAL(Issue$)=0 THEN Issue$ = " 0"
- RSET Comics.Issue$ = Issue$
-
- LOCATE 7,12:PRINT Volume$
- LOCATE 8,12:PRINT Comics.Issue$
- CALL dbRead(Comics.File, Title$+Volume$+Issue$)
-
- IF dbStatus <> 1005 THEN
- CALL WarningBeep
- Choice$ = "NO"
- CapsOn = %YES
- CALL DrawBox(22, 24, 16, 64, 23)
- LOCATE 23,18
- COLOR 11,1
- PRINT "This record already exists. Edit record?"
- CALL UserEntry(3, 3, "YESNO", 23, 60, 30, CHR$(13)+CHR$(27)+_
- CHR$(0)+CHR$(81), 0, Choice$, Changed, ExitKey)
- IF Choice$="YES" AND ExitKey<>27 THEN CALL DisplayComics(-1):_
- CALL UpdateComics(-1)
- CALL ClrArea(22,24,16,64)
- CapsOn = %NO
- ELSE
- CALL UpdateComics (0)
- END IF
- LOOP
- END SUB
-
-
-
-
- SUB HitEnd(HitTop)
- LOCAL Where$
- CALL DrawBox(22, 24, 26, 52, 23)
- IF HitTop THEN Where$="Top" ELSE Where$="End"
- COLOR 14,1
- LOCATE 23,28
- PRINT Where$+"-of-file encountered"
- CALL WarningBeep
- WHILE NOT INSTAT: WEND
- Where$ = INKEY$
- CALL ClrArea(22,24,26,52)
- END SUB
-
-
-
- SUB EditComics
- SHARED CapsOn, Ent.Upline, Ent.Escape, Ent.Home, Ent.End, Ent.CR,_
- Ent.DnLine, Comics.File, dbStatus, Comics.Title$, Comics.Volume$,_
- Comics.Issue$, Comics.WorthMint$, KeyVal$, EscPressed
-
- LOCAL Title$, Volume$, Issue$, FldNo, TempExitKey, ExitKey, ExitKey$,_
- Changed, DataRef&, WorthMint$, Choice$, Abort%
-
- STATIC CurrentKey$, SearchField%, SearchQuery%, SearchValue$, Searching$,_
- EditPick
-
- CALL ClrArea(3,23,1,80)
- CALL ProgramHeader(" Edit Records ")
- CALL ComicsPrompts
-
- KeyVal$ = CurrentKey$
- CALL dbRead(Comics.File, KeyVal$)
- IF dbStatus=1005 OR dbStatus=1006 THEN CALL ClearKey (Comics.File):_
- CALL dbNext (Comics.File, KeyVal$)
-
- IF dbStatus=1006 THEN
- CALL WarningBeep
- CALL DrawBox(22,24,31,48,78)
- COLOR 14,4
- LOCATE 23,33
- PRINT "Empty database"
- WHILE NOT INSTAT: WEND
- Choice$ = INKEY$
- CALL ClrArea(22,24,31,48)
- EXIT SUB
- END IF
-
-
- COLOR 7,1
- CALL DrawBox(2,13,67,79,23)
- LOCATE 2,67: PRINT CHR$(194)
- LOCATE 2,79: PRINT CHR$(194)
- LOCATE 10,67: PRINT CHR$(195)+STRING$(11,196)+CHR$(180)
-
- DO
- CALL DisplayComics (-1)
- CapsOn = %Yes
- CALL EditChoose(EditPick)
- IF EscPressed THEN EXIT LOOP
- IF EditPick=1 THEN
- CALL dbPrev (Comics.File, KeyVal$)
- IF dbStatus=1006 THEN CALL HitEnd(-1):_
- CALL dbNext (Comics.File, KeyVal$)
- ELSEIF EditPick=2 THEN
- CALL dbNext (Comics.File, KeyVal$)
- IF dbStatus=1006 THEN CALL HitEnd(0):_
- CALL dbPrev (Comics.File, KeyVal$)
- ELSEIF EditPick=6 THEN
- CALL Searcher(SearchField%,SearchQuery%,SearchValue$,Searching$,_
- Abort%)
- CALL ComicsPrompts
- CALL DisplayComics (-1)
- IF NOT Abort% THEN
- CALL ClearKey (Comics.File)
- CALL ContinueSearch(SearchField%,SearchQuery%,SearchValue$,_
- Searching$,0)
- END IF
- ELSEIF EditPick=7 THEN
- CALL ContinueSearch(SearchField%,SearchQuery%,SearchValue$,_
- Searching$,0)
- ELSEIF EditPick=5 THEN
- KeyVal$=Comics.Title$+CHR$( ASC(Comics.Volume$)+1 )
- CALL SearchKey(Comics.File, DataRef&, KeyVal$)
- CALL dbRead(Comics.File, KeyVal$)
- IF dbStatus=1006 THEN
- CALL HitEnd(0)
- CALL dbPrev (Comics.File, KeyVal$)
- END IF
- ELSEIF EditPick=3 THEN
- Choice$=" "
- CALL DrawBox(22,24,9,72,23)
- LOCATE 23,11
- COLOR 11,1
- PRINT "Enter search Title:"
- CALL UserEntry(40,40,"", 23, 31, 30, CHR$(13)+CHR$(27)+_
- CHR$(0)+CHR$(81), 1, Choice$, Changed, ExitKey)
- IF Choice$<>SPACE$(40) AND ExitKey<>27 THEN
- KeyVal$=Choice$ '+SPACE$(44-LEN(Choice$))
- CALL SearchKey(Comics.File, DataRef&, KeyVal$)
- CALL dbRead(Comics.File, KeyVal$)
- IF dbStatus=1005 OR dbStatus=1006 THEN
- CALL ClrArea(22,24,9,78)
- CALL HitEnd(0)
- CALL dbRead (Comics.File, CurrentKey$)
- KeyVal$ = CurrentKey$
- END IF
- END IF
- CALL ClrArea(22,24,9,78)
-
- ELSEIF EditPick=4 THEN
- Choice$=" "
- CALL DrawBox(22,24,26,52,23)
- CALL PromptEntry(3,3,"1234567890", 23, 27, 27, 30, CHR$(13)+CHR$(27)+_
- CHR$(0)+CHR$(81), 1," Enter Issue number: ",_
- Choice$, Changed, ExitKey)
- IF Choice$<>" " AND ExitKey<>27 THEN
- IF VAL(Choice$) < 100 THEN Choice$ = STR$(VAL(Choice$))
- RSET Comics.Issue$ = Choice$
- KeyVal$=Comics.Title$+Comics.Volume$+Comics.Issue$
- CALL SearchKey(Comics.File, DataRef&, KeyVal$)
- CALL dbRead(Comics.File, KeyVal$)
- IF dbStatus=1005 OR dbStatus=1006 THEN
- CALL HitEnd(0)
- CALL dbRead (Comics.File, CurrentKey$)
- KeyVal$ = CurrentKey$
- END IF
- END IF
- CALL ClrArea(22,24,9,78)
-
- ELSEIF EditPick=9 THEN
- CALL UpdateComics (-1)
- KeyVal$=Comics.Title$+Comics.Volume$+Comics.Issue$
- CALL dbRead(Comics.File, KeyVal$)
- ELSEIF EditPick<0 AND EditPick>-11 THEN
- CALL ClearKey (Comics.File)
- CALL dbNext (Comics.File, KeyVal$)
- EditPick=-EditPick
- ELSEIF EditPick<-10 THEN
- CALL SearchKey(Comics.File, DataRef&, STRING$(44, 255))
- CALL dbPrev(Comics.File, KeyVal$)
- EditPick=(EditPick+1)/(-10)
- ELSEIF EditPick=10 THEN
- Choice$="NO "
- CapsOn= %Yes
- CALL DrawBox(22,24,26,52,78)
- CALL PromptEntry(3, 3, "YESNO", 23, 27, 78, 79, CHR$(13)+CHR$(27)+_
- CHR$(0)+CHR$(81), 0," Delete this record? ",_
- Choice$, Changed, ExitKey)
- IF Choice$="YES" AND ExitKey<>27 THEN
- CALL dbDelete (Comics.File, KeyVal$)
- CALL dbNext (Comics.File, KeyVal$)
- IF dbStatus=1006 THEN CALL dbPrev (Comics.File, KeyVal$)
- END IF
- CALL ClrArea(22,24,26,70)
- END IF
- CurrentKey$=KeyVal$
-
- LOOP
- END SUB
-
-
-
- SUB Searcher(SearchField%, SearchQuery%, SearchValue$, Searching$, Abort%)
- SHARED EscPressed,CapsOn
- LOCAL N, Visible, TempSF%, TempSQ%, TempSF$,ExitKey,ExitKey$,ValidChar$
- DIM STATIC FieldName$(1:24), QueryName$(1:7)
-
- TempSF%=SearchField%
- TempSQ%=SearchQuery%
- TempSF$=SearchValue$
-
- FieldName$( 1) = " Title "
- FieldName$( 2) = " Volume "
- FieldName$( 3) = " Issue "
- FieldName$( 4) = " Company "
- FieldName$( 5) = " Editor "
- FieldName$( 6) = " Writer "
- FieldName$( 7) = " Penciler "
- FieldName$( 8) = " Inker "
- FieldName$( 9) = " Price "
- FieldName$(10) = " Mint "
- FieldName$(11) = " Fine "
- FieldName$(12) = " Good "
- FieldName$(13) = " Total "
- FieldName$(14) = " WorthMint "
- FieldName$(15) = " WorthFine "
- FieldName$(16) = " WorthGood "
- FieldName$(17) = " WorthTotal "
- FieldName$(18) = " PercentMint "
- FieldName$(19) = " PercentFine "
- FieldName$(20) = " PercentGood "
- FieldName$(21) = " PercentTotal "
- FieldName$(22) = " Box "
- FieldName$(23) = " Notes "
- FieldName$(24) = " Alpha-Fields "
- QueryName$(1) = " Equals "
- QueryName$(2) = " Not Equal To "
- QueryName$(3) = " Less Than "
- QueryName$(4) = " Greater Than "
- QueryName$(5) = " < or = "
- QueryName$(6) = " > or = "
- QueryName$(7) = " Contains "
-
- CALL DrawBox(6,20,9,24,23)
- LOCATE 6,11
- COLOR 14,1
- PRINT "Search Field"
- CALL Choose(7,10,SearchField%, 13, 24, FieldName$(),0,0,"")
-
- IF EscPressed THEN GOTO AbortSearchSub
-
- IF SearchField%=2 OR SearchField%=3 OR_
- (SearchField%>8 AND SearchField%<23) THEN
- N=6
- Visible=6
- ValidChar$="+-1234567890."
- ExitKey$="ENLG<>"
- ELSE
- N=7
- Visible=7
- ValidChar$=""
- ExitKey$="ENLG<>C"
- END IF
-
- IF SearchField%=24 THEN
- CALL DrawBox(7,9,39,54,23)
- LOCATE 7,41
- COLOR 14,1
- PRINT "Search Query"
- LOCATE 8,40
- COLOR 14,5
- PRINT " Contains "
- SearchQuery%=7
- ELSE
- CALL DrawBox(7,8+N,39,54,23)
- LOCATE 7,41
- COLOR 14,1
- PRINT "Search Query"
- CALL Choose(8,40,SearchQuery%, N, Visible, QueryName$(),0,-1,ExitKey$)
- END IF
-
- IF EscPressed THEN GOTO AbortSearchSub
-
- CALL DrawBox(22,24,29,50,23)
- LOCATE 22,34
- COLOR 14,1
- PRINT "Search Value"
-
- ExitKey$= CHR$(13)+_
- CHR$(27)+_
- CHR$(0) + CHR$(81)
- CapsOn=-1
- CALL UserEntry(18,18,ValidChar$,23,31,30,ExitKey$,0,SearchValue$,0,ExitKey)
- IF ExitKey=27 THEN GOTO AbortSearchSub
- Abort%=0
- IF LEN(SearchValue$)=0 THEN SearchValue$=" "
- IF SearchField%=2 OR SearchField%=3 OR_
- (SearchField%>8 AND SearchField%<23) THEN
- Searching$=FieldName$(SearchField%)+QueryName$(SearchQuery%)+SearchValue$
- ELSE
- Searching$=FieldName$(SearchField%)+QueryName$(SearchQuery%)+_
- CHR$(34)+SearchValue$+CHR$(34)
- END IF
-
- GOTO EndSearchSub
-
- AbortSearchSub:
- SearchField%=TempSF%
- SearchQuery%=TempSQ%
- SearchValue$=TempSF$
- Abort%=-1
-
- EndSearchSub:
- CALL ClrArea(6,20,9,24)
- CALL ClrArea(7,8+N,39,54)
- CALL ClrArea(22,24,28,51)
-
- END SUB
-
- SUB ContinueSearch(SearchField%,SearchQuery%,SearchValue$,Searching$,Listing%)
- SHARED Comics.File, KeyVal$, dbStatus,_
- Comics.Title$, Comics.Volume$, Comics.Issue$,_
- Comics.Company$, Comics.Editor$, Comics.Writer$, Comics.Penciler$,_
- Comics.Inker$, Comics.Price$, Comics.Mint$, Comics.Fine$,_
- Comics.Good$, Comics.Total$, Comics.WorthMint$, Comics.WorthFine$,_
- Comics.WorthGood$, Comics.WorthTotal$, Comics.PercentMint$,_
- Comics.PercentFine$, Comics.PercentGood$, Comics.PercentTotal$,_
- Comics.Box$, Comics.Notes$, NoBox%
-
- LOCAL SField$,OriginalKeyVal$
-
- IF Searching$="" THEN
- CALL dbNext(Comics.File, KeyVal$)
- IF dbStatus=1006 THEN
- CALL ClrArea(22,24,15,65)
- CALL HitEnd(0)
- CALL dbPrev (Comics.File, KeyVal$)
- END IF
- EXIT SUB
- END IF
- OriginalKeyVal$=KeyVal$
- IF Listing% THEN
- IF NoBox%=0 THEN CALL DrawBox(22,24,15,65,23)
- NoBox%=1
- ELSE
- CALL DrawBox(22,24,15,65,23)
- END IF
- LOCATE 22,33
- COLOR 14,1
- PRINT "Searching For"
- LOCATE 23,16
- COLOR 11,1
- PRINT Searching$
- DO
- CALL dbNext(Comics.File, KeyVal$)
- IF dbStatus=1006 THEN 'End-of-File
- CALL ClrArea(22,24,15,65)
- NoBox%=0
- IF NOT(Listing%) THEN
- CALL HitEnd(0)
- CALL dbPrev (Comics.File, KeyVal$)
- END IF
- EXIT LOOP
- END IF
- SELECT CASE SearchField%
- CASE 1 :SField$=Comics.Title$
- CASE 2 :SField$=Comics.Volume$
- CASE 3 :SField$=Comics.Issue$
- CASE 4 :SField$=Comics.Company$
- CASE 5 :SField$=Comics.Editor$
- CASE 6 :SField$=Comics.Writer$
- CASE 7 :SField$=Comics.Penciler$
- CASE 8 :SField$=Comics.Inker$
- CASE 9 :SField$=Comics.Price$
- CASE 10:SField$=Comics.Mint$
- CASE 11:SField$=Comics.Fine$
- CASE 12:SField$=Comics.Good$
- CASE 13:SField$=Comics.Total$
- CASE 14:SField$=Comics.WorthMint$
- CASE 15:SField$=Comics.WorthFine$
- CASE 16:SField$=Comics.WorthGood$
- CASE 17:SField$=Comics.WorthTotal$
- CASE 18:SField$=Comics.PercentMint$
- CASE 19:SField$=Comics.PercentFine$
- CASE 20:SField$=Comics.PercentGood$
- CASE 21:SField$=Comics.PercentTotal$
- CASE 22:SField$=Comics.Box$
- CASE 23:SField$=UCASE$(Comics.Notes$)
- CASE 24:SField$=UCASE$(Comics.Title$+Comics.Company$+Comics.Editor$+_
- Comics.Writer$+Comics.Penciler$+Comics.Inker$+Comics.Notes$)
- END SELECT
-
- IF SearchField%=2 OR SearchField%=3 OR_
- (SearchField%>8 AND SearchField%<23) THEN
- SELECT CASE SearchQuery%
- CASE 1:IF VAL(SField$)=VAL(SearchValue$) THEN EXIT LOOP
- CASE 2:IF VAL(SField$)<>VAL(SearchValue$) THEN EXIT LOOP
- CASE 3:IF VAL(SField$)< VAL(SearchValue$) THEN EXIT LOOP
- CASE 4:IF VAL(SField$)> VAL(SearchValue$) THEN EXIT LOOP
- CASE 5:IF VAL(SField$)<=VAL(SearchValue$) THEN EXIT LOOP
- CASE 6:IF VAL(SField$)>=VAL(SearchValue$) THEN EXIT LOOP
- END SELECT
- ELSE
- SELECT CASE SearchQuery%
- CASE 1:IF LEFT$(SField$,LEN(SearchValue$))_
- = SearchValue$ THEN EXIT LOOP
- CASE 2:IF LEFT$(SField$,LEN(SearchValue$))_
- <>SearchValue$ THEN EXIT LOOP
- CASE 3:IF LEFT$(SField$,LEN(SearchValue$))_
- < SearchValue$ THEN EXIT LOOP
- CASE 4:IF LEFT$(SField$,LEN(SearchValue$))_
- > SearchValue$ THEN EXIT LOOP
- CASE 5:IF LEFT$(SField$,LEN(SearchValue$))_
- <=SearchValue$ THEN EXIT LOOP
- CASE 6:IF LEFT$(SField$,LEN(SearchValue$))_
- >=SearchValue$ THEN EXIT LOOP
- CASE 7:IF INSTR(SField$,SearchValue$) THEN EXIT LOOP
- END SELECT
- END IF
- IF INSTAT AND INKEY$=CHR$(27) THEN KeyVal$=OriginalKeyVal$:_
- CALL dbRead(Comics.File,KeyVal$):NoBox%=0:EXIT LOOP
- LOOP
- IF NOT (Listing%) THEN CALL ClrArea(22,24,15,65)
-
- END SUB
-
-
-
-
- DEF FNPriceFormat$(Price$)
- LOCAL DecimalPoint, Length
- IF VAL(Price$) <> 0 THEN
- Length = LEN(Price$)
- DecimalPoint = Length - INSTR(Price$, ".")
- SELECT CASE DecimalPoint
- CASE 0
- Price$ = Price$+"00"
- CASE 1
- Price$ = Price$+"0"
- CASE 2
- IF INSTR(Price$, ".") = 0 THEN Price$ = Price$+".00"
- CASE Length
- Price$ = Price$+".00"
- CASE ELSE
- Price$ = LEFT$(Price$, INSTR(Price$, ".")+2)
- END SELECT
- FNPriceFormat$ = Price$
- ELSE
- FNPriceFormat$ = "0.00"
- END IF
- END DEF
-
-
-
- SUB UpdateComics (Edit)
- SHARED Comics.Title$, Comics.Volume$, Comics.Issue$,_
- Comics.Company$, Comics.Editor$, Comics.Writer$, Comics.Penciler$,_
- Comics.Inker$, Comics.Price$, Comics.Mint$, Comics.Fine$,_
- Comics.Good$, Comics.Total$, Comics.WorthMint$, Comics.WorthFine$,_
- Comics.WorthGood$, Comics.WorthTotal$, Comics.PercentMint$,_
- Comics.PercentFine$, Comics.PercentGood$, Comics.PercentTotal$,_
- Comics.Box$, Comics.Notes$, CapsOn, Ent.Upline, Ent.Escape,_
- Ent.Home, Ent.End, Ent.CR, Ent.DnLine, Comics.File, dbStatus
-
-
- LOCAL Title$, Volume$, Issue$,_
- Company$, Editor$, Writer$, Penciler$, Inker$, Price$, Mint$,_
- Fine$, Good$, Total$, WorthMint$, WorthFine$, WorthGood$,_
- WorthTotal$, Box$, Notes$, FldNo, ExitKey, Changed, NumberChanged,_
- ExitKey$, TempNum&, OldKey$, DataRef&
-
- ExitKey$ = CHR$(13) +_
- CHR$(0) + CHR$(71) +_
- CHR$(0) + CHR$(72) +_
- CHR$(0) + CHR$(79) +_
- CHR$(0) + CHR$(80) +_
- CHR$(0) + CHR$(81) +_
- CHR$(27)
-
-
- IF Edit THEN
-
- OldKey$ = Comics.Title$+Comics.Volume$+Comics.Issue$
- Company$ = Comics.Company$
- Editor$ = Comics.Editor$
- Writer$ = Comics.Writer$
- Penciler$ = Comics.Penciler$
- Inker$ = Comics.Inker$
- Price$ = Comics.Price$
- Mint$ = Comics.Mint$
- Fine$ = Comics.Fine$
- Good$ = Comics.Good$
- Total$ = Comics.Total$
- WorthMint$ = Comics.WorthMint$
- WorthFine$ = Comics.WorthFine$
- WorthGood$ = Comics.WorthGood$
- WorthTotal$ = Comics.WorthTotal$
- Box$ = Comics.Box$
- Notes$ = Comics.Notes$
- END IF
-
- Title$ = Comics.Title$
- Volume$ = Comics.Volume$
- Issue$ = Comics.Issue$
-
- FldNo = 1
- NumberChanged = 0
- COLOR 14,0
- DO
- CapsOn = %Yes
- SELECT CASE FldNo
- CASE -2
- CALL UserEntry(40, 40, "", 6, 12, 30, ExitKey$, 1, Title$,_
- Changed, ExitKey)
- LSET Comics.Title$ = Title$
- Title$ = Comics.Title$
- LOCATE 6,12:PRINT Comics.Title$
- CASE -1
- CALL UserEntry( 1, 1, " 1234567890", 7, 12, 30, ExitKey$, 0,_
- Volume$, Changed, ExitKey)
- LSET Comics.Volume$ = Volume$
- LOCATE 7,12:PRINT Comics.Volume$
- CASE 0
- CALL UserEntry( 3, 3, "1234567890", 8, 12, 30, ExitKey$, 1,_
- Issue$, Changed, ExitKey)
- IF VAL(Issue$) < 100 THEN
- IF VAL(Issue$) = 0 THEN
- Issue$ = " 0"
- ELSE
- Issue$ = STR$(VAL(Issue$))
- END IF
- END IF
- RSET Comics.Issue$ = Issue$
- LOCATE 8,12:PRINT Comics.Issue$
- CASE 1
- CALL UserEntry(20, 20, "", 9, 12, 30, ExitKey$, 1, Company$,_
- Changed, ExitKey)
- LSET Comics.Company$ = Company$
- LOCATE 9,12:PRINT Comics.Company$
- CASE 2
- CALL UserEntry(20, 20, "",10, 12, 30, ExitKey$, 1, Editor$,_
- Changed, ExitKey)
- LSET Comics.Editor$ = Editor$
- LOCATE 10,12:PRINT Comics.Editor$
- CASE 3
- CALL UserEntry(20, 20, "",11, 12, 30, ExitKey$, 1, Writer$,_
- Changed, ExitKey)
- LSET Comics.Writer$ = Writer$
- LOCATE 11,12:PRINT Comics.Writer$
- CASE 4
- CALL UserEntry(20, 20, "",12, 12, 30, ExitKey$, 1, Penciler$,_
- Changed, ExitKey)
- LSET Comics.Penciler$ = Penciler$
- LOCATE 12,12:PRINT Comics.Penciler$
- CASE 5
- CALL UserEntry(20, 20, "",13, 12, 30, ExitKey$, 1, Inker$,_
- Changed, ExitKey)
- LSET Comics.Inker$ = Inker$
- LOCATE 13,12:PRINT Comics.Inker$
- CASE 6
- CALL UserEntry( 6, 6, "0123456789.", 14, 12, 30, ExitKey$, 1,_
- Price$, Changed, ExitKey)
- IF Changed THEN
- RSET Comics.Price$ = FNPriceFormat$(STR$(VAL(Price$)))
- Price$ = Comics.Price$
- NumberChanged = -1
- END IF
- LOCATE 14,12:PRINT Comics.Price$
- CASE 7
- CALL UserEntry( 3, 3, "0123456789",15, 12, 30, ExitKey$, 1,_
- Mint$, Changed, ExitKey)
- IF Changed THEN
- IF VAL(Mint$)<> 0 THEN RSET Comics.Mint$ = STR$(VAL(Mint$))_
- ELSE RSET Comics.Mint$ = " "
- Mint$ = Comics.Mint$
- NumberChanged = -1
- END IF
- LOCATE 15,12:PRINT Comics.Mint$
- CASE 8
- CALL UserEntry( 3, 3, "0123456789",16, 12, 30, ExitKey$, 1,_
- Fine$, Changed, ExitKey)
- IF Changed THEN
- IF VAL(Fine$)<> 0 THEN RSET Comics.Fine$ = STR$(VAL(Fine$))_
- ELSE RSET Comics.Fine$ = " "
- Fine$ = Comics.Fine$
- NumberChanged = -1
- END IF
- LOCATE 16,12:PRINT Comics.Fine$
- CASE 10
- CALL UserEntry( 3, 3, "0123456789", 17,12, 30, ExitKey$, 1,_
- Good$, Changed, ExitKey)
- IF Changed THEN
- IF VAL(Good$)<> 0 THEN RSET Comics.Good$ = STR$(VAL(Good$))_
- ELSE RSET Comics.Good$ = " "
- Good$ = Comics.Good$
- NumberChanged = -1
- END IF
- LOCATE 17,12:PRINT Comics.Good$
- CASE 11
- CALL UserEntry( 7, 7, "0123456789.",15, 41, 30, ExitKey$, 1,_
- WorthMint$, Changed, ExitKey)
- IF Changed THEN
- RSET Comics.WorthMint$ = FNPriceFormat$(STR$(VAL(WorthMint$)))
- WorthMint$ = Comics.WorthMint$
- NumberChanged = -1
- END IF
- LOCATE 15,41:PRINT Comics.WorthMint$
- CASE 12
- CALL UserEntry( 7, 7, "0123456789.",16, 41, 30, ExitKey$, 1,_
- WorthFine$, Changed, ExitKey)
- IF Changed THEN
- RSET Comics.WorthFine$ = FNPriceFormat$(STR$(VAL(WorthFine$)))
- WorthFine$ = Comics.WorthFine$
- NumberChanged = -1
- END IF
- LOCATE 16,41:PRINT Comics.WorthFine$
- CASE 13
- CALL UserEntry( 7, 7, "0123456789.",17, 41, 30, ExitKey$, 1,_
- WorthGood$, Changed, ExitKey)
- IF Changed THEN
- RSET Comics.WorthGood$ = FNPriceFormat$(STR$(VAL(WorthGood$)))
- WorthGood$ = Comics.WorthGood$
- NumberChanged = -1
- END IF
- LOCATE 17,41:PRINT Comics.WorthGood$
- CASE 14
- CALL UserEntry( 2, 2, "0123456789",19, 12, 30, ExitKey$, 1,_
- Box$, Changed, ExitKey)
- IF Changed AND VAL(Box$)<10 THEN
- RSET Comics.Box$ = STR$(VAL(Box$))
- Box$ = Comics.Box$
- ELSE
- RSET Comics.Box$ = Box$
- END IF
- LOCATE 19,12:PRINT Comics.Box$
- CASE 15
- CapsOn = %No
- CALL UserEntry(60, 60, "",20, 12, 30, ExitKey$, 1, Notes$,_
- Changed, ExitKey)
- LSET Comics.Notes$ = Notes$
- LOCATE 20,12:PRINT Comics.Notes$
- END SELECT
-
- SELECT CASE ExitKey
- CASE Ent.UpLine :DECR FldNo
- CASE Ent.Home :FldNo = 1
- CASE Ent.End :FldNo = 15
- CASE Ent.DnLine :INCR FldNo
- CASE Ent.CR
- IF FldNo = 15 THEN EXIT LOOP
- INCR FldNo
- CASE 336, Ent.Escape :EXIT LOOP
- END SELECT
-
- IF FldNo < -2 THEN
- FldNo = 15
- ELSEIF FldNo > 15 THEN
- FldNo = 1
- END IF
- LOOP
-
- IF ExitKey <> Ent.Escape THEN
- IF NumberChanged THEN
- Total$ = STR$(VAL(Mint$)+VAL(Fine$)+VAL(Good$))
- RSET Comics.Total$ = Total$
- WorthTotal$ = STR$(VAL(Mint$)*VAL(WorthMint$) +_
- VAL(Fine$)*VAL(WorthFine$) +_
- VAL(Good$)*VAL(WorthGood$))
- RSET Comics.WorthTotal$ = FNPriceFormat$(WorthTotal$)
- TempNum& = CLNG(VAL(Price$)*100)
- IF TempNum& <> 0 THEN
- RSET Comics.PercentMint$ = FNPercentChange$(TempNum&,WorthMint$)
- RSET Comics.PercentFine$ = FNPercentChange$(TempNum&,WorthFine$)
- RSET Comics.PercentGood$ = FNPercentChange$(TempNum&,WorthGood$)
- END IF
- TempNum& = CLNG(VAL(Total$) * VAL(Price$) * 100)
- IF TempNum& <> 0 THEN
- RSET Comics.PercentTotal$ = FNPercentChange$(TempNum&,WorthTotal$)
- END IF
-
- END IF
-
- IF Edit THEN
- IF OldKey$ <> Comics.Title$+Comics.Volume$+Comics.Issue$ THEN
- CALL SearchKey(Comics.File, DataRef&,_
- Comics.Title$+Comics.Volume$+Comics.Issue$)
- IF dbStatus<>0 THEN
- CALL dbDelete(Comics.File, OldKey$)
- CALL dbInsert(Comics.File, Comics.Title$+Comics.Volume$+Comics.Issue$)
- ELSE
- CALL RecordAlreadyExists
- CALL dbRead(Comics.File, OldKey$)
- END IF
- ELSE
- CALL dbUpdate (Comics.File, Comics.Title$+Comics.Volume$+Comics.Issue$)
- END IF
- ELSE
- CALL dbInsert(Comics.File, Comics.Title$+Comics.Volume$+Comics.Issue$)
- IF dbStatus<>0 THEN CALL RecordAlreadyExists
- END IF
-
- END IF
- END SUB
-
-
- SUB RecordAlreadyExists
- LOCAL Dummy$
- CALL DrawBox(22,24,27,51,23)
- LOCATE 23,29
- COLOR 14,1
- PRINT "Record already exists"
- CALL MinorErrorSound
- WHILE NOT(INSTAT):WEND
- Dummy$=INKEY$
- CALL ClrArea(22,24,26,70)
- END SUB
-
-
- DEF FNPercentChange$(Original&,New$)
- FNPercentChange$ = STR$( INT( (((CLNG(VAL(New$)*100))-Original&)_
- *100) /Original&))
- END DEF
-
- SUB DisplayComics (ColorOn)
- SHARED Comics.Title$, Comics.Volume$, Comics.Issue$,_
- Comics.Company$, Comics.Editor$, Comics.Writer$, Comics.Penciler$,_
- Comics.Inker$, Comics.Price$, Comics.Mint$, Comics.Fine$,_
- Comics.Good$, Comics.Total$, Comics.WorthMint$, Comics.WorthFine$,_
- Comics.WorthGood$, Comics.WorthTotal$, Comics.PercentMint$,_
- Comics.PercentFine$, Comics.PercentGood$, Comics.PercentTotal$,_
- Comics.Box$, Comics.Notes$
-
- IF ColorOn THEN COLOR 14,0 ELSE COLOR 0,0
-
- LOCATE 6,12 : PRINT Comics.Title$
- LOCATE 7,12 : PRINT Comics.Volume$
- LOCATE 8,12 : PRINT Comics.Issue$
- LOCATE 9,12 : PRINT Comics.Company$
- LOCATE 10,12 : PRINT Comics.Editor$
- LOCATE 11,12 : PRINT Comics.Writer$
- LOCATE 12,12 : PRINT Comics.Penciler$
- LOCATE 13,12 : PRINT Comics.Inker$
- LOCATE 14,12 : PRINT Comics.Price$
- LOCATE 15,12 : PRINT Comics.Mint$
- LOCATE 16,12 : PRINT Comics.Fine$
- LOCATE 17,12 : PRINT Comics.Good$
- LOCATE 18,12 : PRINT Comics.Total$
- LOCATE 19,12 : PRINT Comics.Box$
- LOCATE 20,12 : PRINT Comics.Notes$
- LOCATE 15,41 : PRINT Comics.WorthMint$
- LOCATE 16,41 : PRINT Comics.WorthFine$
- LOCATE 17,41 : PRINT Comics.WorthGood$
- LOCATE 18,41 : PRINT Comics.WorthTotal$
- LOCATE 15,73 : PRINT Comics.PercentMint$
- LOCATE 16,73 : PRINT Comics.PercentFine$
- LOCATE 17,73 : PRINT Comics.PercentGood$
- LOCATE 18,73 : PRINT Comics.PercentTotal$
- END SUB
-
- SUB SetDefaults(SoundOn$, CopyFromPath$, CopyToPath$)
- SHARED CapsOn, Ent.UpLine, Ent.Home, Ent.End, Ent.DnLine, Ent.CR,_
- Ent.Escape
- LOCAL ExitKey$, ExitKey, Changed, FldNo, Entry$, TempSoundOn$,_
- TempCopyFromPath$, TempCopyToPath$
-
- TempSoundOn$ = SoundOn$
- TempCopyFromPath$ = CopyFromPath$
- TempCopyToPath$ = CopyToPath$
- CALL ClrArea(3,23,1,80)
- CALL ProgramHeader(" Set Defaults ")
-
- COLOR 11,0
- LOCATE 7,30:PRINT "Sound On: "
- LOCATE 9,24:PRINT "Copy From Path: "
- LOCATE 11,26:PRINT "Copy To Path: "
-
- COLOR 14,0
- LOCATE 7,40:PRINT SoundOn$
- LOCATE 9,40:PRINT CopyFromPath$
- LOCATE 11,40:PRINT CopyToPath$
-
- FldNo=1
- CapsOn=-1
- ExitKey$ = CHR$(13) +_
- CHR$(0) + CHR$(71) +_
- CHR$(0) + CHR$(72) +_
- CHR$(0) + CHR$(79) +_
- CHR$(0) + CHR$(80) +_
- CHR$(0) + CHR$(81) +_
- CHR$(27)
-
-
- DO
- SELECT CASE FldNo
- CASE 1
- CALL UserEntry(1, 1, "YN", 7, 40, 30, ExitKey$, 0, SoundOn$,_
- Changed, ExitKey)
- LOCATE 7,40:PRINT SoundOn$
- CASE 2
- CALL UserEntry(25, 25, "", 9, 40, 30, ExitKey$, 1, CopyFromPath$,_
- Changed, ExitKey)
- CopyFromPath$=FNTrim$(CopyFromPath$)
- LOCATE 9,40:PRINT CopyFromPath$+SPACE$(25-LEN(CopyFromPath$))
- CASE 3
- CALL UserEntry(25, 25, "", 11, 40, 30, ExitKey$, 1, CopyToPath$,_
- Changed, ExitKey)
- CopyToPath$=FNTrim$(CopyToPath$)
- LOCATE 11,40:PRINT CopyToPath$+SPACE$(25-LEN(CopyToPath$))
- END SELECT
-
-
- SELECT CASE ExitKey
- CASE Ent.UpLine :DECR FldNo
- CASE Ent.Home :FldNo = 1
- CASE Ent.End :FldNo = 3
- CASE Ent.DnLine :INCR FldNo
- CASE Ent.CR
- IF FldNo = 3 THEN EXIT LOOP
- INCR FldNo
- CASE 336, Ent.Escape :EXIT LOOP
- END SELECT
-
- IF FldNo < 1 THEN
- FldNo = 3
- ELSEIF FldNo > 3 THEN
- FldNo = 1
- END IF
- LOOP
- IF ExitKey=Ent.Escape THEN
- SoundOn$ = TempSoundOn$
- CopyFromPath$ = TempCopyFromPath$
- CopyToPath$ = TempCopyToPath$
- EXIT SUB
- END IF
- Entry$ = "N"
- CALL DrawBox(15,17, 25, 53, 23)
- COLOR 11,1
- LOCATE 16,27
- PRINT "Update disk file? [Y/N]"
- CALL UserEntry(1, 1, "YN", 16, 51, 30, CHR$(13)+CHR$(27)+CHR$(0)+CHR$(81),_
- 0, Entry$, Changed, ExitKey)
- IF Entry$="Y" AND ExitKey<>Ent.Escape THEN
- OPEN "DEFAULTS.DAT" FOR OUTPUT AS #1
- WRITE #1, SoundOn$, CopyFromPath$, CopyToPath$
- CLOSE #1
- END IF
- END SUB
-
-
- SUB EntUserHook (CH$)
- SHARED CapsOn
- IF CapsOn=%Yes THEN CH$=UCASE$(INKEY$) ELSE CH$=INKEY$
- END SUB
-
- SUB WarningBeep
- SHARED SoundOn$
- IF SoundOn$="Y" THEN CALL MinorErrorSound
- END SUB
-
-
- $INCLUDE "DBLOW.BOX"
- $INCLUDE "DBHIGH.BOX"
- $INCLUDE "ENTSUBS.BOX"
- $INCLUDE "SCRNASM.BOX"
- $INCLUDE "SCRNSUBS.BOX"
- $INCLUDE "REGNAMES.INC"
- $INCLUDE "PICKER.BAS"