Большой текст. Нужно разобрать. Каким путем пойти?
От: trdm Россия  
Дата: 12.02.05 10:17
Оценка:
Привет всем.
Возможно задаю вопрос не в тот форум, но тут уж столько намешано, судите сами:
Есть 1С — Конфигуратор. Есть способ из конфигуратора обратиться к тексту
модуля текущего объекта на VBScript. Проблема: есть модули с огромным > 14 тыс.
строк содержанием. Для того чтобы из этого массива строк выделить нужную процедуру/
функцию для парсинга её текста написал класс на VBScript, который индексирует этот массив
строк определенным образом с пом. регулярных выражений, поиска и т.д. и формирует массив
элементов класса TheModuleItem
Class TheModuleItem
Public TypeItem ' Тип итема: 0 — описание переменных и предописание процедур и функций..
' 1 — процедра
' 2 — функция
' -1 — не распознан
Public Name ' Имя процедуры / функции.
Public NameFull ' Имя полное процедуры / функции. (с параметрами)
Public LineStart ' Строка, где начинается функция/процедура
Public LineEnd ' Строка, где заканчивается

Public LenthText ' Длинна текста

Public Parameters ' Строка переменных с именами параметров ч/з запятую

Public Text ' Полный текст функции
Public TextBezKommet ' Полный текст функции, но без комментариев..
Class TheModule
Public ModuleName ' Имя модуля
Public CounItem 'Количество процедур/функций
Public CounLine 'Количество строк в модуле когда он отсканирован... для подстройки
Public ArrItem 'Массив процедур/функций модуля класс "TheModuleItem"

Так вот индексация модуля в 14482 стр. занимает от 1 до 3 сек.
Так как это используется для Intellisence т.е. поиск методов/реквизитов текущего "слова",
то такая задержка очень критична.
*************************************************
Вопрос: Каким способом пойти, что-бы ускорить данный процесс?
Есть интерфейс ITextDoc у компоненты, представляющей доступ к объектам метаданных, и возможность создания плагинов,
но я не могу разобраться как добавить поддержку плагина в скрипт. Может есть ссылка на литературу? Подскажите плз.
Написать COM — объект для индексации и использовать в VBScript? На сколько будет быстрее работать?
...и каким путем пойти?


19.07.05 10:06: Перенесено модератором из 'MFC' — оффтопик — SchweinDeBurg
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.