|
Вопрос # 6 239/ вопрос решён / |
|
Здравствуйте!
Подскажите как организовать поиск и копирование текста в WORD, находящегося между двумя определенными словами.
К сожалению, найденная функция (приведена в приложении, автор неизвестен) что-то не работает.
Заранее благодарен.
Al_Sha
Приложение: Переключить в обычный режим- function get_stext(First, Second, Where: string): string;
- var
- Pos1, Pos2: Integer;
- WhereLower: string;
- begin
- First := LowerCase(First);
- Second := LowerCase(Second);
- WhereLower := LowerCase(Where);
- Assert(Length(WhereLower) = Length(Where));
- Pos1 := PosEx(First, WhereLower, 0);
- Pos2 := PosEx(Second, WhereLower, Pos1);
- Result := Copy(Where, Pos1 + Length(First), Pos2 - Pos1 - Length(First));
- end;
 |
Вопрос задал: Al_Sha (статус: Посетитель)
Вопрос отправлен: 3 августа 2012, 20:47
Состояние вопроса: решён, ответов: 0.
|
Мини-форум вопроса
Всего сообщений: 8; последнее сообщение — 7 августа 2012, 07:26; участников в обсуждении: 3.
|
Мережников Андрей (статус: Абитуриент), 4 августа 2012, 16:18 [#1]:
Что именно не работает в функции - выдается сообщение об ошибке, не удовлетворяет полученный результат?
|
|
Al_Sha (статус: Посетитель), 4 августа 2012, 22:25 [#2]:
Результата вообще никакого,пустое сообщение...
|
|
Мережников Андрей (статус: Абитуриент), 5 августа 2012, 06:23 [#3]:
какие входные данные и как используете (вызываете) функцию?
|
|
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 (статус: Посетитель), 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 (статус: Посетитель), 7 августа 2012, 07:26 [#8]:
>>и все-таки непонятно - при чем здесь Word????
Вопрос был:
"Подскажите как организовать поиск и копирование текста в WORD, находящегося между двумя определенными словами"
который плавно перешел к простому поиску в строке...
Результат нашел применение при работе с текстом документа WORD
>>"Кто работает на Word'е,
>>Получает тот ...."
И за что? И к чему?
|
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|