Основная проблема в скорости получения данных, а именно в
for i:=0 to WordApp.selection.words.count
begin
str:=WordApp.selection.words.items(i).text;
rr:= WordApp.selection.words.items(i).range;
end;
очень долго работает. Как это все сделать быстрее?
Быстрее и проще
str:=WordApp.selection.text;
но нужен range каждого слова.
Помогите пожалуйста...
Re: Импорт данных из Word в Delphi
От:
Аноним
Дата:
18.04.07 13:27
Оценка:
Здравствуйте, Аноним, Вы писали:
А>Быстрее и проще
А>str:=WordApp.selection.text;
А>но нужен range каждого слова.
А>Помогите пожалуйста...
А зечем range? если есть строка со всеми словами — не прощее е распарсить средствами Delphi?
Re[2]: Импорт данных из Word в Delphi
От:
Аноним
Дата:
18.04.07 15:10
Оценка:
Здравствуйте, Аноним, Вы писали:
А>Здравствуйте, Аноним, Вы писали:
А>>Быстрее и проще
А>>str:=WordApp.selection.text;
А>>но нужен range каждого слова.
А>>Помогите пожалуйста...
А>А зечем range? если есть строка со всеми словами — не прощее е распарсить средствами Delphi?
Мне надо после обработки выделить конкретное слово каким-нибудь цветом или "форматом"...
Re[3]: Импорт данных из Word в Delphi
От:
Аноним
Дата:
19.04.07 05:34
Оценка:
Здравствуйте, Аноним, Вы писали:
А>Мне надо после обработки выделить конкретное слово каким-нибудь цветом или "форматом"...
остается только переписать, соблюдая синтаксис delphi, и вставить в цикл.
Re[4]: Импорт данных из Word в Delphi
От:
Аноним
Дата:
19.04.07 07:52
Оценка:
Здравствуйте, Аноним, Вы писали:
А>Здравствуйте, Аноним, Вы писали:
А>>Мне надо после обработки выделить конкретное слово каким-нибудь цветом или "форматом"...
А>На VB это может выглядить так:
А>
А>остается только переписать, соблюдая синтаксис delphi, и вставить в цикл.
Спасибо за совет, я думал о таком варианте, но пока не пробовал.
Хотел сделать по проще, в том смысле что парсер делать немножко лень , а
word довольно грамотно возвращает слова (и range соответственно) даже если они через дефис и т.п.
Но медленно и быстрее никак ?!
[Skip]
А>Хотел сделать по проще, в том смысле что парсер делать немножко лень , а А>word довольно грамотно возвращает слова (и range соответственно) даже если они через дефис и т.п. А>Но медленно и быстрее никак ?!
Здравствуйте, Danchik, Вы писали:
D>Здравствуйте, Аноним, Вы писали:
D>[Skip]
А>>Хотел сделать по проще, в том смысле что парсер делать немножко лень , а А>>word довольно грамотно возвращает слова (и range соответственно) даже если они через дефис и т.п. А>>Но медленно и быстрее никак ?!
D>Так сносно? D>
[Skip, пожалуйста не цитируйте все]
А>Вот это да, супер !!!
Вообще то, было бы классно, если бы вы зарегистрировались и поставили оценку
Мелочь но приятно.
А>Проверил: 40 страниц примерно за 2 минуты это уже супер "гуд"!!! А>А тем способом: 8 ито не дождался конца...
А>Теперь другой вопрос, а почему ? (надеюсь не глупый )
Скорее всего вызов Item(i) делает то же что и Next * i раз, при чем, Words.Count это вызов Next * Count раз. Вот и посчитайте в какие тормоза мы падаем.
А в предложеном мною решении все делается за один проход.