Wetter
Wetter
Moin!
Ich möchte in einem Mini-Programm mit ein paar simplen Icons das Wetter darstellen. Da meine Lazarus Programme noch nie in irgend einer Form auf auf das Internet zugegriffen haben, stehe ich am Anfang. Soweit vorweg. Ich suche also nach einer Möglichkeit, Wetter-Infos von einer Wetterwebsite auszuwerten. Hat das irgendwer schon einmal gemacht? Oder könnt ihr mir allgemeine Tipps dazu geben? Spontan fällt mir HTTP POST / GET ein. Allerdings weis ich nicht wie so etwas in Lazarus geht... Und mir fehlt noch eine Website, die Wetter in Plain-Text ausliefert...
Grüße!
//EDIT
Ich möchte das Ganze etwas präzisieren: Meine Wetterdaten würden so aussehen: http://weather.tuxnet24.de/?id=GMXX0007 bzw so: http://weather.tuxnet24.de/?mode=xml&id=GMXX0007
Ich möchte in einem Mini-Programm mit ein paar simplen Icons das Wetter darstellen. Da meine Lazarus Programme noch nie in irgend einer Form auf auf das Internet zugegriffen haben, stehe ich am Anfang. Soweit vorweg. Ich suche also nach einer Möglichkeit, Wetter-Infos von einer Wetterwebsite auszuwerten. Hat das irgendwer schon einmal gemacht? Oder könnt ihr mir allgemeine Tipps dazu geben? Spontan fällt mir HTTP POST / GET ein. Allerdings weis ich nicht wie so etwas in Lazarus geht... Und mir fehlt noch eine Website, die Wetter in Plain-Text ausliefert...
Grüße!
//EDIT
Ich möchte das Ganze etwas präzisieren: Meine Wetterdaten würden so aussehen: http://weather.tuxnet24.de/?id=GMXX0007 bzw so: http://weather.tuxnet24.de/?mode=xml&id=GMXX0007
Zuletzt geändert von pascalts am Do 9. Jul 2015, 10:56, insgesamt 1-mal geändert.
-
- Beiträge: 152
- Registriert: Mo 3. Feb 2014, 14:07
- OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
- CPU-Target: xxBit
Re: Wetter
Meist ist ein automatisiertes Auslesen von Webinhalten von den Betreibern untersagt, da musst du also als erstes drauf achten. Oft werden Internetseiten umgestaltet, deswegen bietet sich das direkte aufrufen sowieso nicht an. Du solltest dich auf die Suche nach einer Wetterseite machen, die dir eine API anbietet, über die du zugreifen darfst.
.
- m.fuchs
- Lazarusforum e. V.
- Beiträge: 2809
- Registriert: Fr 22. Sep 2006, 19:32
- OS, Lazarus, FPC: Winux (Lazarus 2.0.10, FPC 3.2.0)
- CPU-Target: x86, x64, arm
- Wohnort: Berlin
- Kontaktdaten:
Re: Wetter
Ich habe mal eine Unit geschrieben, die Daten von der API auf http://www.wetter.com/ abrufen kann. Die könnte ich dir gerne zur Verfügung stellen. Du musst dich dann bloß beim Developer-Programm auf der wetter.com anmelden und einen API-Key für deine Anwendung beantragen. Kostet auch nix.
Allerdings habe ich noch keine Dokumentation für die Unit geschrieben, so kompliziert ist es aber nicht.
Soweit ich mich erinnere gibt es hier im Forum auch noch jemanden, der etwas Ähnliches für eine andere Datenquelle geschrieben hat.
Allerdings habe ich noch keine Dokumentation für die Unit geschrieben, so kompliziert ist es aber nicht.
Soweit ich mich erinnere gibt es hier im Forum auch noch jemanden, der etwas Ähnliches für eine andere Datenquelle geschrieben hat.
Software, Bibliotheken, Vorträge und mehr: https://www.ypa-software.de
Re: Wetter
Ja, das wäre super. Ich habe mich mit der API von yahoo.com befasst, da läuft das ähnlich, die liefern wohl eine xml aus. Vielleicht kann ich deins soweit anpassen, das es mit yahoo läuft. Mail Adresse gebe ich gern per PN raus.m.fuchs hat geschrieben:Ich habe mal eine Unit geschrieben, die Daten von der API auf http://www.wetter.com/ abrufen kann. Die könnte ich dir gerne zur Verfügung stellen. Du musst dich dann bloß beim Developer-Programm auf der wetter.com anmelden und einen API-Key für deine Anwendung beantragen. Kostet auch nix.
Allerdings habe ich noch keine Dokumentation für die Unit geschrieben, so kompliziert ist es aber nicht.
Soweit ich mich erinnere gibt es hier im Forum auch noch jemanden, der etwas Ähnliches für eine andere Datenquelle geschrieben hat.
-
- Lazarusforum e. V.
- Beiträge: 3178
- Registriert: Di 22. Jul 2008, 19:27
- OS, Lazarus, FPC: Lazarus: SVN; FPC: svn; Win 10/Linux/Raspbian/openSUSE
- CPU-Target: 32bit x86 armhf
- Wohnort: Köln
- Kontaktdaten:
Re: Wetter
Alternativ gibt es noch openweathermap.org. Die wichtigen Units aus dem Paket https://github.com/SAmeis/fpowm sind:
Die Klassen lehnen sich direkt an die API an, siehe http://openweathermap.org/current
- owmurloptions - Query-String für die JSON-API erstellen
- owmdata - Datenmodell inklusive Hilfsfunktionen um die JSON-Antwort zu übernehmen
Die Klassen lehnen sich direkt an die API an, siehe http://openweathermap.org/current
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein
Re: Wetter
So... ich habe mich jetzt etwas anders orientiert. Meine Prozedur sieht so aus:
Ich könnte heulen... Wo liege ich falsch?
//Okay, Fehler gefunden. Fehler in meiner Pos Funktion... peinlich. Seiten verdreht.
Code: Alles auswählen
procedure TfMAIN.FormCreate(Sender: TObject);
var
weathertext:String;
begin
weathertext:=TFPCustomHTTPClient.SimpleGet('http://weather.tuxnet24.de/?id=GMXX0051'); //Greift sich die Daten uns scheibt sie in einein String
ShowMessage(weathertext); //Gibt diesen probeweise aus... (klappt!)
if pos(weathertext,'humidity')>0 then luftfeuchte:=copy(weathertext,pos(weathertext,'humidity')+11,pos(weathertext,'humidity')+14); //Sollte eigentlich die Zahl reinschreiben... (weil pos null ist natürlich nicht)
ShowMessage(inttostr(pos(weathertext,'humidity'))); //ABER DAS GIBT IMMER 0 ZURÜCK
end;
//Okay, Fehler gefunden. Fehler in meiner Pos Funktion... peinlich. Seiten verdreht.
-
- Lazarusforum e. V.
- Beiträge: 7192
- Registriert: So 19. Nov 2006, 12:06
- OS, Lazarus, FPC: Linux Mint 19.3
- CPU-Target: AMD
- Wohnort: Oldenburg(Oldenburg)
Re: Wetter
Es gibt noch openweathermap.
Die Nutzung der API ist soweit ich weiß Kostenlos und ist recht einfach.... ich habe damit aber noch nie was gemacht nur kurz ausprobiert.
Die Nutzung der API ist soweit ich weiß Kostenlos und ist recht einfach.... ich habe damit aber noch nie was gemacht nur kurz ausprobiert.
MFG
Michael Springwald
Michael Springwald
-
- Lazarusforum e. V.
- Beiträge: 3178
- Registriert: Di 22. Jul 2008, 19:27
- OS, Lazarus, FPC: Lazarus: SVN; FPC: svn; Win 10/Linux/Raspbian/openSUSE
- CPU-Target: 32bit x86 armhf
- Wohnort: Köln
- Kontaktdaten:
Re: Wetter
siehe obenpluto hat geschrieben:Es gibt noch openweathermap.
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein
Re: Wetter
So, das System läuft soweit. Die Quelle Yahoo gefällt mir im Momentan noch nicht (sehr ungenau) aber darum kümmere ich mich später. Was jetzt fehlt, ist eine automatische Aktualisierung. Kann ich eine Prozedur oder Funktion zeitgesteuert ablaufen lassen, also alle 30min oder so? Sowas habe ich bisher nur in C / C++ gemacht. Geht das überhaupt in lazarus?
PS: Ich bin auf Debian Jessie auf einem RaspberryPi mit einem SPI TFT.
PS: Ich bin auf Debian Jessie auf einem RaspberryPi mit einem SPI TFT.