Страница: 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'у  
    
)