Main getLogName <-- none, --> logName viewAscii <-- logName, --> none END Submodule getLogName(INPUT none, OUTPUT logName) INPUT fileName fileName = fileName + ".csv" TextFile inputFile construct inputFile using TextFile <-- fileName, "r", --> none existCheck = inputFile.openFile IF existCheck = false THEN OUTPUT "error" construct newFile using TextFile <-- fileName, "w", --> none OUTPUT "File created" EXPORT fileName ELSE EXPORT fileName END IF END SUBMODULE Submodule displayMenu(INPUT logName, OUTPUT none) choice = 0 x=0 WHILE (x = 0) DO OUTPUT menu INPUT choice CASE OF 1: newEntry <-- logName, --> none x=1 2: viewEntries <-- logName, --> none x=1 3: viewAscii <--logName, --> none x=1 4: exitApplication (none) END CASE END WHILE EXPORT choice END SUBMODULE Submodule newEntry (INPUT logName, OUTPUT none) OUTPUT "creating entry" id = 1 guardType = 'S' option = 0 OUTPUT menu IF option = 1 THEN guardType = 'S' ELSE IF option = 2 THEN guardType = 'P' END IF INPUT lotNumber INPUT streetName id = giveID.getNewID <-- none day= dayTimeNow.day <--none month = dayTimeNow.month <--none year = dayTimeNow.year <-- none hourTime = dayTimeNow.hour <-- none minTime = dayTimeNow.minute INPUT guardComment fileOutput.makeFileAppender <-- guardType, id, lotNumber, streetName, postCode,day, month, year, hourTime, minTime, guardComment OUTPUT (guardType, id, lotNumber, streetName, postCode,day, month, year, hourTime, minTime,guardComment) OUTPUT "Entry successful" displayMenu <-- logName, -->none END SUBMODULE SUBMODULE viewEntries (INPUT logName, OUTPUT none) READ logName OPEN logName WHILE inputFile.endOfFile = FALSE DO INITIALIZE CHAR c = inputFile.readChar OUTPUT c //Not println END WHILE displayMenu <-- logName END SUBMODULE SUBMODULE viewAscii (INPUT logName, OUTPUT none) OUTPUT (elaborate ascii logo) displayMenu <-- logName, --> none END SUBMODULE Class FileAppender Class Field:openedOkay, TextFile Constructors: Default constructor IMPORT none Alternate #1 IMPORT fileName, copType, inID, String inLot, inStreetN, inPCode, inDay, inMonth, inYear, inHour, inMin, inGuardCmnt Construct outputFile using TextFile filename, “a” openedOkay = outputFile.openFile outputFile.rewind WHILE outputFile.endOfFile == false DO outputFile.newLine( outputFile.printItcopType outputFile.printIt ',' outputFile.printItinID outputFile.printIt ',' outputFile.printItinLot outputFile.printIt ',' outputFile.printItinStreetN outputFile.printIt ',' outputFile.printItinPCode outputFile.printIt ',' outputFile.printItinDay outputFile.printIt ',' outputFile.printItinMonth outputFile.printIt ',' outputFile.printItinYear outputFile.printIt ',' outputFile.printItinHour outputFile.printIt ',' outputFile.printItinMin outputFile.printIt ',' outputFile.printItinGuardCmnt outputFile.closeFile END WHILE Class DateTimeClass Class Field: Constructors: Default constructor IMPORT none Accessor day IMPORT none EXPORT ft.formatdNow Construct dNow using Date Construct ftusing SimpleDateFormat "dd" Accessormonth IMPORT none EXPORT ft.formatmNow Construct mNow using Date Construct ftusing SimpleDateFormat"MM" Accessor year IMPORT none EXPORT ft.formatyNow Construct yNow using Date Construct ftusing SimpleDateFormat"yyyy" Accessorhour IMPORT none EXPORT ft.formathNow Construct hNow using Date Construct ftusing SimpleDateFormat"H” Accessor minute IMPORT none EXPORT ft.formathNow Construct dNow using Date Construct ft using SimpleDateFormat"mm" Class IDMaker Class Field:openedOkay, nowID, nextID Constructors: Default constructor IMPORT none Alternate #1 IMPORT inFileName Construct inputFile using TextFile inFileName+".txt", "r" openedOkay = inputFile.openFile inputFile.rewind nowID = inputFile.readInt inputFile.closeFile Construct outputFile using TextFile inFileName+".txt", "w" openedOkay = outputFile.openFile outputFile.rewind IF nowID > 999 AND nowID < 10000 THEN nextID = nowID+1 ELSE nextID = 1000 OUTPUT "LogFile is Full! Make a new one! - program will exit" EXIT SYSTEM ENDIF outputFile.printIt nextID outputFile.closeFile Mutator makeNewID IMPORT inNewFileName EXPORT none initialValue = 1000 Construct outputFile using TextFile inFileName+".txt", "w" openedOkay = outputFile.openFile outputFile.rewind outputFile.printIt initialValue outputFile.closeFile Accessor getNowID IMPORT none Export nowID Accessor getNewID IMPORT none EXPORT nextID