> AlexV
Небольшой объем входных данных удобно хранить в txt-файле, ког Лучше использовать xls-файлы, т.е. двигаться по пути ActiveX
Dim xlApp As Excel.Application
> Дарья
Формы - очень полезная вещь. При этом, в зависимости от ситуации удобны как модальные так и немодальные.
Несколько моих рекомендаций
1) полезно завести динамический блок AttentionMark, что-то вроде треугольника с восклицательным знаком на шпильке,как leader, точкой вставки могут быть точки расположения опор. Сам знак (треугольник) (за счет функции stretch) можно перемещать на удобное место. Этот знак должен быть ярким, и устанавливаться автоматически. Иметь как минимум один атрибут Information, в котором хранится текстовая информация об ошибке и т.д. Например, должна быть анкерная опора, пролет больше 500 м, и т.д.
я не энергетик, вам виднее.
2)В атрибутов у опоры можно сделать сразу много, например:
NNode
PoleType
Address
Trassa
Data1
Data2
Data3
Data4 (на всякий случай прозапас, чтобы потом не менять десять раз блок)
Autoconfig (в это поле могут храниться flag (например "*"), можно ли автоматически редактировать те или иные поля)
это поля атрибутов Varattributs(i).textfield (безусловно можно использовать русские названия) TagFields могут устанавливать как автоматически, так и в ручную. Замечу, что автоматически (из программы) можно менять и текстовые поля, так вместо Data1 может впоследствии использовать другое более определенное название.
3) В программе должно присутсвовать множество вспомогательных функций из области вычислительной геометрии типа
IsPointCloseToPolyline(point as variant, pLine as AcadLWPolyline, eps as double) as Boolean
JoinTwoPolylines(pl1 as AcadLW..., pl2 as AcadLW..., key as integer) as Integer
JointPolylines(byref plColls as Collection, eps as double)
FindSpanLength(pline as acadLW..., spanArray as variant) as integer
и т.д.
4)Можно было бы добавить несколько классов,
типа ClassPoleNode, ClassSubStation, ...
5) Можно добавить слои, отвечающие например за расположение фазы, за резервные маршруты, ...