Pogoda w delphi?

djkolo
  • Rejestracja:ponad 19 lat
  • Ostatnio:około 3 lata
  • Postów:62
0

Witam
Wiem ze bylo duzo na ten temat, nawet google pare lat temu pokazywalo duzo wynikow a teraz to tylko Samsung Delphi i nic poza tym:/
Otóż w tym poradniku
http://4programmers.net/Delphi/Artyku%C5%82y/Pobieranie_parametr%C3%B3w_meteorologicznych_z_danego_miejsca_na_%C5%9Bwiecie
link do zrodla nie dziala, wiec nie moge zerknac i zobaczyc jak on to zrobil.
Chodzi o pobieranie temperatury miasta do programu. Nie mam pomysłów.. Zielono :/
Dlatego pisze, moze macie jakis przyklad lub ktos ma ten załącznik z artykułu co dałem wyżej.. nie wiem
Z gory dzieki za pomoc

cimak
  • Rejestracja:ponad 22 lata
  • Ostatnio:ponad 9 lat
  • Postów:1668
0

ehh... w linku ktory podales masz w skrocie opisany "standard przekazywania danych meteorologicznych".
wystarczy pobrac te dane ze strony i przeanalizowac. wiec w czym problem? mozesz tez pobrac w postaci xml. wystarczy poszukac.
zadaj jakies konkretne pytanie, bo jak na razie to chcesz zeby ktos za Ciebie odwalil polowe roboty.
nie wiesz jak pobrac dane ze strony? to poszukaj w googlach, zapewniam ze znajdziesz w ciagu paru minut.

edytowany 1x, ostatnio: cimak
PR
  • Rejestracja:około 16 lat
  • Ostatnio:ponad 9 lat
  • Postów:304
0

Zobacz czy twój program dorówna temu http://kxp.pl
po co pisać coś co już jest i jest dobre i działa i bardziej funkcjonalne ?


CodeGear Delphi 2007 | Windows 7 |
Jak to dobrze że istnieje opcja edytuj post ;]
Zobacz pozostały 1 komentarz
Riddle
Popieram @patrka27 ;)
djkolo
nie chodzi teraz o kxp bo tam bedzie opcja we fleshu (jezeli mi wyjdzie a na to sie zapowiada):), poza tym temat jest o pogodzie a nie o kxp czemu zmieniasz temat?
djkolo
Robie Toolbar cos jak Dock u gory ekranu pod win 7 i tam chce wcisnac pogode
RE
po co piszesz na forum, skoro ja już piszę na forum i robię to lepiej?
djkolo
  • Rejestracja:ponad 19 lat
  • Ostatnio:około 3 lata
  • Postów:62
0

wiem jak pobrac html strony.
korzystam z tego
http://4programmers.net/Delphi/Kompendium/Rozdzia%C5%82_11#id-Pobieranie-kodu-strony-WWW
ale co dalej? Nawet gdy wyszukam dane miejsce to nie wiem jak to napisac :/
O to mi chodzi.. bawie sie juz dosyc dlugo i nie daje rady, dlatego napisalem tutaj...

P.S

proqix napisał(a)

Zobacz czy twój program dorówna temu http://kxp.pl
po co pisać coś co już jest i jest dobre i działa i bardziej funkcjonalne ?

Bądź pewien że z czasem dorówna :) Obecnie zobacz jak długo autor nie kontynuuje projektu.
Duzo problemów ludzie mają pod XP, więc ja robie pod 7, między innymi dla siebie :)
I najwazniejsze to.. Nikt nie pisze tu o kxp, wiec po co zaczynasz offtop ?

edytowany 2x, ostatnio: djkolo
pelsta
  • Rejestracja:około 19 lat
  • Ostatnio:około miesiąc
  • Postów:819
1

Ja pobieram dane pogodowe z serwisu google.
Np dla Warszawy http://www.google.com/ig/api?weather=Warszawa
Otrzymuję plik xml, z którego wyciągnięcie konkretnych informacji nie jest przecież żadnym problemem :)

Kopiuj
<?xml version="1.0" encoding="UTF-8"?>
<xml_api_reply version="1"><weather module_id="0" tab_id="0" mobile_row="0" mobile_zipped="1" row="0" section="0"><forecast_information><city data="Warsaw, Masovian Voivodeship"/><postal_code data="Warszawa"/><latitude_e6 data=""/><longitude_e6 data=""/><forecast_date data="2012-01-21"/><current_date_time data="1970-01-01 00:00:00 +0000"/><unit_system data="SI"/></forecast_information><current_conditions><condition data="Lekki śnieżek"/><temp_f data="32"/><temp_c data="0"/><humidity data="Wilgotność: 100%"/><icon data="/ig/images/weather/flurries.gif"/><wind_condition data="Wiatr: zach. z szybkością 16 km/h"/></current_conditions><forecast_conditions><day_of_week data="sob."/><low data="0"/><high data="3"/><icon data="/ig/images/weather/fog.gif"/><condition data="Mgła"/></forecast_conditions><forecast_conditions><day_of_week data="niedz."/><low data="-1"/><high data="3"/><icon data="/ig/images/weather/chance_of_rain.gif"/><condition data="Możliwe opady deszczu"/></forecast_conditions><forecast_conditions><day_of_week data="pon."/><low data="-3"/><high data="4"/><icon data="/ig/images/weather/chance_of_rain.gif"/><condition data="Możliwe opady deszczu"/></forecast_conditions><forecast_conditions><day_of_week data="wt."/><low data="-4"/><high data="1"/><icon data="/ig/images/weather/mostly_sunny.gif"/><condition data="Możliwe przejaśnienia"/></forecast_conditions></weather></xml_api_reply>

Na przykład temperaturę można na szybko odczytać tak

Kopiuj
var
  xml:string;//z plikiem xml
  p,k:Integer;
  id:string;
  temp:string;
//...
  temp:='brak inf. o temp.';//wstępnie
  id:='temp_c data="';
  p:=Pos(id,xml);
  if p>0 then
  begin
    Inc(p,Length(id));
    id:='"';
    k:=PosEx(id,xml,p);
    if k>0 then
      temp:=Copy(xml,p,k-p);
  end;
edytowany 2x, ostatnio: pelsta
djkolo
  • Rejestracja:ponad 19 lat
  • Ostatnio:około 3 lata
  • Postów:62
0

No nie powiem sposób masz fajny, i nie zbyt trudny.
Dopisałem sobie funkcje bo krzyczal o PosEx

Kopiuj
Function PosEx(SubStr, Str: String; PosStart: Integer): Integer;
Begin
  if Pos(SubStr, Copy(Str, PosStart, Length(Str)-PosStart+1)) = 0 Then
    Result := 0 Else
    Result := Pos(SubStr, Copy(Str, PosStart, Length(Str)-PosStart+1))+PosStart-1;
End;

Działa :)) Dzieki za pomoc :)

Powiesz mi jeszcze jak wychaczyłeś tego linka?
.....ig/api?weather=Warszawa
szukam przez Firebug i nigdzie nie widze jakiegos odnosnika do tego miejsca :|
bo np jak miejscowosc jest ze spacją to juz maly problem,

edytowany 3x, ostatnio: djkolo
Zobacz pozostałe 4 komentarze
pelsta
@Opi Jak nie chcesz dodawać całego modułu to skopiuj sobie samą funkcję.
pelsta
@TomRiddle Do korzystania z funkcji Sin i Cos nie trzeba modułu Math.
Riddle
Jakto nie? o.O
Riddle
Ło lol. Faktycznie. A ja cały czas dodawałem :|
Opi
@pelsta, przecież ja o tym napisałem właśnie...
pelsta
  • Rejestracja:około 19 lat
  • Ostatnio:około miesiąc
  • Postów:819
1

Próbuję sobie przypomnieć ale nic z tego.
To mógł być jakiś gadżet z iGoogle albo jakiś dodatek pogodowy do Chrome.

no na iGoogle szukam w htmlu i nic z tego :/ lub zle to robie.

Również gdy nazwa miasta zawiera polskie znaki to już sobie nie radzi.
Jakbyś sobie przypomniał nazwe gadżetu to daj znac. Ja poszukam teraz w tym co pisałes

@Edit
Do GoogleChrome jest dodatek Pogoda, prosto od google no w nim tez szukam i ten sam kod co na stronie

@Edit2
Znalazłem http://www.google.com/ig/api?weather={input}&hl={language}
ale co z tego bo i tak jak wpisze np. Gostyń w miejsce {input} to mi nic nie pokaze przez ten polski znak, lub jakby spacja byla :/
Nie wiem gdzie szukac

pelsta
Ale działa jak zapytasz po polskiemu, np http://www.google.com/ig/api?weather=lodz. W komunikacie zwrotnym możesz sprawdzić czy dostałeś to co chciałeś.
djkolo
tak juz wlasnie chcialem edytowac po raz 3 :) zamiast poznań trzeba wpisac poznan, a juz sobie sam googleapi poradzi spacja tez nie przeszkadza :) Jedynie to nie moze byc polskich znakow
pelsta
A tego linka gdzie znalazłeś? Opcji hl nie znałem.
djkolo
Dodatek do chrome o nazwie pogoda, wpisalem byle jakie miasto potem prawoklik by zbadac element. Zakładka "Resources" -> Scripts -> chrome.js (sa 2 pliki, ten drugi) tam jest googleWeatherAPI:"http://www.google.com/ig/api?weather={input}&hl={language}"
TO
  • Rejestracja:około 20 lat
  • Ostatnio:ponad 4 lata
0

Przetwarzanie pliku XML za pomocą PosEx i przetwarzania stringów ? Toż to era kamienia łupanego. A gdziez się podział XPath.

pelsta
Po co rozbijać mały kamyczek młotem pneumatycznym?
TO
Jakim młotem ? kod obsługujący XMLa będzie prostrzy, przejrzystrzy i pewniejszy, bo trafiający dokładnie w punkt w węźle XMLa, a nie w przypadkowy kawałek, który akurat spełnia warunek. To co pokazałeś, to się nazywa "drutowanie". Czasem może zadziała, ale nie masz pewności, że na pewno za każdym razem.
pelsta
No nie wiem czy będzie "prostrzy, przejrzystrzy". Jak zwał tak zwał ale mój kod działa. I jest szybki, bez dodatkowych bibliotek. Zgadzam się, że w przyp. dużych, skomplikowanych plików xml mój sposób może nie zadziałać. Ale ten który omawiamy jest wyjątkowo prosty.
TO
Okej. Postaram się przygotować kawałek kodu, żeby ci udowodnić, że nie masz racji. Podobnie jak nie masz racji pisząc, że nie wykorzystujesz dodatkowych bibliotek, ale nie o tym. Poza tym - nie ma znaczenia - duży, czy mały projekt. Jak jest plik XML - przetwarzasz go jako XML. Strukturalnie. Wiem. Jestem upierdliwy, ale chodzi o zasadę.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.