![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Доброго времени суток. Такое дело. Есть код:
Функция парсинга: Код:
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; Есть процедура FormCreate: Код:
procedure TForm1.FormCreate(Sender: TObject); begin Weather:=IdHTTP1.Get('http://www.accuweather.com/ru/ru/chelyabinsk/292332/current-weather/292332'); Ta:= (Pars('<span class="temp">', Weather, '<span>')); IdHTTP1.Disconnect; Label1.Caption:= ('Температура: '+(Ta)+' °C'); end; Все работает нормально. И есть Таймер с аналогичным кодом: Код:
procedure TForm1.Timer1Timer(Sender: TObject); begin Weather:=IdHTTP1.Get('http://www.accuweather.com/ru/ru/chelyabinsk/292332/current-weather/292332'); Ta:= (Pars('<span class="temp">', Weather, '<span>')); IdHTTP1.Disconnect; Label1.Caption:= ('Температура: '+(Ta)+' °C'); end; Таких цифр на странице сайта даже нет. Отсюда вопрос: почему при запуске программы код работает нормально и я получаю то значение, которое указанно на странице сайта, а при обновлении какие-то совершенно левые цифры? Уже второй день не могу понять причину. Если есть какие-то предположения, прошу поделиться. |