home *** CD-ROM | disk | FTP | other *** search
/ DP Tool Club 15 / CD_ASCQ_15_070894.iso / vrac / dnalib7a.zip / LIBMAN.BAS < prev    next >
BASIC Source File  |  1994-05-16  |  16KB  |  579 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$(),"",0,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$ = CHR$(24) + "ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890_^$~!{}()@'`*.\:"
  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.   PickLibName$ = ""
  172.   SCROLLBOX PBLib$(),PickLibName$,"PBL's",Mouse%,10,0,1,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$(),"",1,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$(),"",1,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,79,1,1
  269. ELSE
  270.   Message$(1) = "You must Open a PBL file first"
  271.   SOUND 50,5
  272.   DIALOG Message$(),"",1,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$(),"",1,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$(),"",1,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.   PickName$ = ""
  306.   SCROLLBOX PickMenu$(),PickName$,"Add modules from which Directory?",Mouse%,10,0,1,3,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$(),"",1,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$(),"",1,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. AddArray$ = ""
  347.  
  348. i% = 1
  349. AddModule$(i%) = DIR$(Path$ + Ext$)
  350.  
  351.   DO
  352.     INCR i%
  353.     AddModule$(i%) = DIR$
  354.     IF i% = 500 THEN EXIT LOOP
  355.   LOOP WHILE AddModule$(i%) <> ""
  356.  
  357.   PickBox AddModule$(),AddArray$,"Add modules to " + LibName$,2,Tag%,Mouse%,112,14,79,1,1
  358.  
  359.   IF LEN(AddArray$) THEN
  360.     FileNumber% = FREEFILE
  361.     OPEN "COMMAND.FIL" FOR OUTPUT AS #FileNumber%
  362.     PRINT #FileNumber%,"O";LibHome$ + LibName$
  363.     FOR i% = 1 TO 500
  364.       FileName$(i%) = ""
  365.     NEXT i%
  366.     i% = 0
  367.     Temp$ = LTRIM$(AddArray$,CHR$(Tag%))
  368.     DO
  369.       INCR i%
  370.       j% = INSTR(Temp$,ANY CHR$(Tag%))
  371.       IF j% = 0 THEN
  372.         FileName$(i%) = Temp$
  373.       ELSE
  374.         FileName$(i%) = LEFT$(Temp$,j% - 1)
  375.       END IF
  376.       PRINT #FileNumber%,"A" + Path$ + FileName$(i%)
  377.       Temp$ = LTRIM$(Temp$,FileName$(i%))
  378.       Temp$ = LTRIM$(Temp$,CHR$(Tag%))
  379.     LOOP UNTIL FileName$(i%) = ""
  380.     PRINT #FileNumber%,"C"
  381.     PRINT #FileNumber%,"Q"
  382.     CLOSE #FileNumber%
  383.     MEMPACK
  384.     SHELL PBLibHome$ + "PBLIB COMMAND.FIL > NUL
  385.     GOSUB UpDateModules  'this updates the map file and modules array
  386.   END IF
  387.  
  388. RETURN
  389. '----------------------------------------------------------------------------
  390. DeleteUnits:
  391.  
  392. IF Ok% THEN
  393.   DeleteArray$ = ""
  394.   PickBox Module$(),DeleteArray$,"Delete modules from " + LibName$,2,Tag%,Mouse%,112,14,79,1,1
  395.   IF LEN(DeleteArray$) THEN
  396.     IF LEN(DIR$(LibHome$ + LibName$)) THEN
  397.       FileNumber% = FREEFILE
  398.       OPEN "COMMAND.FIL" FOR OUTPUT AS #FileNumber%
  399.       PRINT #FileNumber%,"O";LibHome$ + LibName$
  400.       FOR i% = 1 TO 500
  401.         FileName$(i%) = ""
  402.       NEXT i%
  403.       i% = 0
  404.       Temp$ = LTRIM$(DeleteArray$,CHR$(Tag%))
  405.       DO
  406.         INCR i%
  407.         j% = INSTR(Temp$,ANY CHR$(Tag%))
  408.         IF j% = 0 THEN
  409.           FileName$(i%) = Temp$
  410.         ELSE
  411.           FileName$(i%) = LEFT$(Temp$,j% - 1)
  412.         END IF
  413.         PRINT #FileNumber%,"D" + FileName$(i%)
  414.         Temp$ = LTRIM$(Temp$,FileName$(i%))
  415.         Temp$ = LTRIM$(Temp$,CHR$(Tag%))
  416.       LOOP UNTIL FileName$(i%) = ""
  417.       PRINT #FileNumber%,"C"
  418.       PRINT #FileNumber%,"Q"
  419.       CLOSE #FileNumber%
  420.     END IF
  421.     IF YesNo%("Delete modules from " + LibName$ + " (Y or N)",1,10,79,112,1,1) THEN
  422.       MEMPACK
  423.       SHELL PBLibHome$ + "PBLIB COMMAND.FIL > NUL
  424.       GOSUB UpDateModules  'this updates the map file and modules array
  425.     ELSE
  426.       KILL "COMMAND.FIL"
  427.     END IF
  428.   END IF
  429. ELSE
  430.   Message$(1) = "You must Open a PBL file first"
  431.   SOUND 50,5
  432.   DIALOG Message$(),"",1,Mouse%,3,0,0,14,79,1,1
  433. END IF
  434.  
  435. RETURN
  436. '----------------------------------------------------------------------------
  437. ExtractUnits:
  438.  
  439. IF Ok% THEN
  440.   ExtractArray$ = ""
  441.   PickBox Module$(),ExtractArray$,"Extract modules from " + LibName$,2,Tag%,Mouse%,112,14,79,1,1
  442.   IF LEN(ExtractArray$) THEN
  443.     IF LEN(DIR$(LibHome$ + LibName$)) THEN
  444.       FileNumber% = FREEFILE
  445.       OPEN "COMMAND.FIL" FOR OUTPUT AS #FileNumber%
  446.       PRINT #FileNumber%,"O";LibHome$ + LibName$
  447.       FOR i% = 1 TO 500
  448.         FileName$(i%) = ""
  449.       NEXT i%
  450.       i% = 0
  451.       Temp$ = LTRIM$(ExtractArray$,CHR$(Tag%))
  452.       DO
  453.         INCR i%
  454.         j% = INSTR(Temp$,ANY CHR$(Tag%))
  455.         IF j% = 0 THEN
  456.           FileName$(i%) = Temp$
  457.         ELSE
  458.           FileName$(i%) = LEFT$(Temp$,j% - 1)
  459.         END IF
  460.         PRINT #FileNumber%,"E" + FileName$(i%)
  461.         Temp$ = LTRIM$(Temp$,FileName$(i%))
  462.         Temp$ = LTRIM$(Temp$,CHR$(Tag%))
  463.       LOOP UNTIL FileName$(i%) = ""
  464.       PRINT #FileNumber%,"C"
  465.       PRINT #FileNumber%,"Q"
  466.       CLOSE #FileNumber%
  467.     END IF
  468.     MEMPACK
  469.     SHELL PBLibHome$ + "PBLIB COMMAND.FIL > NUL
  470.   END IF
  471. ELSE
  472.   Message$(1) = "You must Open a PBL file first"
  473.   SOUND 50,5
  474.   DIALOG Message$(),"",1,Mouse%,3,0,0,14,79,1,1
  475. END IF
  476.  
  477. RETURN
  478. '----------------------------------------------------------------------------
  479. PrintLib:
  480.  
  481. IF Ok% THEN
  482.   FileNumber% = FREEFILE
  483.   OPEN Home$ + "LIBINFO.TXT" FOR BINARY AS FileNumber%
  484.   IF LOF(FileNumber%) > 32000 THEN
  485.     GET$ FileNumber%, 32000, Text$
  486.   ELSE
  487.     GET$ FileNumber%, LOF(FileNumber%),Text$
  488.   END IF
  489.   CLOSE FileNumber%
  490.   Message$(1) = ""
  491.   SELECT CASE Printer%(0)
  492.     CASE 1
  493.       Message$(1) = "  Time Out  "
  494.     CASE 2
  495.       Message$(1) = "  I/O Error  "
  496.     CASE 3
  497.       Message$(1) = "  No Paper  "
  498.     CASE 4
  499.       Message$(1) = "  Printer is Offline  "
  500.     CASE ELSE
  501.       WIDTH "LPT1:",255
  502.       LPRINT Text$
  503.       SOUND 5000,.5:SOUND 1000,.5
  504.   END SELECT
  505.     IF LEN(Message$(1)) THEN
  506.       SOUND 50,5
  507.       DIALOG Message$(),"",1,Mouse%,3,0,0,14,79,1,1
  508.     END IF
  509. END IF
  510.  
  511. RETURN
  512. '----------------------------------------------------------------------------
  513. EraseLib:
  514.  
  515. i% = 1
  516. PBLib$(i%) = DIR$(LibHome$ + "*.PBL")
  517.  
  518.   DO
  519.     INCR i%
  520.     PBLib$(i%) = DIR$
  521.     IF i% = 100 THEN EXIT LOOP
  522.   LOOP WHILE PBLib$(i%) <> ""
  523.  
  524.  
  525. IF LEN(PBLib$(1)) THEN
  526.   KillName$ = ""
  527.   SCROLLBOX PBLib$(),KillName$,"PBL's",Mouse%,10,0,1,0,14,112,0,0,1,1
  528.   IF LEN(KillName$) THEN
  529.     IF LEN(DIR$(LibHome$ + KillName$)) THEN
  530.       IF YesNo%("Delete " + LibHome$ + KillName$ + " from Disk (Y or N)",1,10,79,112,1,1) THEN
  531.         KILL LibHome$ + KillName$
  532.         IF KillName$ = LibName$ THEN
  533.           FOR i% = 1 TO 500
  534.             Module$(i%) = ""
  535.           NEXT i%
  536.           Ok% = 0
  537.           IF LEN(DIR$("COMMAND.FIL")) THEN KILL "COMMAND.FIL"
  538.           IF LEN(DIR$("LIBINFO.TXT")) THEN KILL "LIBINFO.TXT"
  539.         END IF
  540.       END IF
  541.     END IF
  542.   END IF
  543. ELSE
  544.   Message$(1) = "No Libraries! to Delete"
  545.   Ok% = 0
  546.   SOUND 50,5
  547.   DIALOG Message$(),"",1,Mouse%,3,0,0,14,79,1,1
  548. END IF
  549.  
  550. RETURN
  551. '----------------------------------------------------------------------------
  552. EraseDir:
  553.  
  554. IF LEN(DIR$("*.OBJ")) OR LEN(DIR$("*.PBU")) THEN
  555.   IF YesNo%("Delete all Extracted modules from " + Home$ + " (Y or N)",1,10,79,112,1,1) THEN
  556.     IF LEN(DIR$("*.PBU")) THEN SHELL "DEL *.PBU > NUL"
  557.     IF LEN(DIR$("*.OBJ")) THEN SHELL "DEL *.OBJ > NUL"
  558.   END IF
  559. ELSE
  560.   Message$(1) = "There are No Modules In " + Home$
  561.   SOUND 50,5
  562.   DIALOG Message$(),"",1,Mouse%,3,0,0,14,79,1,1
  563. END IF
  564.  
  565. RETURN
  566. '----------------------------------------------------------------------------
  567. LibError:
  568.  
  569. Message$(1) = "   ERROR" + STR$(ERR) + " AT PGM-CTR" + STR$(ERADR) + "   "
  570.  
  571. SOUND 50,5
  572.  
  573. DIALOG Message$(),"",0,Mouse%,3,0,0,14,79,1,1
  574.  
  575. RESUME NEXT
  576. '----------------------------------------------------------------------------
  577. END 'Program
  578. '----------------------------------------------------------------------------
  579.