#============================================================================== # Starts the roster viewer. When the user enters the name of the database # it finds the files that correspond to it and loads them in. #============================================================================== runRV IS { NONLOCAL master; set "sketch; set "nodecor; setwindow ((4 15)(16 50) link openingscreen link (phrase ('ROSTER VIEWER'))); ITERATE writescreen ' ' ' ' ' Welcome to the ROSTER VIEWER.' ' Please enter the name of' ' the database to be viewed.' ' '; DBName := trimblanks readscreen ' DATABASE : '; IF `\ IN DBName THEN addr := last (`\ findall DBName) + 1; path := addr take DBName; DBName := phrase toupper . addr drop DBName; ELSE path := null; DBName := phrase toupper DBName; ENDIF; exists := loadroster path DBName "sav; IF exists THEN IF labels value DBName = ("NAME "CLASS "ZONES "DESCRIPTION) THEN clearwindow; master := DBName; rosterlist := DBName; FOR RName WITH (first body keyzones (value DBName)) DO writescreen (' Loading ' link string RName link '...'); loadroster path RName "sav; rosterlist := rosterlist link RName; ENDFOR; IF tally string DBName > 4 THEN newname := tell 4 choose string DBName; ELSE newname := string DBName; ENDIF; writescreen (' Loading ' link newname link 'pred.ndf' link '...'); loaddefs (phrase (path link newname link 'pred.ndf')) 0; writescreen (' Loading ' link newname link 'conv.ndf' link '...'); loaddefs (phrase (path link newname link 'conv.ndf')) 0; writescreen (' Loading ' link newname link 'disp.ndf' link '...'); loaddefs (phrase (path link newname link 'disp.ndf')) 0; writescreen (' Loading ' link newname link 'ops.ndf' link '...'); loaddefs (phrase (path link newname link 'ops.ndf')) 0; ITERATE writescreen ' ' ' ' ' Database loaded.' ' Hit to continue'; cont := readscreen ' '; clearwindow; initsystem rosterlist; main rosterlist path; ELSE ITERATE writescreen ' ' ' ' (' ' link string DBName link ' is not a master file.') ' Hit to continue'; cont := readscreen ' '; clearscreen; ENDIF; ELSE ITERATE writescreen ' ' ' ' ' Sorry, that database is not available.' ' Hit to continue'; cont := readscreen ' '; clearscreen; ENDIF; }