Расписание на дереве.
Если вы спросите: "Как далеко 'Расписание' ушло от Home Catalog"?
На третьей строке блога, я скажу,
что это одна и та же программа.
Более того сгрузите Home Catalog и тренируйтесь на нём.
Потому, что в отличии от 'Расписания' он идёт с
пустой поляной.
И вам ничто не будет мешать.
Отработайте создание новых
элементов, исправление старых,
перенос, копирование, картинки,
поиски.
Делать то же самое в 'Расписании' будет
неудобно.
Я сохранил тот граф, что получился
во время отладки для того,
чтобы стала понятна постановка
задачи.
Завуч создаёт расписание для
учителей.
По его команде, программа пересчитывает расписание для учителей в
расписание для классов.
Вывод расписания в таблицы
выполняется из окна расписания для учителей.
Потому, что оно главное.
Теперь, сама постановка.
Завучу, чтобы сделать расписание для
учителей, надо пройти по 5-и этажам
Предмет
Учитель
День
Час
Класс
Аудитория? Её здесь не будет.
Если в готовом расписании вы поменяли час, хотя бы, в одном месте, у вас, по принципу домино, рухнуло всё.
Если в готовом расписании вы поменяли час, хотя бы, в одном месте, у вас, по принципу домино, рухнуло всё.
Если вы поменяли аудиторию-вы не изменили ничего.
Никто из-за
этого не позвонит жене, отменить поход в театр.
Значит, параметр
Аудитория лишний и прочность
этого принципа, лучше не испытывать.
Потом, когда будет готова Эксель таблица- там ему самое место.
Первая иллюзия: перевернул этажерку
завуча-получил расписание для классов.
Ну-ка:
Класс /* А что? Неплохо.*/
Час /* Нет. Здесь должен стоять день */
День /*
Здесь должен стоять час */
Учитель /* Здесь должен стоять предмет */
Предмет /* Здесь должен стоять учитель */
Одного переворота не хватит, нужна
ещё подтасовка.
И из-за неё структура расписания
становится негибкой.
Я б сказал, бетонной. 5 ступенек
вниз, после головного элемента.
Такая ветка будет расцениваться, как
расписание.
Меньше 5-и, больше 5-и, это что-то
вспомогательное.
У меня нет другой индикации, потому
что предметы, дни, часы, классы вы называете, как хотите-нет никаких
стандартов никаких ограничений.
Никакой математики тоже нет.
Всё построено на сортировках.
Поэтому, синоним-это самый страшный
зверь.
"Понедельник Чётный",
"Чётный Понедельник"-два разных дня.
"1-a","1-а"-два
разных класса, один написан по-английски, второй по-русски.
"1 Урок"," Урок
1" два разных часа.
В данной ситуации, я бы посоветовал:
всех фигурантов расписания собрать в Чулане и оттуда копировать в
расписание.
Так как процедура копирования в Home Catalog, если сравнивать с
Эксплорером, то это с точностью
наоборот-запоминается место копирования, а не объект копирования. Одно
запоминания и вы заполняете, к примеру, день часами за секунды.
Надо, только, немного уменьшить
ширину окна, чтоб не таскать мышь через весь стол, сама мышь в правой руке,
клавиша F8, в
левой и вперёд.
Можно, даже, держать в Чулане
готовые обоймы. Я не стал, а вам кто мешает?
Не знаю что лучше, можно применить
эволюционный метод-строить ваше расписание поверх моего, удаляя всё, что
мешает. А можно революционный.
Скопировать всю библиотеку, стереть tree_map.txt и с чистого
листа…
Кто показывает дерево классного
расписания ?
Вполне полноценный Home Catalog, правда, tree_map.txt у него не
совсем полноценный-всякий раз
пересчитывается. Я не мог держать два tree_map.txt в одной и той же библиотеке,
поэтому появилась под-библиотека class_chedule .
Держите её в курсе новых картинок: catalog_picture.
Адрес для скачивания: