Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Интернет и сети
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
  #8  
Старый 02.07.2011, 09:01
Аватар для Casper-Hacker
Casper-Hacker Casper-Hacker вне форума
Начинающий
 
Регистрация: 19.05.2008
Сообщения: 147
Версия Delphi: x
Репутация: 15
По умолчанию

Я парсил так:
Код:
var
i:integer;
XMLDocument1: TXMLDocument;
ytro,den,vecher,noch:string;
tm:TSystemTime;
begin
SetTitleRus('GisMeteo Самара');
GetLocalTime(tm);
CoInitialize(nil);
XMLDocument1:=TXMLDocument.Create(nil);
XMLDocument1.LoadFromFile('http://informer.gismeteo.ru/rss/28900.xml');
XMLDocument1.Active := true;
XMLDocument1.XML.Text:=UTF8toAnsi(XMLDocument1.XML.Text);
for i:=1 to 14 do
XMLDocument1.XML.Delete(0);
XMLDocument1.XML.Delete(1);
for i:=1 to 6 do
XMLDocument1.XML.Delete(2);
XMLDocument1.XML.Delete(3);
for i:=1 to 6 do
XMLDocument1.XML.Delete(4);
XMLDocument1.XML.Delete(5);
for i:=1 to 6 do
XMLDocument1.XML.Delete(6);
XMLDocument1.XML.Delete(7);
for i:=1 to 7 do
XMLDocument1.XML.Delete(8);
XMLDocument1.XML.Text:=StringReplace(XMLDocument1.XML.Text, '<title>', '', [rfReplaceAll, rfIgnoreCase]);
XMLDocument1.XML.Text:=StringReplace(XMLDocument1.XML.Text, '</title>', '', [rfReplaceAll, rfIgnoreCase]);
XMLDocument1.XML.Text:=StringReplace(XMLDocument1.XML.Text, '<description>', '', [rfReplaceAll, rfIgnoreCase]);
XMLDocument1.XML.Text:=StringReplace(XMLDocument1.XML.Text, '</description>', '', [rfReplaceAll, rfIgnoreCase]);
XMLDocument1.XML.Text:=StringReplace(XMLDocument1.XML.Text, '			', '', [rfReplaceAll, rfIgnoreCase]);
for i:=0 to XMLDocument1.XML.Count-1 do begin
if Pos('температура ',XMLDocument1.XML.Strings[i])>0 then XMLDocument1.XML.Strings[i]:=copy(XMLDocument1.XML.Strings[i],12+Pos('температура ',XMLDocument1.XML.Strings[i]),length(XMLDocument1.XML.Strings[i])-Pos('температура ',XMLDocument1.XML.Strings[i])-12);
if Pos(', давление',XMLDocument1.XML.Strings[i])>0 then XMLDocument1.XML.Strings[i]:=copy(XMLDocument1.XML.Strings[i],1,Pos(', давление',XMLDocument1.XML.Strings[i])-1);
if Pos('Утро',XMLDocument1.XML.Strings[i])>0 then XMLDocument1.XML.Strings[i]:='Утро';
if Pos('День',XMLDocument1.XML.Strings[i])>0 then XMLDocument1.XML.Strings[i]:='День';
if Pos('Вечер',XMLDocument1.XML.Strings[i])>0 then XMLDocument1.XML.Strings[i]:='Вечер';
if Pos('Ночь',XMLDocument1.XML.Strings[i])>0 then XMLDocument1.XML.Strings[i]:='Ночь';
end;
for i:=0 to XMLDocument1.XML.Count-1 do begin
if Pos('Утро',XMLDocument1.XML.Strings[i])>0 then ytro:=XMLDocument1.XML.Strings[i+1];
if Pos('День',XMLDocument1.XML.Strings[i])>0 then den:=XMLDocument1.XML.Strings[i+1];
if Pos('Вечер',XMLDocument1.XML.Strings[i])>0 then vecher:=XMLDocument1.XML.Strings[i+1];
if Pos('Ночь',XMLDocument1.XML.Strings[i])>0 then noch:=XMLDocument1.XML.Strings[i+1];
end;
XMLDocument1.Free;
if (tm.wHour>=6) and (tm.wHour<=11) then begin
//Writeln('Сейчас утро') ;
Writeln('Утро: '+ytro);
Writeln('День: '+den);
Writeln('Вечер: '+vecher);
Writeln('Ночь: '+noch);
end;
if (tm.wHour>=12) and (tm.wHour<=17) then begin
//Writeln('Сейчас день');
Writeln('День: '+den);
Writeln('Вечер: '+vecher);
Writeln('Ночь: '+noch);
end;
if (tm.wHour>=18) and (tm.wHour<=23) then begin
//Writeln('Сейчас вечер');
Writeln('Вечер: '+vecher);
Writeln('Ночь: '+noch);
end;
if (tm.wHour>=0) and (tm.wHour<=5) then begin
//Writeln('Сейчас ночь');
Writeln('Ночь: '+noch);
end;
Readln;
Ответить с цитированием
 


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 07:54.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025