A lot of changes and new features in this one. Less work using new controls and more work on logic and the relationship between controls. To start, we aren't going to use the separated strings any more to hold the data. We will be using the more standard INI files. There will be one section for each school that will have the school name and a comma separated list of campuses. Then there will be a section fro each class. This will hold the class name, school, department and number.
So the way you store the data internally will have to change. Instead of an array of schools, you will need an array of schools and one of classes. As before, when the user selects a school from the list, the list of departments and campuses will be set up. When the user selects a department, the list of class numbers is setup. When they pick a class number, the title is displayed.
Every time one of these fields is selected, the gradebook name field is updated. It consists of the school name, the department, class number and section concatenated together. When the user presses the Done button, the text in the gradebook name field is used to create a directory in the folder that contains all the gradebooks. This folder is part of the changes to the preferences page. After the gradebook folder is created, an INI file is created inside it that has one section containing the class title, department, number section and campus.
The changes to the preferences page include the addition of a title list box. Also, the text that appears on the opening form can be customized. The user can also specify the default directory to use to hold the gradebook folders. To do this last thing, you will need a new form that uses the drivebox and dirbox controls.I built an executable of my current version of the gradebook. Running it may help clarify the requirements. Download the Zip file that contains the executable and data files . Yours does not have to look just like that. The position of the controls, their names or the labels on them is not the primary thing. ASK if you aren't sure what I mean or if you want to know if you are going in the right direction.
ASK if you have any questions.