home *** CD-ROM | disk | FTP | other *** search
/ Monster Media 1994 #1 / monster.zip / monster / PROG_BAS / DNALIB59.ZIP / LIBMAN.BAS < prev    next >
BASIC Source File  |  1994-02-22  |  16KB  |  574 lines

  1. $INCLUDE "DNALIB.INC"
  2. $LINK "DNALIB.PBL"
  3.  
  4. DIM STATIC PBLib$(100)
  5. DIM STATIC Module$(500)
  6. DIM STATIC AddModule$(500)
  7. DIM STATIC FileName$(500)
  8. DIM STATIC Menu$(12)
  9. DIM STATIC Info$(12)
  10. DIM STATIC Message$(2)
  11. DIM STATIC PickMenu$(5)
  12.  
  13. ON ERROR GOTO LibError
  14.  
  15. SplitPath GetProgramName$, Home$, EXEName$
  16.  
  17. IF LEN(DIR$(Home$ + "LIBMAN.CFG")) THEN
  18.   OPEN Home$ + "LIBMAN.CFG" FOR INPUT AS #1
  19.     LINE INPUT #1, PBLibHome$
  20.     LINE INPUT #1, UnitHome$
  21.     LINE INPUT #1, OBJHome$
  22.     LINE INPUT #1, LibHome$
  23.   CLOSE #1
  24. ELSE
  25.   Message$(1) = Home$ + "LIBMAN.CFG is missing !"
  26.   SOUND 50,5
  27.   DIALOG Message$(),"",Mouse%,3,0,0,14,79,1,1
  28.   GOTO WayOut
  29. END IF
  30.  
  31. EmptyLib% = 606 'size of info file when there are no modules
  32. DosAllow$ = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890_^$~!{}()@'`*.\:"
  33. Tag% = 16: Ok% = 0
  34. HelpTextColor% = 14
  35. HelpAttr% = 79
  36.  
  37. IF MouseThere% THEN Mouse% = 1
  38.  
  39. Menu$(1) = "@Open"
  40. Menu$(2) = "@Create"
  41. Menu$(3) = "@List"
  42. Menu$(4) = "@Browse"
  43. Menu$(5) = "@Add"
  44. Menu$(6) = "@Delete"
  45. Menu$(7) = "E@xtract"
  46. Menu$(8) = "@Print"
  47. Menu$(9) = "@Kill"
  48. Menu$(10) = "@Erase"
  49. Menu$(11) = "@Quit"
  50.  
  51. Info$(1) = "Open a PowerBASIC Library for modification"
  52. Info$(2) = "Create a PowerBASIC Library"
  53. Info$(3) = "List the OBJ's or PBU modules in a PowerBASIC Library"
  54. Info$(4) = "Browse the current List/Map File"
  55. Info$(5) = "Add OBJ's or PBU modules to a New or Existing PowerBASIC Library"
  56. Info$(6) = "Delete OBJ's or PBU modules from an Existing PowerBASIC Library"
  57. Info$(7) = "Extract OBJ's or PBU modules from an Existing PowerBASIC Library"
  58. Info$(8) = "Print the currently selected library Map File"
  59. Info$(9) = "Delete a PowerBASIC Library File from Disk"
  60. Info$(10) = "Erase OBJ's or PBU modules from DNA Library Managers work Directory"
  61. Info$(11) = "Quit the DNA Library Manager"
  62.  
  63. SCREEN 0
  64.  
  65. LPointer% = -1
  66.  
  67. POPWIND "",1,1,23,80,31,0,1
  68. COLOR 7,1
  69. LOCATE 3,6,0:PRINT "─╥────┐           ╥";
  70. LOCATE 4,6,0:PRINT " ║    │           ║";
  71. LOCATE 5,6,0:PRINT " ║    │ ╓──┐ ╓──┐ ║       ─╥─ ╥─┐";
  72. LOCATE 6,6,0:PRINT " ║    │ ║  │ ╟──┤ ║        ║  ╟─┴┐";
  73. LOCATE 7,6,0:PRINT "─╨────┘ ╨  ┴ ╨  ┴ ╨─────┘ ─╨─ ╨──┘";
  74.  
  75. LOCATE 10,22,0:PRINT "╥";
  76. LOCATE 11,22,0:PRINT "║";
  77. LOCATE 12,22,0:PRINT "║       ─╥─ ╥─┐  ╥──┐ ╓──┐ ╥──┐ ╥  ┬";
  78. LOCATE 13,22,0:PRINT "║        ║  ╟─┴┐ ╟─┬┘ ╟──┤ ╟─┬┘ ╙──┤";
  79. LOCATE 14,22,0:PRINT "╨─────┘ ─╨─ ╨──┘ ╨ ┴  ╨  ┴ ╨ ┴  ╙──┘";
  80.  
  81. LOCATE 17,38,0:PRINT "╓──╥──┐";
  82. LOCATE 18,38,0:PRINT "║  ║  │";
  83. LOCATE 19,38,0:PRINT "║  ║  │ ╓──┐ ╓──┐ ╓──┐ ╓──┐ ╥──┐ ╥──┐";
  84. LOCATE 20,38,0:PRINT "║  ║  │ ╟──┤ ║  │ ╟──┤ ║ ─┐ ╟─   ╟─┬┘";
  85. LOCATE 21,38,0:PRINT "╨  ╨  ┴ ╨  ┴ ╨  ┴ ╨  ┴ ╙──┘ ╨──┘ ╨ ┴";
  86.  
  87. Jump:
  88.  
  89. LOTUS Menu$(),Info$(),HiLight%,Mouse%,LPointer%,14,14,79,7,112,24,2
  90.  
  91.   SELECT CASE LPointer%
  92.     CASE 1
  93.       GOSUB GetPBU
  94.     CASE 2
  95.       GOSUB GetName
  96.     CASE 3
  97.       GOSUB GetUnits
  98.     CASE 4
  99.       GOSUB BrowseMap
  100.     CASE 5
  101.       GOSUB AddUnits
  102.     CASE 6
  103.       GOSUB DeleteUnits
  104.     CASE 7
  105.       GOSUB ExtractUnits
  106.     CASE 8
  107.       GOSUB PrintLib
  108.     CASE 9
  109.       GOSUB EraseLib
  110.     CASE 10
  111.       GOSUB EraseDir
  112.     CASE 11
  113.       GOTO WayOut
  114.   END SELECT
  115.  
  116. DO
  117. DELAY .5
  118. WHILE NOT INSTAT
  119.   IF Mouse% THEN
  120.     ShowCursor: Rgt% = 0: Lft% = 0
  121.     Clicked Rgt%,Lft%,MRow%,MCol%
  122.     IF Lft% AND MRow% = 24 THEN
  123.       FindMenu MRow%,MCol%,Found%
  124.       IF Found% THEN
  125.         LPointer% = Found%
  126.         HideCursor: HiLight% = 1
  127.         GOTO Jump
  128.       END IF
  129.     END IF
  130.   END IF
  131.   IF AltKey% THEN
  132.     HiLight% = 1
  133.     IF LPointer% = 0 THEN LPointer% = 1
  134.     GOTO Jump
  135.   END IF
  136. WEND
  137. Ky$ = INKEY$
  138.  
  139. LOOP UNTIL Ky$ = CHR$(27)
  140.  
  141. WayOut:
  142.  
  143. IF LEN(DIR$("COMMAND.FIL")) THEN KILL "COMMAND.FIL"
  144. IF LEN(DIR$("LIBINFO.TXT")) THEN KILL "LIBINFO.TXT"
  145.  
  146. IF LEN(DIR$("*.OBJ")) OR LEN(DIR$("*.PBU")) THEN
  147.   IF YesNo%("Delete all Extracted modules from " + Home$ + " (Y or N)",1,10,79,112,1,1) THEN
  148.     IF LEN(DIR$("*.PBU")) THEN SHELL "DEL *.PBU > NUL"
  149.     IF LEN(DIR$("*.OBJ")) THEN SHELL "DEL *.OBJ > NUL"
  150.   END IF
  151. END IF
  152.  
  153. IF Mouse% THEN HideCursor
  154.  
  155. COLOR 7,0
  156. CLS
  157. END
  158. '----------------------------------------------------------------------------
  159. GetPBU:
  160.  
  161. i% = 1
  162. PBLib$(i%) = DIR$(LibHome$ + "*.PBL")
  163.  
  164.   DO
  165.     INCR i%
  166.     PBLib$(i%) = DIR$
  167.     IF i% = 100 THEN EXIT LOOP
  168.   LOOP WHILE PBLib$(i%) <> ""
  169.  
  170. IF LEN(PBLib$(1)) THEN
  171.  
  172.   SCROLLBOX PBLib$(),PickLibName$,"PBL's",Mouse%,10,0,1,0,0,14,112,0,0,1,1
  173.  
  174.   IF LEN(PickLibName$) THEN
  175.     LibName$ = PickLibName$
  176.   ELSE
  177.     RETURN
  178.   END IF
  179.  
  180.   UpDateModules:
  181.  
  182.   IF LEN(LibName$) THEN
  183.     IF LEN(DIR$(LibHome$ + LibName$)) THEN
  184.       FileNumber% = FREEFILE
  185.       OPEN "COMMAND.FIL" FOR OUTPUT AS #FileNumber%
  186.       PRINT #FileNumber%,"O";LibHome$ + LibName$
  187.       PRINT #FileNumber%,"M"
  188.       PRINT #FileNumber%,"C"
  189.       PRINT #FileNumber%,"Q"
  190.       CLOSE #FileNumber%
  191.     END IF
  192.     MEMPACK
  193.     SHELL PBLibHome$ + "PBLIB COMMAND.FIL > LIBINFO.TXT"
  194.     IF LEN(DIR$("LIBINFO.TXT")) THEN
  195.       FileNumber% = FREEFILE
  196.       OPEN "LIBINFO.TXT" FOR BINARY AS FileNumber%
  197.       IF LOF(FileNumber%) > EmptyLib% + (4 * LEN(LibHome$ + LibName$)) THEN
  198.         CLOSE FileNumber%
  199.         FOR i% = 1 TO 500
  200.           Module$(i%) = ""
  201.         NEXT i%
  202.         Ok% = 1
  203.         OPEN "LIBINFO.TXT" FOR INPUT AS #1
  204.         i% = 1
  205.         DO
  206.           LINE INPUT #1, Test$
  207.             IF LEN(Test$) THEN
  208.               IF INSTR(Test$,".PBU") OR INSTR(Test$,".OBJ") THEN
  209.                 Module$(i%) = Test$: INCR i%
  210.               END IF
  211.             END IF
  212.         LOOP WHILE NOT EOF(1)
  213.         CLOSE #1
  214.       ELSE
  215.         Message$(1) = LibHome$ + LibName$ + " has 0 Modules!"
  216.         FOR i% = 1 TO 500
  217.           Module$(i%) = ""
  218.         NEXT i%
  219.         Ok% = 0
  220.         SOUND 50,5
  221.         DIALOG Message$(),"",Mouse%,3,0,0,14,79,1,1
  222.       END IF
  223.       CLOSE FileNumber%
  224.     END IF
  225.   END IF
  226. ELSE
  227.   Message$(1) = LibHome$ + " has No Libraries!"
  228.   Ok% = 0
  229.   SOUND 50,5
  230.   DIALOG Message$(),"",Mouse%,3,0,0,14,79,1,1
  231. END IF
  232.  
  233. RETURN
  234. '----------------------------------------------------------------------------
  235. GetName:
  236.  
  237. PBLName$ = "        "
  238. Fill% = 176 :Row% = 12 :Col% = 49
  239.  
  240. IF Mouse% THEN HideCursor
  241.  
  242. SAVESCREEN EditScreen$,11,18,13,62,1
  243.  
  244. POPWIND Title$,11,18,13,62,112,1,1
  245. LOCATE Row%,20,0:COLOR 0,7:PRINT "Enter a name for the Library         .PBL"
  246. LINEEDIT DosAllow$,PBLName$,Mouse%,MouseRow%,MouseCol%,Fill%,Row%,Col%,Editkey%,14
  247. LOCATE,,0
  248.  
  249. IF Mouse% THEN HideCursor
  250.  
  251. RESTORESCREEN EditScreen$,11,18
  252.  
  253. IF LEN(LTRIM$(RTRIM$(PBLName$))) THEN
  254.   LibName$ = UCASE$(LTRIM$(RTRIM$(PBLName$))) + ".PBL"
  255.   FOR i% = 1 TO 500
  256.     Module$(i%) = ""
  257.   NEXT i%
  258.   Ok% = 0
  259.   IF LEN(DIR$("COMMAND.FIL")) THEN KILL "COMMAND.FIL"
  260.   IF LEN(DIR$("LIBINFO.TXT")) THEN KILL "LIBINFO.TXT"
  261. END IF
  262.  
  263. RETURN
  264. '----------------------------------------------------------------------------
  265. GetUnits:
  266.  
  267. IF Ok% THEN
  268.   PickBox Module$(),NotNeeded$,"Listing of modules in " + LibName$,2,0,Mouse%,112,14,1,1
  269. ELSE
  270.   Message$(1) = "You must Open a PBL file first"
  271.   SOUND 50,5
  272.   DIALOG Message$(),"",Mouse%,3,0,0,14,79,1,1
  273. END IF
  274.  
  275. RETURN
  276. '----------------------------------------------------------------------------
  277. BrowseMap:
  278.  
  279. IF LEN(DIR$("LIBINFO.TXT")) THEN
  280.   FileNumber% = FREEFILE
  281.   OPEN "LIBINFO.TXT" FOR BINARY AS FileNumber%
  282.   IF LOF(FileNumber%) > EmptyLib% + (4 * LEN(LibHome$ + LibName$)) THEN
  283.     BROWSE "LIBINFO.TXT",Mouse%,0,3,8,20,72,112,1,1
  284.   ELSE
  285.     Message$(1) = LibHome$ + LibName$ + " has 0 Modules!"
  286.     SOUND 50,5
  287.     DIALOG Message$(),"",Mouse%,3,0,0,14,79,1,1
  288.   END IF
  289.     CLOSE FileNumber%
  290. ELSE
  291.   Message$(1) = "You must Open a PBL file first"
  292.   SOUND 50,5
  293.   DIALOG Message$(),"",Mouse%,3,0,0,14,79,1,1
  294. END IF
  295.  
  296. RETURN
  297. '----------------------------------------------------------------------------
  298. AddUnits:
  299.  
  300. IF LEN(LibName$) THEN
  301.   PickMenu$(1) = "Extracted modules from current Directory"
  302.   PickMenu$(2) = "OBJ's from " + OBJHome$
  303.   PickMenu$(3) = "PPU's from " + UnitHome$
  304.   PickMenu$(4) = "User defined Path and File specification"
  305.  
  306.   SCROLLBOX PickMenu$(),PickName$,"Add modules from which Directory?",Mouse%,10,0,1,0,0,14,112,0,0,1,1
  307.   IF LEN(PickName$) THEN
  308.     SELECT CASE PickName$
  309.       CASE "Extracted modules from current Directory"
  310.         IF LEN(DIR$("*.OBJ")) OR LEN(DIR$("*.PBU")) THEN
  311.           Path$ = Home$: Ext$ = "*.*"
  312.           GOSUB Selection
  313.         ELSE
  314.           Message$(1) = "There are No Modules In " + Home$
  315.           SOUND 50,5
  316.           DIALOG Message$(),"",Mouse%,3,0,0,14,79,1,1
  317.         END IF
  318.       CASE "OBJ's from " + OBJHome$
  319.         Path$ = OBJHome$: Ext$ = "*.OBJ"
  320.         GOSUB Selection
  321.       CASE "PPU's from " + UnitHome$
  322.         Path$ = UnitHome$: Ext$ = "*.PBU"
  323.         GOSUB Selection
  324.       CASE "User defined Path and File specification"
  325.         WriteToBox Rtrn$,"*.*",Mouse%,112,14,79,1,1
  326.         IF LEN(Rtrn$) THEN
  327.           SplitPath Rtrn$,Path$,Ext$
  328.           GOSUB Selection
  329.         END IF
  330.     END SELECT
  331.   END IF
  332. ELSE
  333.   Message$(1) = "You must Open or Create PBL file first"
  334.   SOUND 50,5
  335.   DIALOG Message$(),"",Mouse%,3,0,0,14,79,1,1
  336. END IF
  337.  
  338. RETURN
  339. '----------------------------------------------------------------------------
  340. Selection:
  341.  
  342. FOR i% = 1 TO 500
  343.   AddModule$(i%) = ""
  344. NEXT i%
  345.  
  346. i% = 1
  347. AddModule$(i%) = DIR$(Path$ + Ext$)
  348.  
  349.   DO
  350.     INCR i%
  351.     AddModule$(i%) = DIR$
  352.     IF i% = 500 THEN EXIT LOOP
  353.   LOOP WHILE AddModule$(i%) <> ""
  354.  
  355.   PickBox AddModule$(),AddArray$,"Add modules to " + LibName$,2,Tag%,Mouse%,112,14,1,1
  356.  
  357.   IF LEN(AddArray$) THEN
  358.     FileNumber% = FREEFILE
  359.     OPEN "COMMAND.FIL" FOR OUTPUT AS #FileNumber%
  360.     PRINT #FileNumber%,"O";LibHome$ + LibName$
  361.     FOR i% = 1 TO 500
  362.       FileName$(i%) = ""
  363.     NEXT i%
  364.     i% = 0
  365.     Temp$ = LTRIM$(AddArray$,CHR$(Tag%))
  366.     DO
  367.       INCR i%
  368.       j% = INSTR(Temp$,ANY CHR$(Tag%))
  369.       IF j% = 0 THEN
  370.         FileName$(i%) = Temp$
  371.       ELSE
  372.         FileName$(i%) = LEFT$(Temp$,j% - 1)
  373.       END IF
  374.       PRINT #FileNumber%,"A" + Path$ + FileName$(i%)
  375.       Temp$ = LTRIM$(Temp$,FileName$(i%))
  376.       Temp$ = LTRIM$(Temp$,CHR$(Tag%))
  377.     LOOP UNTIL FileName$(i%) = ""
  378.     PRINT #FileNumber%,"C"
  379.     PRINT #FileNumber%,"Q"
  380.     CLOSE #FileNumber%
  381.     MEMPACK
  382.     SHELL PBLibHome$ + "PBLIB COMMAND.FIL > NUL
  383.     GOSUB UpDateModules  'this updates the map file and modules array
  384.   END IF
  385.  
  386. RETURN
  387. '----------------------------------------------------------------------------
  388. DeleteUnits:
  389.  
  390. IF Ok% THEN
  391.   PickBox Module$(),DeleteArray$,"Delete modules from " + LibName$,2,Tag%,Mouse%,112,14,1,1
  392.   IF LEN(DeleteArray$) THEN
  393.     IF LEN(DIR$(LibHome$ + LibName$)) THEN
  394.       FileNumber% = FREEFILE
  395.       OPEN "COMMAND.FIL" FOR OUTPUT AS #FileNumber%
  396.       PRINT #FileNumber%,"O";LibHome$ + LibName$
  397.       FOR i% = 1 TO 500
  398.         FileName$(i%) = ""
  399.       NEXT i%
  400.       i% = 0
  401.       Temp$ = LTRIM$(DeleteArray$,CHR$(Tag%))
  402.       DO
  403.         INCR i%
  404.         j% = INSTR(Temp$,ANY CHR$(Tag%))
  405.         IF j% = 0 THEN
  406.           FileName$(i%) = Temp$
  407.         ELSE
  408.           FileName$(i%) = LEFT$(Temp$,j% - 1)
  409.         END IF
  410.         PRINT #FileNumber%,"D" + FileName$(i%)
  411.         Temp$ = LTRIM$(Temp$,FileName$(i%))
  412.         Temp$ = LTRIM$(Temp$,CHR$(Tag%))
  413.       LOOP UNTIL FileName$(i%) = ""
  414.       PRINT #FileNumber%,"C"
  415.       PRINT #FileNumber%,"Q"
  416.       CLOSE #FileNumber%
  417.     END IF
  418.     IF YesNo%("Delete modules from " + LibName$ + " (Y or N)",1,10,79,112,1,1) THEN
  419.       MEMPACK
  420.       SHELL PBLibHome$ + "PBLIB COMMAND.FIL > NUL
  421.       GOSUB UpDateModules  'this updates the map file and modules array
  422.     ELSE
  423.       KILL "COMMAND.FIL"
  424.     END IF
  425.   END IF
  426. ELSE
  427.   Message$(1) = "You must Open a PBL file first"
  428.   SOUND 50,5
  429.   DIALOG Message$(),"",Mouse%,3,0,0,14,79,1,1
  430. END IF
  431.  
  432. RETURN
  433. '----------------------------------------------------------------------------
  434. ExtractUnits:
  435.  
  436. IF Ok% THEN
  437.   PickBox Module$(),ExtractArray$,"Extract modules from " + LibName$,2,Tag%,Mouse%,112,14,1,1
  438.   IF LEN(ExtractArray$) THEN
  439.     IF LEN(DIR$(LibHome$ + LibName$)) THEN
  440.       FileNumber% = FREEFILE
  441.       OPEN "COMMAND.FIL" FOR OUTPUT AS #FileNumber%
  442.       PRINT #FileNumber%,"O";LibHome$ + LibName$
  443.       FOR i% = 1 TO 500
  444.         FileName$(i%) = ""
  445.       NEXT i%
  446.       i% = 0
  447.       Temp$ = LTRIM$(ExtractArray$,CHR$(Tag%))
  448.       DO
  449.         INCR i%
  450.         j% = INSTR(Temp$,ANY CHR$(Tag%))
  451.         IF j% = 0 THEN
  452.           FileName$(i%) = Temp$
  453.         ELSE
  454.           FileName$(i%) = LEFT$(Temp$,j% - 1)
  455.         END IF
  456.         PRINT #FileNumber%,"E" + FileName$(i%)
  457.         Temp$ = LTRIM$(Temp$,FileName$(i%))
  458.         Temp$ = LTRIM$(Temp$,CHR$(Tag%))
  459.       LOOP UNTIL FileName$(i%) = ""
  460.       PRINT #FileNumber%,"C"
  461.       PRINT #FileNumber%,"Q"
  462.       CLOSE #FileNumber%
  463.     END IF
  464.     MEMPACK
  465.     SHELL PBLibHome$ + "PBLIB COMMAND.FIL > NUL
  466.   END IF
  467. ELSE
  468.   Message$(1) = "You must Open a PBL file first"
  469.   SOUND 50,5
  470.   DIALOG Message$(),"",Mouse%,3,0,0,14,79,1,1
  471. END IF
  472.  
  473. RETURN
  474. '----------------------------------------------------------------------------
  475. PrintLib:
  476.  
  477. IF Ok% THEN
  478.   FileNumber% = FREEFILE
  479.   OPEN Home$ + "LIBINFO.TXT" FOR BINARY AS FileNumber%
  480.   IF LOF(FileNumber%) > 32000 THEN
  481.     GET$ FileNumber%, 32000, Text$
  482.   ELSE
  483.     GET$ FileNumber%, LOF(FileNumber%),Text$
  484.   END IF
  485.   CLOSE FileNumber%
  486.   Message$(1) = ""
  487.   SELECT CASE Printer%(0)
  488.     CASE 1
  489.       Message$(1) = "  Time Out  "
  490.     CASE 2
  491.       Message$(1) = "  I/O Error  "
  492.     CASE 3
  493.       Message$(1) = "  No Paper  "
  494.     CASE 4
  495.       Message$(1) = "  Printer is Offline  "
  496.     CASE ELSE
  497.       WIDTH "LPT1:",255
  498.       LPRINT Text$
  499.       SOUND 5000,.5:SOUND 1000,.5
  500.   END SELECT
  501.     IF LEN(Message$(1)) THEN
  502.       SOUND 50,5
  503.       DIALOG Message$(),"",Mouse%,3,0,0,14,79,1,1
  504.     END IF
  505. END IF
  506.  
  507. RETURN
  508. '----------------------------------------------------------------------------
  509. EraseLib:
  510.  
  511. i% = 1
  512. PBLib$(i%) = DIR$(LibHome$ + "*.PBL")
  513.  
  514.   DO
  515.     INCR i%
  516.     PBLib$(i%) = DIR$
  517.     IF i% = 100 THEN EXIT LOOP
  518.   LOOP WHILE PBLib$(i%) <> ""
  519.  
  520.  
  521. IF LEN(PBLib$(1)) THEN
  522.   SCROLLBOX PBLib$(),KillName$,"PBL's",Mouse%,10,0,1,0,0,14,112,0,0,1,1
  523.   IF LEN(KillName$) THEN
  524.     IF LEN(DIR$(LibHome$ + KillName$)) THEN
  525.       IF YesNo%("Delete " + LibHome$ + KillName$ + " from Disk (Y or N)",1,10,79,112,1,1) THEN
  526.         KILL LibHome$ + KillName$
  527.         IF KillName$ = LibName$ THEN
  528.           FOR i% = 1 TO 500
  529.             Module$(i%) = ""
  530.           NEXT i%
  531.           Ok% = 0
  532.           IF LEN(DIR$("COMMAND.FIL")) THEN KILL "COMMAND.FIL"
  533.           IF LEN(DIR$("LIBINFO.TXT")) THEN KILL "LIBINFO.TXT"
  534.         END IF
  535.       END IF
  536.     END IF
  537.   END IF
  538. ELSE
  539.   Message$(1) = "No Libraries! to Delete"
  540.   Ok% = 0
  541.   SOUND 50,5
  542.   DIALOG Message$(),"",Mouse%,3,0,0,14,79,1,1
  543. END IF
  544.  
  545. RETURN
  546. '----------------------------------------------------------------------------
  547. EraseDir:
  548.  
  549. IF LEN(DIR$("*.OBJ")) OR LEN(DIR$("*.PBU")) THEN
  550.   IF YesNo%("Delete all Extracted modules from " + Home$ + " (Y or N)",1,10,79,112,1,1) THEN
  551.     IF LEN(DIR$("*.PBU")) THEN SHELL "DEL *.PBU > NUL"
  552.     IF LEN(DIR$("*.OBJ")) THEN SHELL "DEL *.OBJ > NUL"
  553.   END IF
  554. ELSE
  555.   Message$(1) = "There are No Modules In " + Home$
  556.   SOUND 50,5
  557.   DIALOG Message$(),"",Mouse%,3,0,0,14,79,1,1
  558. END IF
  559.  
  560. RETURN
  561. '----------------------------------------------------------------------------
  562. LibError:
  563.  
  564. Message$(1) = "   ERROR" + STR$(ERR) + " AT PGM-CTR" + STR$(ERADR) + "   "
  565.  
  566. SOUND 50,5
  567.  
  568. DIALOG Message$(),"",Mouse%,3,0,0,14,79,1,1
  569.  
  570. RESUME NEXT
  571. '----------------------------------------------------------------------------
  572. END 'Program
  573. '----------------------------------------------------------------------------
  574.