home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Crawly Crypt Collection 1
/
crawlyvol1.bin
/
bbs
/
top_dl13
/
td.scr
< prev
next >
Wrap
Text File
|
1993-12-30
|
7KB
|
289 lines
SCRIPT
ABORT OFF
; ------------------------------------------------------
; - -
; - BBS Express! ST Script by Rich Sanchez, Dec 93 -
; - -
; - Designed to run TOP_DL.PRG, TOP Download Listers -
; - by Marc Ferrari of The Quantum Group. -
; - -
; ------------------------------------------------------
; *********************************************************
; *** Variables That NEED To Be Changed For Your System ***
; *********************************************************
; Change the "DEFINE Menu_drive = " line to reflect JUST the Drive
; Letter where THIS Top Down Menu Script is or will be located:
DEFINE Menu_drive = 'I'
; Change the "DEFINE Menu_path = " line to reflect the Path to THIS
; Menu Script:
DEFINE Menu_path = 'I:\TOP_DL\'
; ****************************************************************
; *** END OF Variables That NEED To Be Changed For Your System ***
; ****************************************************************
VAR User_input ; Iinput for user selection.
VAR Delay ; Time delay on invalid input.
VAR Ch_drive ; For drive changes.
VAR Ch_directory ; For directory changes.
VAR Count
VAR Reports
VAR File_to_view
VAR SIG_count
VAR Temp_var_1
VAR Temp_var_2
VAR Toggle
VAR Counter
Ch_drive = FILE_CHGDRIVE ('[Menu_drive]')
Ch_directory = FILE_CHGDIR ('[Menu_path]')
Begin_:
CLEAR SCREEN
IF TIME_EXCEEDED THEN
PRINTE '\n\n'
PRINTE 'Sorry, your time limit is up for today!' CENTER
PRINTE '\n\n'
FOR Delay = 1 to 250 DO
ENDFOR
GOTO EOF
ENDIF
PRINTE
PRINTE 'Top Download Reports' CENTER
PRINTE
IF FILE_EXISTS ('td_menu.dat') THEN
VIEW ('td_menu.dat')
ELSE
CLEAR SCREEN
PRINTE
PRINTE
PRINTE 'WARNING!' CENTER
PRINTE 'TD_MENU.DAT FILE NOT FOUND!' CENTER
PRINTE 'ATTEMPTING TO CREATE ONE' CENTER
PRINTE
PRINTE
GOTO Build_Script_Menu_
ENDIF
PRINTE
IF COMMAND_LEVEL 32 THEN
PRINT ' Enter File SIG Number, S for SysOp Menu or X to eXit > '
ELSE
PRINT ' Enter File SIG Number or X to eXit > '
ENDIF
User_Choice_:
INPUT User_input 2 NORETURN
IF User_input = S
GOTO SysOp_menu_
EF User_input = X
GOTO EOF
ENDIF
CLEAR SCREEN
IF User_input = NUMERIC THEN
; Don't do anything
ELSE
PRINTE
PRINTE
PRINTE 'Invalid Entry!' CENTER
PRINTE
PRINTE
PRINTE '<Press Any Key To Continue>' CENTER
GET_KEY User_input
GOTO Begin_
ENDIF
; VALID ENTRY
File_to_view = 'TOP_DL.[User_input]'
IF FILE_EXISTS ('[File_to_view]') THEN
VIEW ('[File_to_view]' , SHOWALL PAGEBRK )
ELSE
PRINTE
PRINTE
PRINTE 'SORRY' CENTER
PRINTE 'FILE DOES NOT EXIST!' CENTER
PRINTE
PRINTE
ENDIF
PRINTE '<Press Any Key To Continue>' CENTER
GET_KEY User_input
GOTO Begin_
Build_Script_Menu_:
IF COMMAND_LEVEL 32 THEN
ELSE
GOTO Begin_:
ENDIF
; Now go through and search for the existance of each possible TOP_DL.x
; file. If it exists get the File SIG name from it, manipulate it and
; stick it in the appropriate Table array element. Also check to make
; sure there is at least one TOP_DL.x file. If not create a dummy
; TD_MENU.DAT file.
Temp_var_2 = 0 ; Temp counter, number of TOP_DL.x files found
FOR Count = 1 to 32 DO
Reports = 'TOP_DL.[Count]'
IF FILE_EXISTS ('[Reports]') THEN
INCREASE Temp_var_2
; Open the file for INPUT ( Read it ).
OPEN ( 'TOP_DL.[Count]' , INPUT )
; Grab line 3 of TOP_DL.x file which contains the SIG Name.
FINPUT Temp_var_1 3
; Now close that file.
CLOSE
; The TOP_DL.x file has the File SIG Name starting at position 16 of
; line 3. So we want to grab just that portion. The line should
; never be greater than 46.
Temp_var_1 = COPY ( Temp_var_1 , 16, 46 )
; Take the variable Count which is the SIG number and Expand it to
; two characters.
EXPAND ( Count , 2 )
; Put the "|" characters at the beginning and end of the SIG number
; and add the SIG Name for formatting purposes.
Temp_var_1 = ' |[Count]| [Temp_var_1]'
; Now expand that string to 39 characters.
EXPAND ( Temp_var_1 , 39 )
; Now stick the formatted string into the Dynamic Table.
TABLE_PUT ( Count , '[Temp_var_1]' )
ELSE
; If we did not find a TOP_DL.x file then put a 'NOT USED' in that
; Table location.
TABLE_PUT ( Count , 'NOT USED' )
ENDIF
ENDFOR
IF Temp_var_2 < 1 THEN
; There were no TOP_DL.x files
OPEN ( 'td_menu.dat' , OUTPUT )
FPRINTE ''
FPRINTE ''
FPRINTE ' No Top x Download Files Found!'
FPRINTE ''
FPRINTE ''
CLOSE
GOTO Begin_
ENDIF
; Now copy Table items 1 through 32 which have valid SIG strings into
; Table positions 50 up to the number required (82 would be highest)
Counter = 49
FOR Count = 1 to 32 DO
Reports = TABLE_GET (Count)
IF Reports # 'NOT USED'
INCREASE Counter
TABLE_PUT ( Counter , '[Reports]' )
ENDIF
ENDFOR
; Now create a td_menu.dat file which has all the File SIGS for which a
; TOP_DL.x file exists. Format the SIG numbers and names two across.
OPEN ( 'td_menu.dat' , OUTPUT )
Toggle = 0
Temp_var_1 = ''
Temp_var_2 = ''
INCREASE Counter
FOR Count = 50 to Counter DO
INCREASE Toggle
IF Toggle = 1 THEN
Temp_var_1 = TABLE_GET (Count)
ELSEIF Toggle = 2 THEN
Temp_var_2 = TABLE_GET (Count)
Reports = '[Temp_var_1][Temp_var_2]'
FPRINTE '[REPORTS]'
Toggle = 0
ENDIF
ENDFOR
CLOSE
GOTO Begin_
SysOp_menu_:
CLEAR SCREEN
PRINTE '\n\n\'
PRINTE '-----------------------' CENTER
PRINTE '- Top Down SysOp Menu -' CENTER
PRINTE '-----------------------' CENTER
PRINTE '\n\n'
PRINTE '1. Create New Top Down Reports and TD_MENU.DAT' CENTER
PRINTE '2. Create Just a new TD_MENU.DAT ' CENTER
PRINTE '3. Create JUST New Top Down Reports ' CENTER
PRINTE '4. Delete ALL Top Down Reports ' CENTER
PRINTE
PRINTE 'X. eXit this menu ' CENTER
PRINTE
PRINT ' Enter Your Choice> '
INPUT User_input 1 NORETURN
IF User_input = 1
GOSUB Kill_reports_
GEM ('[Menu_path]TOP_DL.PRG')
GOTO Build_Script_Menu_
EF User_input = 2
GOTO Build_Script_Menu_
EF User_input = 3
GEM ('[Menu_path]TOP_DL.PRG')
EF User_input = 4
GOSUB Kill_reports_
ENDIF
GOTO Begin_
Kill_reports_:
; DELETE ALL REPORTS!
FOR Count = 1 to 32 DO
Reports = 'TOP_DL.[Count]'
IF FILE_EXISTS ('[Reports]') THEN
PRINTE ' Deleting [Reports]'
Temp_var_1 = FILE_DELETE ('[Reports]')
ENDIF
ENDFOR
RETURN
EOF:
CLOSE
DEFAULT_PATH
EXIT