Показать сообщение отдельно
  #1  
Старый 13.10.2011, 19:10
kriv0y kriv0y вне форума
Новичок
 
Регистрация: 20.02.2011
Адрес: Луганжелес
Сообщения: 60
Версия Delphi: 7.
Репутация: 10
По умолчанию Простой цикл поиска слова внутри *.doc файла

Здравствуйте, не получается цикл в котором я беру из массива слова и по очереди ищу их в документе word, если слово находит , то вылазит сообщение. Первое слово у меня цикл находит, но остальные не хочет. А если слово не совпадает и его просто нет внутри файла, то показывает ошибку выполнения в памяти.

Код:
procedure TForm1.Button3Click(Sender: TObject);

var
 word:Variant; 
 text_:string;

 slovo: array [0..10] of string; // Создание массива слов которые будут находиться в документе по очереди начиная с первого

 i,ch,z:integer;  //просто счётчики


begin

 Word:=CreateOleObject('Word.Application'); // Создаю ОЛЕ объект  Word
 Word.Documents.Open('c:\1.docx'); // открываю подготовленный документ
 Word.Selection.WholeStory;
 Word.Visible:=true;

 slovo[1]:='Город'; // Добавляю в массив  3 слова, для последующего поиска внутри файла word
 slovo[2]:='Улица';
 slovo[3]:='Район';

 i:=1; // Устанавливаю значение счётчиков в 1
 r:=1;




 for i:= 1 to 3 do // цикл который должен искать слова из масcива slovo по  порядку от 1 до 3

 text_:=slovo[r]; //беру первое слово
 inc(r); //перехожу к следующему слову из массива  для следующего поиска

 Word.Selection.Find.Forward:=true;
 Word.Selection.Find.Text:=text_; // Процедура поиска файла

 if Word.Selection.Find.Execute then ShowMessage('FIND'); // Если слово нашлось, то вылазит табличка FIND



end;



Ответить с цитированием