Объектно-ориентированный подход в программировании. Проектирование и реализация приложений в среде Microsof Office. Евсеева О.Н. - 133 стр.

UptoLike

Составители: 

2.8. Пример разработки приложения 134
134
inChart
chartSuccessors
getSuccessors
getPredecessors
AddPendingLink
Resolve
PendingsLinks
AddLink
insertRows
PPtoken , nextSteps(row)
nextSteps2() , nextStepsCnt2
PPtoken , nextSteps2(i)
prevSteps() , prevStepCnt
row , column
nextSteps2(i)
addThisColumn(1)
row , column+1
row , column
foundlnRow , column+1
prevSteps(j)
fndlnRow , fndlnCol
row , addThisColumnCnt-1
База данных шаблонов проектов
(
ProjPlan.mdb
)
PertPendingLinks
(3- мерный массив целых чисел)
pertChartLinks
(3- мерный массив координат)
PertChart
(2- мерный массив целых чисел)
Рис. 2.8-10.
Функциональная модель процедуры размещения этапов
Те наследники, которые не могут быть размещены на текущем шаге, хранятся в
массиве pendingLinks (массиве "отложенных связей"). Наследник не может
быть помещен в схему, если у него еще есть не участвовавший с схеме
предшественник. Например, хотя этап
Купить Материалы
является
непосредственным наследником этапа
Просмотр архивных планов
, он не может
быть помещен во 2-й столбец массива, потому что он также является
наследником этапа
Получить разрешение
, который, в свою очередь, не может
быть помещен раньше столбца 3 (рис. 2.8-6).
При добавлении этапа в схему необходима проверка его отсутствия в схеме.
Этапы с несколькими наследниками требуют вставки новых записей и
соответствующих дополнений в массивах.
Наконец, рекурсивный вызов процедуры размещения этапов
chartSuccessors осуществляется при появлении этапа(ов) в новой колонке
и заканчивается, когда больше не остается этапов для добавления.
Процедура chartSuccessors использует в своей работе следующие
подпрограммы:
getSuccessorsнайти всех наследников;
getPredecessorsнайти всех предшественников;
addPendingLinkдобавить этап в массив отложенных связей;
ReaolvePendingLinksобработать отложенные связи заданного этапа;