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

UptoLike

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

2.8. Пример разработки приложения 141
141
End
End Sub
Метод Generate_Click содержит большой блок кода. Первым шагом
является очистка и переопределение массива. Эта процедура очищает все
данные, оставшиеся от предыдущей генерации. Выбирается код шаблона
проекта из массива ItemData в комбинированном списке ProjPlanList.
Функция getInitialSteps выбирает этапы, не имеющие предшественни-
ков. Эти этапы используются для заполнения первого столбца матрицы
PertChart и установки начального числа строк. Вызывается подпрограмма
chartSuccessors для заполнения массива pertChart оставшимися этапами.
Наконец, вызывается generateVisioDiagram для создания Visio
диаграммы сетевого графика.
Sub Generate_Click()
Dim PPtoken As Long ' Указатель шаблона проекта
Dim nextSteps() As Long ' массив для хранения наследников этапа
Dim nextStepCnt As Integer ' число найденных наследников
Dim i As Integer ' счетчик цикла
Dim row As Integer, _
column As Integer ' индексы массива pertChart
Rem Объявление 2-мерного массива позиций ((х,у), где х и у - координаты)
Rem для этапов схемы
Erase pertChart
ReDim pertChart(maxRows, 1) As Long
curMaxRow = 0
Erase pertChartLinks
ReDim pertChartLinks(maxRows, maxRows, 1) As
Coordinates
Erase pendingLinks
ReDim pendingLinks(maxRows, maxRows, 1) As Long
Rem Текущий указатель шаблона проекта, выбранный пользователем,
находится
Rem в массиве ItemData списка ProjPlanList, проиндексированного по
Rem ProjPlanList.Listlndex
PPtoken = ProjPlanList.ItemData(ProjPlanList.ListIndex)
Rem Получение начальных этапов, не имеющих предшественников
nextStepCnt = getInitialSteps(PPtoken, nextSteps())
Rem Заполнение первой логической колонки схемы
column = 1
For row = 1 То nextStepCnt
curMaxRow = curMaxRow + 1
pertChart(row, column) = nextSteps(row)
Next row