Ирина
Посетитель
Всего сообщений: 47
Дата регистрации: 30.07.2012
|
Создано:
30.07.2012 20:17:02
|
Добрый день!
Подскажите, пожалуйста, в результате работы данного макроса на каждой итерации отключается только одна ветвь? Или на следующей итерации остаются отключенными ветви, которые были отключены ранее? И можно ли как-то этого избежать?
|
|
|
Вадим
Гость
|
Создано:
30.07.2012 20:44:45
|
в колонку sta (s отключение) у отмеченной ветви заносится 1 (состояние откл.), считается режим, потом в ту же колонку ставится 0 и так далее по ветвям
можно дописать скрипт и сохранять нужные отключения через копирование в новый столбец, созданный макросом или в массиве
|
|
|
Вадим
Гость
|
Создано:
30.07.2012 20:48:05
|
можно сделать через макрос вариантных расчетов, создать таблицу отключений, для каждого отключения прописать какие узлы и линии отключить (подробнее см. в справке вариантные расчеты) и запустить готовый макрос
|
|
|
Ирина
Посетитель
Всего сообщений: 47
Дата регистрации: 30.07.2012
|
Создано:
30.07.2012 22:17:13
|
Спасибо за ответ! Вопрос о применении данного макроса и возник, чтобы избежать большого количества ручных расчетов: отключить, рассчитать, записать результаты и т.д.
Через вариантные расчеты можно попробовать. А все-таки в данном макросе нельзя ли избежать отключения нескольких линий?
|
|
|
Вадим
Гость
|
Создано:
31.07.2012 06:01:26
|
в макросе поочередного отключения выделенных линий на каждой итерации происходит отключение только одной линии с последующим ее включением после расчета режима, то есть отключения не копятся, в вариантных расчетах можно сделать более одного отключения/включения на один режим
|
|
|
Ирина
Посетитель
Всего сообщений: 47
Дата регистрации: 30.07.2012
|
Создано:
31.07.2012 12:54:36
|
да, теперь убедилась.
Большое Вам спасибо!
|
|
|
regimshik
Заглянувший
Всего сообщений: 6
Дата регистрации: 21.08.2012
|
Создано:
26.09.2012 01:34:16
|
Здравствуйте!
А почему, при запуске данного макроса в таблице контролируемых величин отображаются все строки за исключением последнего отключения? Нажав кнопку расчета режима, последняя строка также становится видна в таблице? И можно ли как то менять очередность отключения линий или они отключаются в том порядке, в котором идут в таблице?
|
|
|
Вадим
Гость
|
Создано:
26.09.2012 01:56:45
|
мб не обновилась таблица, можно нажать обновить на панели инструментов, тогда и последняя строчка должна появиться
Отключение линий идет по строкам в несортированной таблице, чтобы задать свою очередность, надо дописывать макрос. Можно создать свой пустой столбец в таблице, туда ввести номера отключений, потом в макросе сначала прочитать все эти номера, потом упорядочить любым методом и произвести отключения, можно также создать макрос, который будет создавать таблицу вариантных расчетов с отключениями ветвей по какому-то алгоритму
|
|
|
Ирина
Посетитель
Всего сообщений: 47
Дата регистрации: 30.07.2012
|
Создано:
06.11.2012 19:17:29
|
Добрый день!
Подскажите, пожалуйста, ответ на вопрос:
в данном макросе хочу вместо tsta.Z(j)=0, т.е. включения отключенной ветви, загружать заново файл, как в макросе вариантных расчетов. Делаю аналогично: Rastr.Load 1,File,shabl, предварительно аналогично прописав sha="режим.rg2"
File=Rastr.SendCommandmain(1,"","",0)
prdir=Rastr.SendCommandMain(3,"","",0)
shabl=prdir&"SHABLON\"&sha.
Но появляется либо "внутрення ошибка", либо отключается одна ветвь, которая и не выделена вовсе. В чем причина?
|
|
|
Вадим
Гость
|
Создано:
06.11.2012 20:07:10
|
если заново загружаете файл, то летит связка переменные - таблица (то есть все переменные надо заново инициализировать)
тут подробно описана данная проблема http://www.rastrwin.ru/support/forum/...6&UID=1922 (внизу самом)
|
|
|
Михаил Одинцов
Постоянный посетитель
Всего сообщений: 148
Дата регистрации: 22.07.2008
|
Создано:
07.11.2012 13:19:07
|
Цитата |
---|
данном макросе хочу вместо tsta.Z(j)=0, т.е. включения отключенной ветви, загружать заново файл, как в макросе вариантных расчетов. Делаю аналогично: Rastr.Load 1,File,shabl, предварительно аналогично прописав sha="режим.rg2" |
Ну так да, убираете эту строку tsta.Z(j)=0.
Rastr.Load 1,File,shabl поставить перед Set tvetv=Rastr.Tables("vetv"), и завести все это под цикл while.
Перед циклом предварительно найти первый j
Set tvetv=Rastr.Tables("vetv")
tvetv.SetSel("sel")
j=tvetv.FindNextSel(-1)
Может и заработает.
|
|
|
Ирина
Посетитель
Всего сообщений: 47
Дата регистрации: 30.07.2012
|
Создано:
07.11.2012 13:26:47
|
спасибо, дело действительно было в связке переменные- таблица.
а еще такой вопрос, я обращаюсь к двум файлам: из одного формата rg2 считываю, и записываю некоторые данные в другой формата csv, как мне их разделить? File1 и File2 ?
|
|
|
Вадим
Гость
|
Создано:
07.11.2012 13:37:46
|
да, просто ввести две переменные: для rg2 использовать объект растр, для csv использовать объект fso или объект excel либо через объект растр с помощью writecsv и readcsv (можно без переменной)..
|
|
|
Ирина
Посетитель
Всего сообщений: 47
Дата регистрации: 30.07.2012
|
Создано:
07.11.2012 13:44:19
|
спасибо большое!
|
|
|