Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Компоненты Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.10.2007, 20:37   #1
xzDelphi
 
Регистрация: 07.10.2007
Сообщений: 7
По умолчанию Компонент на основе TPanel для отображения погоды из интернета...

Господа! если у кого-то есть нечто подобное, прошу, выложите или дайте сЦылку...Даже не обязательно TPanel и погода, хотя бы просто как создать компонент, который берет инфу из нета и отображает ее...жду и надеюсь)
PS:нужен именно новый компонент, а не те, что имеются в делфи и именно с исходником...
xzDelphi вне форума Ответить с цитированием
Старый 08.10.2007, 14:44   #2
_SERGEYX_
Участник клуба
 
Аватар для _SERGEYX_
 
Регистрация: 07.07.2007
Сообщений: 1,518
По умолчанию

Лови исходник получения погоды с сайта h..p://xoap.weather.com.
На его основе можешь сделать компонент сам.
Код:
uses UseXML;

var // глобальные переменные
  URL,CityID,str:string;
  aDayCount: Integer = 5;//количество дней
  aCity: string[25] = 'Moskow';// город

{... и код кнопки}
procedure TForm1.Button1Click(Sender: TObject);
var
 i,y: integer;
begin
 Memo1.Clear;
 CreateXML;
 URL:='http://xoap.weather.com/search/search?where='+aCity;
 LoadXML(URL);
 CityID:=GetNodeItemText(['//search','//loc'],'id');
 if CityID=''
 then
  begin
   Memo1.Lines.Add(Format('Ошибка, город %s не найден в базе сервера',[aCity]));
   Exit;
  end;
 memo1.Lines.Add('Город найден в базе: '+GetNodeText(['//search','//loc']));
 memo1.Lines.Add('');
URL:=Format('http://xoap.weather.com/weather/local/%s?cc=*&dayf=%s&prod=xoap&link=xoap&par=%s&key=%s&unit=%s',[CityID{Ed1.Text},aDayCount,'1006341644','0647abc97052c741','m']);
 LoadXML(URL);

 memo1.Lines.Add('Город = ' +GetNodeText(['//weather','//loc ','//dnam']));
 memo1.Lines.Add('Восход = ' + GetNodeText(['//weather','//loc ','//sunr']));
 memo1.Lines.Add('Заход  = ' + GetNodeText(['//weather','//loc ','//suns']));
 memo1.Lines.Add('Часовой пояс = '+GetNodeText(['//weather','//loc ','//zone']));
 memo1.Lines.Add('');

 memo1.Lines.Add('Локальное время = ' + GetNodeText(['//weather','//cc','//lsup']));
 memo1.Lines.Add('Температура С = ' + GetNodeText(['//weather','//cc','//tmp']));
 memo1.Lines.Add('Погода = ' + GetNodeTextFromID(['//weather','//cc'],4));
 memo1.Lines.Add('Давление рт. ст. = '+ GetNodeText(['//weather','//cc','//bar','//r']));
 memo1.Lines.Add('Давление = '+ GetNodeText(['//weather','//cc','//bar','//d']));
 memo1.Lines.Add('Ветер м/c = '+ GetNodeText(['//weather','//cc','//wind','//s']));
 memo1.Lines.Add('Направление = '+GetNodeTextFromID(['//weather','//cc','//wind'],3));
 memo1.Lines.Add('Видимость км.  = ' + GetNodeText(['//weather','//cc','//vis']));
 memo1.Lines.Add('Луна = '+ GetNodeTextFromID(['//weather','//moon'],1));
 memo1.Lines.Add('');

 memo1.Lines.Add('Погода на ближайшие дни:');
 for i:=1 to GetNodesCountByName(['//weather','//dayf'],'day') do
  begin
   str:= GetNodeItemTextFromID(['//weather','//dayf'],i,'t');
   str:= str+', '+GetNodeItemTextFromID(['//weather','//dayf'],i,'dt');
   memo1.Lines.Add('День - '+str);

   str:=GetNodeTextByNameFromID(['//weather','//dayf'],'hi',i);
   memo1.Lines.Add('Макс. температура: '+str);

   str:=GetNodeTextByNameFromID(['//weather','//dayf'],'low',i);
   memo1.Lines.Add('Мин. температура: '+str);

   str:=GetNodeTextByNameFromID(['//weather','//dayf'],'sunr',i);
   memo1.Lines.Add('Восход: '+str);

   str:=GetNodeTextByNameFromID(['//weather','//dayf'],'suns',i);
   memo1.Lines.Add('Заход: '+str);
 end;
end;
_SERGEYX_ вне форума Ответить с цитированием
Старый 08.10.2007, 16:39   #3
xzDelphi
 
Регистрация: 07.10.2007
Сообщений: 7
По умолчанию

Большое спасибо!=)
xzDelphi вне форума Ответить с цитированием
Старый 07.01.2008, 23:42   #4
Alar
Александр
Администратор
 
Аватар для Alar
 
Регистрация: 28.10.2006
Сообщений: 17,501
По умолчанию

UseXML.dcu где можно скачать?
Alar вне форума Ответить с цитированием
Старый 08.01.2008, 12:37   #5
Квэнди
Старожил
 
Аватар для Квэнди
 
Регистрация: 13.12.2006
Сообщений: 3,859
По умолчанию

хм... а чем не устраивают стандартные методы работы с XML , реализованные в Delphi ?
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи
Квэнди вне форума Ответить с цитированием
Старый 08.01.2008, 13:13   #6
_Dmitry
Участник клуба
 
Аватар для _Dmitry
 
Регистрация: 02.09.2007
Сообщений: 1,193
По умолчанию

Похоже, что приведенный код отсюда
http://winconsul.kladovka.net.ru/index.php?pid=6
_Dmitry вне форума Ответить с цитированием
Старый 08.01.2008, 17:30   #7
)Игнат(
Форумчанин
 
Регистрация: 06.01.2008
Сообщений: 180
По умолчанию

"Я изменил бы этот мир, но Господь не дает исходников"
Мы с другом на эту тему как-то помечтали...
)Игнат( вне форума Ответить с цитированием
Старый 08.01.2008, 17:33   #8
Alar
Александр
Администратор
 
Аватар для Alar
 
Регистрация: 28.10.2006
Сообщений: 17,501
По умолчанию

Квэнди, я хотел откомилировать и передать парню, которому нужна была программа. не получилось.
Alar вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
TPanel Valera Помощь студентам 10 07.08.2008 11:15
добавление обработчика OnPaint в TPanel Mixasik Общие вопросы Delphi 2 23.07.2008 17:36
компонент отображения деревьев IgorKr Компоненты Delphi 3 03.05.2008 09:01
Вопрос по TPanel SeRhy Общие вопросы Delphi 3 30.12.2007 11:33
Прогноз погоды VarVara PHP 3 06.05.2007 23:34