Владимир Неуймин
Администратор
Всего сообщений: 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.
|