Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 6 239

/ вопрос решён /

Здравствуйте!
Подскажите как организовать поиск и копирование текста в WORD, находящегося между двумя определенными словами.
К сожалению, найденная функция (приведена в приложении, автор неизвестен) что-то не работает.
Заранее благодарен.
Al_Sha

Приложение:
  1. function get_stext(First, Second, Where: string): string;
  2. var
  3. Pos1, Pos2: Integer;
  4. WhereLower: string;
  5. begin
  6. First := LowerCase(First);
  7. Second := LowerCase(Second);
  8. WhereLower := LowerCase(Where);
  9. Assert(Length(WhereLower) = Length(Where));
  10. Pos1 := PosEx(First, WhereLower, 0);
  11. Pos2 := PosEx(Second, WhereLower, Pos1);
  12. Result := Copy(Where, Pos1 + Length(First), Pos2 - Pos1 - Length(First));
  13. end;


Al_Sha Вопрос решён, но можно продолжить его обсуждение в мини-форуме

Вопрос задал: Al_Sha (статус: Посетитель)
Вопрос отправлен: 3 августа 2012, 20:47
Состояние вопроса: решён, ответов: 0.


Мини-форум вопроса

Всего сообщений: 8; последнее сообщение — 7 августа 2012, 07:26; участников в обсуждении: 3.
Мережников Андрей

Мережников Андрей (статус: Абитуриент), 4 августа 2012, 16:18 [#1]:

Что именно не работает в функции - выдается сообщение об ошибке, не удовлетворяет полученный результат?
Al_Sha

Al_Sha (статус: Посетитель), 4 августа 2012, 22:25 [#2]:

Результата вообще никакого,пустое сообщение...
Мережников Андрей

Мережников Андрей (статус: Абитуриент), 5 августа 2012, 06:23 [#3]:

какие входные данные и как используете (вызываете) функцию?
Al_Sha

Al_Sha (статус: Посетитель), 5 августа 2012, 07:03 [#4]:

procedure TForm1.Button1Click(Sender: TObject);
var st: string;
begin
st := get_stext('first', 'second',
'123123 first text 0123123 text 0123123 second');
ShowMessage(st);
end;

По идее должно выйти сообщение " text 0123123 text 0123123", однако выводится пустое сообщение.
Al_Sha

Al_Sha (статус: Посетитель), 5 августа 2012, 08:36 [#5]:

Спасибо всем, вопрос решен.

procedure TForm1.Button3Click(Sender: TObject);
var
s: string;
d1, d2: Integer;
begin
s:= '123123 first text 123123 else FDFsdf 0123123 second';
d1 := pos('first', s) + length('first');
d2 := pos('second', s);
ShowMessage(Copy(s, d1, d2 - d1));
end;

5 августа 2012, 08:37: Статус вопроса изменён на решённый (изменил автор вопроса — Al_Sha): Спасибо всем, вопрос решен.
См.минифорум

Мережников Андрей

Мережников Андрей (статус: Абитуриент), 5 августа 2012, 23:20 [#6]:

и все-таки непонятно - при чем здесь Word????
Толяныч

Толяныч (статус: 4-ый класс), 6 августа 2012, 12:42 [#7]:

Это, наверное, из детского стишка :

"Кто работает на Word'е,
Получает тот ...."
Al_Sha

Al_Sha (статус: Посетитель), 7 августа 2012, 07:26 [#8]:

>>и все-таки непонятно - при чем здесь Word????
Вопрос был:
"Подскажите как организовать поиск и копирование текста в WORD, находящегося между двумя определенными словами"
который плавно перешел к простому поиску в строке...

Результат нашел применение при работе с текстом документа WORD

>>"Кто работает на Word'е,
>>Получает тот ...."
И за что? И к чему?

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 29 мая 2023, 19:06
Выполнено за 0.02 сек.
Рейтинг@Mail.ru