На главную страницу
Русский English
 


Поддержка
Форум
Техподдержка
Закрытый разделПерсональная

Авторизация

Запомнить меня на этом компьютере
  Забыли свой пароль?
  Регистрация



Поиск по сайту


Подписка

Изменение параметров

Hits 67410049
1399
Hosts 3607619
656
Visitors 53562982
1386

60


Главная / Поддержка / Форумы / Макро

Форум «Макро»

Версия для печати Версия для печати

Список форумов
Новые темы
Список тем
Поиск по форумам
Помощь
Войти
Регистрация


Тема: «Макрос для нумерации параллельных ветвей » в форуме: Макро   Просмотров: 8608
 
Владимир Неуймин
Администратор
 
Всего сообщений: 268
Дата регистрации: 13.03.2007
Создано: 10.11.2007 14:00:17
 
 
Макрос нумерует все ветви, имеющие номер паралельной равный 0, последовательно начиная с 1. Те ветви в которых номер параллельности уже задан (!=0) не перенумеровываются, Обратный порядок задания узлов не контролируется.
Код

r=setlocale("en-us") '  установить разделитель точка для операций ввода-вывода
Rastr.LockEvent=True ' блокировка изменения информации в открытых окнах
Rastr.LogEnable=False ' блокировка вывода в протокол
' Текст макроса
'------------------------­----
'
NumParallel
'
'------------------------­----
Rastr.LogEnable=True
Rastr.LockEvent=False
Rastr.SendChangeData HINTR_CHANGE_COL,"vetv","­np",0  ' обновить содержимое открытых окон




Sub NumParallel
set tvetv =Rastr.Tables("vetv")
set c_ip= tvetv.Cols("ip")
set c_iq= tvetv.Cols("iq")
set c_np= tvetv.Cols("np")

nv=tvetv.Size-1

for i=0 to nv
   ip=c_ip.Z(i)
   iq=c_iq.Z(i)
   np=c_np.Z(i)
   if np=0 then
      k=1
      c_np.Z(i)=k
      k=k+1
      tvetv.SetSel("ip=" &ip & "& iq=" &iq & " & np=0")
      j=tvetv.FindNextSel (i+1)
      while j<>-1
         c_np.Z(j)=k
         k=k+1
         j=tvetv.FindNextSel (j)
      wend
   end if
next
end sub
 
Профиль
Наверх
Андрей Крутенёв
Гость
 
Создано: 20.11.2007 15:20:38
 
 
Хм. Тогда все ветви будут иметь номер параллельности от 1 и выше...
Такое сейчас редкость.
Вот если бы все ветви, имеющие параллельные элементы, заполучали NP=1 и выше, а одиночные - нет, тогда было бы более похоже... не знаю, правда, на что. С улыбкой
 
Наверх
Юрий Григорьев
Заглянувший
 
Всего сообщений: 1
Дата регистрации: 05.05.2017
Создано: 05.05.2017 15:33:56
 
 
Добрый день!
Подскажите пожалуйста! Данный макрос некорректно присваивает номер параллельности ветви: допустим при наличии 4-ех параллельных ветвей макрос присваивает 1-ой цепи номер параллельности - 1; 2-ой цепи - 1; 3-ей цепи - 2; 4-ой цепи - 3.
 
Профиль
Наверх



Читают тему
гостей: 1, пользователей: 0, из них скрытых: 0


Список форумов
Новые темы
Список тем
Поиск по форумам
Помощь
Войти
Регистрация







Программный комплекс «RasrWin»
Программный комплекс «RastrWin»
© «RastrWin», 1988-2019