akimov_aleks
12.06.2010, 15:13
Возник вопрос.
я хочу с парсить значения с исходного кода.
'idi': '784167',
если использовать так
idi':=Copy(S, Pos('idi'', V)+7, 6);
то касяк так как 784167 может состоять как из 6 так из 5 или 7 цифр
попробовал через функцию
idi':=(Pars('от',S,'до'));
от это - 'idi': '
до это- ',
так нельзя подставить граници от до так как они содержат знак '
сама функция
function Pars(T_, ForS, _T: string): string;
var
a, b: integer;
begin
Result := '';
if (T_ = '') or (ForS = '') or (_T = '') then
Exit;
a := Pos(T_, ForS);
if a = 0 then
Exit
else
a := a + Length(T_);
ForS := Copy(ForS, a, Length(ForS) - a + 1);
b := Pos(_T, ForS);
if b > 0 then
Result := Copy(ForS, 1, b - 1);
end;
какие еще есть методы подскажите.
я хочу с парсить значения с исходного кода.
'idi': '784167',
если использовать так
idi':=Copy(S, Pos('idi'', V)+7, 6);
то касяк так как 784167 может состоять как из 6 так из 5 или 7 цифр
попробовал через функцию
idi':=(Pars('от',S,'до'));
от это - 'idi': '
до это- ',
так нельзя подставить граници от до так как они содержат знак '
сама функция
function Pars(T_, ForS, _T: string): string;
var
a, b: integer;
begin
Result := '';
if (T_ = '') or (ForS = '') or (_T = '') then
Exit;
a := Pos(T_, ForS);
if a = 0 then
Exit
else
a := a + Length(T_);
ForS := Copy(ForS, a, Length(ForS) - a + 1);
b := Pos(_T, ForS);
if b > 0 then
Result := Copy(ForS, 1, b - 1);
end;
какие еще есть методы подскажите.