Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.04.11;
Скачать: CL | DM;

Вниз

помогите оптимизировать код   Найти похожие ветки 

 
tivispider   (2004-04-19 22:56) [0]

Есть некоторый блок кода, который считывает весь текст из doc файла и записывает его в переменную wstr. Потом анализируется эта  строка на предмет символа абзаца и записывается в массив.

var
MSWord:Variant;
wstr,wstr2:widestring;
i: longint;
begin

MSWord:=CreateOleObject("Word.Application");
MSWord.Documents.Open(docfilename);
wstr:=MSWord.ActiveDocument.Range(0).text;
MSWord.Quit;
Countstrok:=1;

for i:=1 to length(wstr) do
begin
 if (Ord(wstr[i])<>13)  then
      wstr2:=wstr2+wstr[i]
   else
 begin
  book[Countstrok].TempString:=wstr2;
  inc(Countstrok);
  wstr2:="";
 end;
end;

Дело в том что запись текста в переменную wstr занимает очень долгое время. А нельзя обойтись без этого? Т.е. обрабатывать не переменную wstr а напрямую текст в файле?

Я пытался сделать так
if (ord(MSWord.ActiveDocument.Range(0).text[i]))<>13)  then
      wstr2:=wstr2 + MSWord.ActiveDocument.Range(0).text[i]

О пишет  не совместимость типов. Чего я только не перепробовал! Без толку.
Может мне кто-нибудь помочь оптимизировать код?


 
panov ©   (2004-04-19 23:00) [1]

Скопируй через TClipboard.


 
tivispider   (2004-04-19 23:04) [2]

Пример?


 
Andy BitOff ©   (2004-04-19 23:26) [3]

TClipboard - F1.

Если ты попробуешь сам и у тебя не получится, то милости прошу. Обращайся.


 
TUser ©   (2004-04-20 07:06) [4]

Тормоза там есть, но не самые большие. Файл размером порядка 500 страниц (только текст) грузанулся за 13тыс. тиков, а разбросался по массиву стрингов за 5,5 тыс. тиков. А что делать - на большой файл надо много времени :)



Страницы: 1 вся ветка

Текущий архив: 2004.04.11;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.03 c
4-1079420628
adnry
2004-03-16 10:03
2004.04.11
ZwShutdownSystem (из ntdll.dll) - самый быстрый вариант, даже не


3-1079523031
Raids
2004-03-17 14:30
2004.04.11
Не могу редактировать набор данных открытый через Query


14-1079296999
Gero
2004-03-14 23:43
2004.04.11
Написание Shell


1-1082870985
Артем К.
2004-04-25 09:29
2004.04.11
Проблема с предварительным просмотром в QuickReport


14-1082029483
Kolyan
2004-04-15 15:44
2004.04.11
БЕЗОПАСНОСТЬ ПО ЛОКАЛКЕ