Не знаю почему, но раньше у меня не было ситуации, где нужно было копировать части текста. И по скольку я с этим теперь столкнулся,
то подумал оповестить вас , что существует такая функция PARS. Она позволяет извлекать необходимые вам фрагменты из любого текста, т.е. является своего рода парсером.
Вот как выглядит функция pars: function TForm1.Pars(T_, Text, _T: string): string; var a, b:integer; begin Result := ''; if (T_='') or (Text='') or (_T='') then Exit; a:=Pos(T_, Text); if a=0 then Exit else a:=a+Length(T_); Text:=Copy(Text, a, Length(Text)-a+1); b:=Pos(_T, Text); if b>0 then Result:=Copy(Text, 1, b - 1); end; |
Вызвать данную функцию можно следующим образом: label1.Caption:=pars('начало', переменная, 'конец'); |
Здесь для примера использован label1. Но вы можете заменить его на любой другой компонент, предназначенный для вывода текстовой информации. Вместо 'начало' и 'конец' вы пишите комбинации символов, между которыми находится ваш фрагмент, которого хотите извлечь.
И не забываем объявить о нашей функции. Для этого следует написать в окне кода программы после public ниже приведенный код: function Pars(T_, Text, _T:string):string; |
Нравится
|