![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | 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;Таких цифр на странице сайта даже нет. Отсюда вопрос: почему при запуске программы код работает нормально и я получаю то значение, которое указанно на странице сайта, а при обновлении какие-то совершенно левые цифры? Уже второй день не могу понять причину. Если есть какие-то предположения, прошу поделиться. |