Страница: 1 |
Страница: 1 |
Вопрос: Sax Basic нужна помощь
Добавлено: 07.06.06 12:44
Автор вопроса:
alsesal
Речь идет о Sax Basic это такая бодяга для написания скриптов в АРИСе (case система для описания бизнес-процессов)
В описании Sax Basicа написано, что "The Sax Basic Language provides the core language definition. It is Visual Basic for Applications(TM) compatible." поэтому обращаюсь в этот форум.
Я чайник (экономист, которого выучили за 2 дня и посадили на ту штуку), поэтому прошу Вас сильно не ругаться. В общем, к делу:
Написал цикл, выглядит он так:
For ipred = 0 To PredkiList.Count - 1
If PredkiList.Get(ipred).ObjDef.TypeNum <> 18 Then
For ipred1 = 0 To model11.GetPredNodes(PredkiList.Get(ipred)).Count -1
predkilist.Add(model11.GetPredNodes(PredkiList.Get(ipred)).Get(ipred1))
Next ipred1
End If
Next ipred
Суть в чем программа сначала выясняет количество объектов в неком списке PredkiList
и затем проходя по очереди объекты этого списка, если они соответствуют некому условию
PredkiList.Get(ipred).ObjDef.TypeNum <> 18
добавляют в список PredkiList еще объекты
predkilist.Add(model11.GetPredNodes(PredkiList.Get(ipred)).Get(ipred1))
В чем вопрос, теоретически (мне так казалось) цикл должен продолжаться до тех пор пока все объекты наконец не будут соответствовать этому условию, однако сама программа работает таким образом
она повторяет цикл только столько раз сколько было в значении PredkiList.Count в самом начале (без учета добавленных в ходе цикла элементов).
Подскажите, если можете, что тут можно сделать?
Ответы
Всего ответов: 4
Номер ответа: 1
Автор ответа: Sharp
Лидер форума
ICQ: 216865379
Вопросов: 106
Ответов: 9979
Web-сайт:
Профиль | | #1
Добавлено: 07.06.06 13:15
например, заменить For на Do While True, в конце цикла увеличивать счетчик i = i + 1 и If i = PredkiList.Count Then Exit Do
Номер ответа: 2
Автор ответа: alsesal
Вопросов: 2
Ответов: 1
Профиль | | #2
Добавлено: 07.06.06 14:53
спасибо
Номер ответа: 3
Автор ответа: Fever
Вопросов: 60
Ответов: 808
Профиль | | #3
Добавлено: 07.06.06 16:22
обращайся
Номер ответа: 4
Автор ответа: Sharp
Лидер форума
ICQ: 216865379
Вопросов: 106
Ответов: 9979
Web-сайт:
Профиль | | #4
Добавлено: 07.06.06 21:29
Ответил я, но обращаться надо к Fever'у
)