Author |
Topic |
|
m2700
21 Posts |
Posted - 05/04/2006 : 21:09:31
|
вот, что интересно - если крутить задачи через D7, вызывая Visio(у меня 2000), получается быстрее чем через VBA...и еще одно преимущество - чертеж не привязан к VBA модулю автоматизации... можно обрабатывать графические творения любой давности... все крутится через .еxe последней модификации...Б.Г.-грустит, а Борланд пьет кофе, или пиво... |
|
brace
Russia
358 Posts |
Posted - 05/05/2006 : 09:00:44
|
2 m2700
подробнее напиши плиз или где почитать скажи можно на англицком... что может делать дельфя с визио ??? она готовый чертеж может редактировать ??? или сама чертеж создать может на чистом листе визио ??? где D7 достать можно ??? |
|
|
immortal
Russia
391 Posts |
Posted - 05/05/2006 : 16:57:30
|
а зачем?
что значит крутить? я думаю что на С будет ещё быстрее, потомучто делфя фактически на Сях написана, да и на Васике тоже если это сделать, будет всё работать, quote: можно обрабатывать графические творения любой давности...
давно в визио работают немногие, я наверно один из тех которые работают давно, но както не сильно мнея напрягали старые файлы, да и вобще вроде не напрягали, есть проблема восстановления испорченных файлов, но в визио которое уже на подходе это решено, с помощью xml quote: все крутится через .еxe последней модификации
дак и без делфи всё крутится через ехе последней модификации, у меня она например 11.0.5509.0
quote: одно преимущество - чертеж не привязан к VBA модулю автоматизации...
ну и что, у меня на Васике написаны адд-ины и адд-оны и ни к какому VBA не привязаны, а работать с объектной моделью можно без проблем из любого языка программирования, которые работают с объектной моделью, а для начинающего (а порой даже для опытного) программиста автоматизации, Васик лучше, тем, что можно пользоваться макрорекодером и код из VBA легко переносить в проект на VB определив только ссылку на объект визио
тут, как говорится, кто в чём умеет, умеете вы в Делфях, пожалуйста, умеете вы в Сях, ради бога, я лично в Васике могу
визио 2003 форэвер
...а вобще-то я белый и пушистый. |
Edited by - immortal on 05/05/2006 17:00:17 |
|
|
Tumanov
Russia
1198 Posts |
Posted - 05/05/2006 : 18:26:52
|
Надо бы придумать и прокрутить контрольную задачу, чтобы можно было оценить насколько быстрее - на 2% или в два раза. |
|
|
m2700
21 Posts |
Posted - 05/05/2006 : 19:02:33
|
...ситуация, которая заставила искать решение "строгать" чертежи на Visio через другой программный инструмент, следующая... более 20 рабочих станций с тетками за рулем, рождают БЫСТРО чертежи, которые содержат более 2000 Shape,...после чего оные МЕДЛЕННО и наивно начинают заполнять на Excel всякую конкретику по этим чертежам...это все, в динамике законодательства, изменяется через месяц, или даже раньше. Приходится постоянно менять модуль автоматизации написанный для .vst c учетом всего этого чиновничьего беспредела. Поднимаем из архива старый чертеж...начинаем его редактирование в Visio...и , уже доработанный модуль, лается на все и всех... Приходится постоянно дописывать код для возможности работать со старыми чертежами. После того, как это все достало - было принято решение анализировать чертеж и заполнять Excel-спецификацию с применением отвязанного программного инструмента со своим интерфейсом и нормальным, не "Венгерским (VB)" кодом. Для меня - быстрее всего это делать на D3/4/5/6/7/8 - с интерф. польз. меньше мороки под W*** ...вот и все ! А подход и куски кода - я скоро выложу...кстати, большую помощь в реализации всего этого оказал этот Сайт и Мастер Туманов в своих примерах по работе с Visio, в чем ему премного благодарен. |
|
|
Tumanov
Russia
1198 Posts |
Posted - 05/05/2006 : 19:32:50
|
quote: А подход и куски кода - я скоро выложу...
Не забудьте :) |
|
|
m2700
21 Posts |
Posted - 05/07/2006 : 12:42:14
|
...подход - 1.Задача - нужно, чтобы my.ехе сканировал чертеж Visio2000 (или CAD..dwg) и ,по определенным признакам фигур(доп.свойствам), выбирал и что-то с этой информацией делал... 2.Решение - к инструментарию D7 подключаем библиотеку ТИПОВ (это .dll в Visio/Bin/...для каждого релиза Visio - своя, если надо, укажу конкренто, но вроде и так понятно...). после этого, подключаем ее в раздел компиляции кода и все... OOП модуль доступен для программирования. Можно читать, редактировать заранее открытый чертеж, и творить все, что угодно... я, в частности, считываю доп.свойства, провожу с ними вычисления, заполняю всякий текстовый статичный хлам для чиновников и заливаю Excel-шаблон. Это подход к обработке чертежей без VB, со своим интерфейсом. Если нужно, код вызова RPC серверов и т.д выложу, только куда... |
|
|
Tumanov
Russia
1198 Posts |
Posted - 05/07/2006 : 18:51:08
|
Так понятно далеко не всем :( Я с Дельфи практически не работаю, поэтому сразу же наткнулся на проблемы. Во-первых, проблема найти .dll. У меня Visio 2002, папки Visio/Bin/ не наблюдается... Предположил, что использовать надо Vislib.dll, которая лежит в Microsoft Office/Visio10 Далее пытаюсь подключить через меню Import Type Library. При попытке инсталлировать рассказывает, что "A class named TMaster is already installed" и дальше работать отказывается. Это ей не понравилось, что TMaster уже существует на панельке Servers для PowerPoint. При отключении это панельки находит следующего претендента - "A class named TShape". Но это уже на панели Additional, без которой не всегда можно обойтись... Получается, что Дельфи не хочет устанавливать библиотеку типов от Visio, потому что такие типы уже существуют в других библиотеках... Что я делаю не так или как с этим бороться? |
|
|
m2700
21 Posts |
Posted - 05/07/2006 : 20:52:39
|
здесь все просто, я игнорирую подключение всяких А_Х, просто создаю модуль для своего проекта в коде используемого инстр.программирования (здесь - Delphi7.0, но может быть какой угодно, на чем жизнь заставила в свое время зарабатывать на хлеб насущный ). Задача - создать Visio_TLB который в последствии будет обеспечивать внедрение в код при компиляции нужные нам функции для работы с открытым процессом Visio (чертеж должен быть загружен, здесь Боря Г. - просто молодец, содрал многозадачность с Unix-платформы). Решение - открываем Проект_Импорт библиотеки типов...из списка -> (у меня) Visio 2000 Type Liblary [Servise Release 1] [Version 2.1]... открываем, он, зараза, прыгает сразу в BPL-директорию, но мы не такие наивные и выбираем ...Visio/VisLib32.dll, затем нажимаем кнопку [создать модуль] - в проекте открывается новый Паскалевский модуль, который в дальнейшем нужно подключить в секцию USES и при прог. внимательно читать, как обращаться к любимому Visio. У меня, в процессе написания кода, случались биения головой о клаву, радостные запои и др. сопутствующие каждому пр-мисту жизненые события ...но в результате все работает и довольно шустро. |
|
|
brace
Russia
358 Posts |
Posted - 05/10/2006 : 08:52:27
|
quote: 1.Задача - нужно, чтобы my.ехе сканировал чертеж Visio2000 (или CAD..dwg) и ,по определенным признакам фигур(доп.свойствам), выбирал и что-то с этой информацией делал
2 m2700 а стоит ли использовть дельфя для этих целей в визио есть штатное средство репортс которое извлекает любую инфу с чертежа и помещает её куда прикажете. |
|
|
immortal
Russia
391 Posts |
Posted - 05/10/2006 : 18:25:00
|
я всё понимаю, но не пойму одного, в чём преимущества данной реализации на делфи по отношению к такой-же реализации скажем на Си или Васике? или тут просто в разрезе я умею на делфях поэтому на делфях и реализовал, умел бы на Сях, реализовал бы на сях. Я так понимаю, что скорость не в том, что это сделано на делфи, а в способе реализации поставленной задачи. Кстати я только услышал, что быстрее по отношению к VBA, а не тестировали по отношению к аналогичной реализации на Сях или VB? И както хотелось бы поточнее, скорость имеет какую-то величину, на сколько км, или байт, шейпов, документов в секунду быстрее? Вобще как проходили тесты, какие шейпы использовались, сколько мастер-шейпов и ссылок на них и т.д.
Меня конечно интересует работа с мастершейпами и ссылками на них, тут например написали: quote: которые содержат более 2000 Shape
сколько из них одинаковых, т.е. построенных на одном мастершейпе? Ведь как оказывается скорость можно реализовать не только написанием внешних фишек, но и спомощью мастер шейпов.
визио 2003 форэвер
...а вобще-то я белый и пушистый. |
|
|
m2700
21 Posts |
Posted - 05/10/2006 : 20:01:39
|
...вот, есть люди не равнодушные к нашей прогр. сущности... это греет душу, вызывает позывы поднять тост "...мы вместе.." и т.д. про reports - спасибо, надо проверить... для immo...попробуйте сотворить на Visio мастер ОЙ_МАМА - квадратик, или - что угодно другое...и заполните емкий (серьезный) чертеж на V размером не менее 800 кубов этой инфой...потом, помянув добрым словом Мастера Туманова, используя Его код(который работает, как часы..), просканируйте это творение на выборку этих мастеров на любое их свойство, и ...в Васике - успеваем закурить...а в С ил др. - тут радостное состояние души - всякие слова лезут в голову...хочется разбудить жену и сказать "Эй - ты знаешь..."...и узнать который сейчас час, и кто ты в настоящее время есть...и т.п. но не обидиться (что с них взять - работников кухонного интерфейса), а пойти и далее ласково давить клаву, сознавая, что мы-ребята не то-чтобы-как... |
|
|
immortal
Russia
391 Posts |
Posted - 05/12/2006 : 08:32:40
|
м-да! что-то я не вижу результатов ваших тестов скорости, ну, чтож, вот мои:
выгружается из документа визио свойства 748-и шейпов, документ визио и ексель предварительно открыты тест №1 выгрузка 5 свойств (имя мастера, розиция Х, позиция У, Prop.marka, Prop.number) вставка в ексель без активации ячеек ексель, ексель свёрнут: время вставки 1 мин 38 сек. тест №2 выгрузка 5 свойств (имя мастера, розиция Х, позиция У, Prop.marka, Prop.number) вставка в ексель без активации ячеек ексель ексель развёрнут: время вставки 1 мин 50 сек. тест №3 выгрузка 5 свойств (имя мастера, розиция Х, позиция У, Prop.marka, Prop.number) вставка в ексель с активацией ячеек ексель ексель развёрнут: время вставки 2 мин 01 сек. тест №4 выгрузка 3 свойства (имя мастера, розиция Х, позиция У) вставка в ексель без активации ячеек ексель, ексель свёрнут: время вставки 1 мин 1 сек. тест №5 выгрузка 5 свойств (имя мастера, розиция Х, позиция У, Prop.marka, Prop.number) всё тоже, что в тесте № 1 только вместо вставки в ексель данные из визио записываются в переменную: время вставки 1 мин 27 сек.
во всех тестах вставка происходила считыванием данных шейпа - вставкой в ексель по одному.
возможно вставка данных шейпов визио в переменную с соответствующими разделителями а потом значение переменной вставляем в первую ячейку екселя, соответственно быстрее будет на 10 секунд, как показывают тесты.
теперь про Отчёты...(Reports...), не знаю насколько точно я могу сравнивать тесты моей программы с reports, т.к. не знаю механизма выгрузки из reports, собственно вот тест: подготовка - 16 секунд выбор отчёта(в ручную) - 2 создание шаблона отчёта(в ручную если несделан) - 12 сек выгрузка - 16 секунд
итого работа программы выгрузки - 32 секунды, ручная работа от 2 секунд.
видимо визио написан на сях, я пишу на васике вот собственно както сравнили васик и си, теперь тесты ждём от Вас на делфях
для чистоты экчперемента, воспользуйтесь моими файлами http://www.immortal.vstu.edu.ru/test.rar (7,3М) в архиве два файла визио test1 и test2 а заодно и задачка, test2 это такойже test1, т.е. они абсолютно идентичны, только из test1 удалён один элемент и получился test2, кто скажет какой элемент удалён из test1? обратите внимание на размеры файлов test1 и test2, получается из test1 удалили, значит test2 должен быть меньше, а он больше причём в несколько раз, почему? ответ в принципе я озвучивал на этом форуме.
кстати работа программы над файлами test1 и test2 отличается на 1 секунду
визио 2003 форэвер
...а вобще-то я белый и пушистый. |
|
|
|
Topic |
|
|
|