begin process at 2010 02 10 12:15:43
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Réseau & Internet

 > RÉCUPÉRER LA MÉTEO DU SITE WEATHER.COM ET L'AFFICHER SUR SON BUREAU

RÉCUPÉRER LA MÉTEO DU SITE WEATHER.COM ET L'AFFICHER SUR SON BUREAU


 Information sur la source

Note :
9 / 10 - par 3 personnes
9,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Réseau & Internet Classé sous :weather, serveur, internet, meteo, bureau Niveau :Débutant Date de création :26/02/2006 Date de mise à jour :27/02/2006 11:35:16 Vu / téléchargé :30 018 / 2 472

Auteur : roud59

Ecrire un message privé
Commentaire sur cette source (39)
Ajouter un commentaire et/ou une note

 Description

Cliquez pour voir la capture en taille normale
Suite à une question sur le forum DelphiFR, http://www.delphifr.com/infomsg/CONNECTER-WEATHER- COM-POUR-RECEVOIR-METEO-REGION-PREDEFINIE-3_664373 .aspx,  voici un composant qui interroge le serveur wheater.com et récupère les informations et prévisions météo d'une région donnée.

Wheather.com actualise les conditions courantes toutes les 30mn et les prévisions pour les jours suivants toutes les 12h.

Les textes fournis par le serveur sont malheureusement en anglais. Le composant intègre un petit système de traduction 'mot à mot' en fonction d'un fichier "dictionnaire.ini" qu’il faudra compléter.

J’ai trouvé les icônes sur http://www.samurize.com/modules/ipboard/index.php? showtopic=3857, mais ils sont au format PNG qui n’est pas reconnu par Delphi. J’au dû utiliser la librairie http://www.lischke-online.de (je remercie l’auteur) que j’ai placée dans le zip. Décompactez la librairie et déplacer les fichiers dans le chemin du projet pour pouvoir compiler. Les icônes doivent être placés dans un dossier « Images » dans le répertoire de l’application, sinon changer la partie Initialization de FMeteos.


 Conclusion

Vous pouvez déplacer la fenêtre avec la souris, sa position est enregistrée dans le fichier Meteo.ini.

Avec un clic droit et le menu popup vous pouvez :

- Activer l’AlphaBlending avec apparition progressive de la fenêtre lorsque le curseur de la souris entre et la disparition progressive lorsqu’il sort. La valeur min de l’alphablending est enregistrée dans le fichier de configuration Meteo.ini
- Changer la localité
- Quitter l’application

Si quelqu’un a des talents de dessinateur et dessine une image sympa de fond pour la fenêtre, ça m’intéresse.

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Historique

27 février 2006 11:35:17 :
- Suppression de GradPnl qui n'est plus utilisé. Il était remplacé par la procédure DessinerDegrade() - J'ai modifié le fichier de configuration pour que la fenêtre soit en haut et à gauche par défaut

 Sources du même auteur

TDBGRID AVEC AJUSTEMENT AUTOMATIQUE DE LA LARGEUR DES COLONN...

 Sources de la même categorie

Source avec Zip BASE64/BASE64URL ENCODE/DECODE par f0xi
Source avec Zip AFFICHAGE DES INFODFS par fbalien
Source avec Zip Source avec une capture INTRA MESSENGER - DELPHI par keket
Source avec Zip CODAGE DÉCODAGE PDU 7BITS par AccessToYou
Source avec Zip Source avec une capture SIMPLEWEBBROWSER par cantador

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture LOGICIEL INTERRUPTEUR MONDIAL USB par ced55957
Source avec Zip Source avec une capture SIMPLEWEBBROWSER par cantador
Source avec Zip WEB-BUILDER par numeror86
Source avec Zip Source avec une capture IP-MASTER, OU VOTRE IP FACILE ! par Bacterius
Source avec Zip Source avec une capture WEBCAM+ MICROSERVEUR HTTP = WEBCAM IP (INDY 9 ET INDY 10) par jlen100

Commentaires et avis

Commentaire de roud59 le 26/02/2006 19:47:57

Si la fenêtre sort de l'écran (j'ai un écran 1920 pixels), supprimer le fichier de configuration Meteo.ini pour remettre la fenêtre à une position par défaut.

Commentaire de DelphiCool le 27/02/2006 07:02:05 administrateur CS

Salut,

il manque GradPnl.pas

Commentaire de roud59 le 27/02/2006 11:08:22

GradPnl n'est plus utilisé, tu peux le retirer de la clause USE.
Je vais mettre à jour le source

Commentaire de DelphiCool le 27/02/2006 12:42:47 administrateur CS

ok

Commentaire de roud59 le 27/02/2006 13:34:19

Je n'ai pas mis les icônes dans le source (400 Ko) mais vous pouvez télécharger ceux que j'ai utilisé ici : http://iceomni.webhop.net/kapsule.zip
A+

Commentaire de Matt 261 le 27/02/2006 13:57:59

Salut et merci pour cette source. Tu fait une erreur en disant que les png ne sont pas reconnues par Delphi car j'en utilise avec
un TImage sauf erreur de ma part...

@+ Matt

Commentaire de yvessimon le 27/02/2006 14:16:34

Bonjour,

L'unite Weathers donne une erreur:' 'Erreur de socket'; à la ligne:
XML.Text := Get('http://xoap.weather.

?

Salutations
Yvessimon

Commentaire de roud59 le 27/02/2006 14:16:59

Bizarre... Chez moi ça ne marche pas (Delphi 7). La libraire uses Jpeg ne fonctionne pas non pour ce type d'image et j'ai du rechercher une aure librairie.
GraphicEx permet (chez moi) de lire des png avec TImage.

Commentaire de roud59 le 27/02/2006 14:29:57

Yvessimon : j'ai cette erreur lors que je ne suis pas connecté à internet. Verifie ta connection (j'avais oublié de préciser qu'il fallait être connecté à internet ...) ou tes paramètres de connexion. Pour vérifier que la connexion fonctionne, essaye avec un explorateur comme IE d'aller à l'adresse http://xoap.weather.com/weather/local/FRXX0052?cc=*&dayf=6&par=0&prod=xoap&key=0&unit=m
Tu devrais avoir des choses qui s'affichent.
A+

Commentaire de Matt 261 le 27/02/2006 14:35:51

Oui autant pour moi j'utilise GraphicEx... Encore désolé

Commentaire de Yil2201 le 27/02/2006 15:44:42

Merci bcp pour ce code! Ca va être très utile! La prog a l'air d'avoir été dure! A+ ( les composants id** sont issus de Indy pour les débutants )

Commentaire de yvessimon le 27/02/2006 16:37:34

Bonsoir,

Avec l'adresse
http://xoap.weather.com/weather/local/FRXX0052?cc=*&dayf=6&par=0&prod=xoap&key=0&unit=m
J'ai:
" <?xml version="1.0" encoding="ISO-8859-1" ?>
- <!-- This document is intended only for use by authorized licensees of The Weather Channel. Unauthorized use is prohibited. Copyright 1995-2005, The Weather Channel Interactive, Inc. All Rights Reserved.
  -->
- <weather ver="2.0">
......"

si je remplace "xoap" par "www"
alors j'ai : hote non trouvé....

Salutations
YvesSimon

Commentaire de roud59 le 27/02/2006 17:00:30

yvessimon : ce que renvoie http://xoap.weather.com... est correct, il ne doit pas avoir de www devant. Je ne comprends pas pourquoi le composant Indy TIdHTTP que j'utilse ne fonctionne pas dans ton cas. Je fais simplement appel à la méthode Get(AURL : string). Quel est ton système d'exploitaion pour que j'essaye sur un autre pc ? Et si quelqu'un a une idée ...

Commentaire de yvessimon le 28/02/2006 09:06:20

Bonjour,
J'utilise  Delphi 7 Professionnel
avec
Windows 2000 Professionnel

Le réseau est le réseau local

Salutations

Commentaire de TriTri6 le 01/03/2006 22:59:35

Hi !
Chez moi ca marche tres bien, mais dans le zip il manque les images 5 et 7, alors pour tester j'ai copié deux fois la 11, mais maintenant il pleut tout le temps.. Sniff.
Mais sinon c'est vraiment sympa comme programme.

Commentaire de TriTri6 le 01/03/2006 23:02:54

En fait il en manque d'autres, par exemple la 27.

Commentaire de roud59 le 02/03/2006 10:11:46

Merci Tritri6. Les images ne sont malheureusement pas de moi (je n'ai pas le talent de dessinateur) et comme j'habite à Lille, j'ai plutot l'occasion de tester les images de pluie, nuages et neige ... (je plaisante il y a du SOLEIL actuellement !!!).
Sinon, il y a plein de banques d'images à l'adresse que j'avais indiquée : http://www.samurize.com/modules/ipboard/index.php?showtopic=3857, à peut être ailleurs. Il est possible aussi de récupérer les images manquantes dans un autre fichier.

Commentaire de wolf691300 le 02/03/2006 18:55:41

Bonjour, ici il y a toujours du soleil !!! Et plein soleil dans mon château et dans mes suites ... Hmmmmmmm vive les Seychelles, c'est le paradis ...

Oui, ton prog est utile pour ceux qui voient une météo bien triste ... sniff pour le moral ...

Un conseil: procure toi "Delphi-Pro-Solarium" (pour remonter le moral).

Wolf691300.

Commentaire de yvessimon le 03/03/2006 15:19:35


C'est surla méthode Get(AURL ) de Indy qu'il y a une erreur de socket.
Comme je suis sur un réseau local est-il nécessaire de définir un
N° de port et un nom de host ?

Salutations
  

Commentaire de yvessimon le 06/03/2006 12:06:00

avec Get(AURL ) de Indy qu'il y a une erreur de socket.
j'ai la version indy 9.00.10

avec  XMLDocument1.XML.Text   := WebBrowser1.OleObject.document.body.innertext;
je peux récuperer la page xml.

Salutations
Yvessimon

Commentaire de pierrefo le 07/03/2006 20:34:27

Bonjour,

Une petite information.
Le site weather.com mets à disposition un SDK avec l'ensemble des images en 128x128, 64x64 et 32x32.
Pour ma part j'ai créé deux sous-répertoires l'un pour les 128x128 et l'autre pour les 64x64 et j'ai remplacé la variable ImagesDir par deux variables ImagesDir128 et ImagesDir64 (128 pour le temps courant et 64 pour les prévisions)

Cordialement
Pierre

Commentaire de pierrefo le 07/03/2006 22:00:24

Bonsoir,

Encore une petite information. Dans le listing de Weathers.pas l'information "Courant.Dewp" est commentée avec un "?". Il s'agit du Point de Rosée.

Cordialement
Pierre

Commentaire de DelphiCool le 08/03/2006 06:16:22 administrateur CS

Salut,
pierrefo, aurrais tu un lien pour le SDK s'il te plait?

Commentaire de roud59 le 08/03/2006 09:13:33

Merci Pierrefo pour l'info sur Dewp. Mon anglais étant très moyen, je ne connaissais pas la traduction de ce terme. Le post de ce source m'aura donc appris des choses.

D'autres personnes ont-elles rencontré le même problème que Yvessimon ?

Roud59

Commentaire de pierrefo le 08/03/2006 11:26:36

Bonjour,
Suite à la demande de DELPHICOOL voici quelques précisions sur le site weather.com
Ce site permets de s'inscrire gratuitement afin d'avoir un identifiant et une clé pour l'accès au serveur SOAP. Le lien pour cette inscription est :

https://registration.weather.com/registration/xmloap/step1

En réponse à votre enregistrement vous recevrez un e-mail avec le lien pour télécharger le SDK qui contient la documentation sur l'accès et le contenu xml ainsi que l'ensemble des images.

NOTA: je ne mets pas ici le lien direct sur le SDK car je ne suis pas certain d'avoir le droit de le diffuser à des personnes non enregistrées. Et comme l'enregistrement est gratuit ......

Cordialement
Pierre

Commentaire de pierrefo le 08/03/2006 12:03:43

Bonjour,

Encore quelques précisions sur les champs non commentés:

Localite.Zone : il s'agit de la zone horaire GMT pour l'heure locale

Courant.Vent.Gust : il s'agit de la vitesse max des rafales de vent (normalement un entier ou N/A si cette valeur n'existe pas)

Cordialement
Pierre

Commentaire de DelphiCool le 08/03/2006 13:10:20 administrateur CS

merci pierrefo je vais voir ça

Commentaire de regismarion le 12/03/2006 13:08:24

Bonjour à tous

Très bon en y ajoutant les composants 'pngimage'l'effet est superbe les zones de contours sont parfaitement nettes j'y ai ajouté les phases lunaires c'est top je vais essayer d'y inclure une girouette pour le sens du vent
a+

Commentaire de regismarion le 13/03/2006 14:51:34

Vraiment bon ce code je vous invite a aller voir sur mon site web lien météo légère

http://site.voila.fr/vieuxredg
a+

Commentaire de poulinr le 17/03/2006 23:03:31

Bravo pour ce code.

Comment l'icone est-il identifié? Je n'arrive pas à trouver à quel endroit le chiffre de l'icone (13, 24, 16...) est obtenu. Merci.

Commentaire de roud59 le 18/03/2006 08:47:17

Merci Poulinr

Le chiffre de l'îcone est envoyé par weather.com et est stocké (sous forme de chaîne de caractères) dans
Courant.Icone  -> icone conditions en cours
Previsions.Jours[..].Jour.Icone -> icone d'une prévision (jour)
Previsions.Jours[..].Nuit.Icone -> icone d'une prévision (Nuit)

Commentaire de poulinr le 19/03/2006 03:23:50

Ok Merci - j'ai vu, et comprend mieux après avoir vu le feed de Weather.com. Encore une fois bravo pour ce travail. J'aime comment c'est fait et doccumenté. Il y a de bons programmeurs ici.

Commentaire de poulinr le 29/03/2006 20:06:04

Re-Bonjour. Je me demande pourquoi une ville comme New York n'est pas listée? Et d'après toi, comment faire, à quel endroit dans le code, pour y mettre des synonymes. Par exemple, Ville1=Ville2=Ville3=Paris. Parce que chaque ville n'a pas sa station meteo? Merci.

Commentaire de pierrefo le 29/03/2006 23:30:37

Bonjour POULINR,
L'exemple de New York met en évidence une petite faille dans l'envoie de la ville recherchée au serveur weather.com
En effet en cas de "blanc" dans le nom il faut lui substituer le code %20, de même pour les autres caractères spéciaux. Il faut donc prévoir de rajouter l'analyse de la chaine de caratères avant envoie. En attendant il te suffit de rentrer la chaine : New%20York et tu auras la réponse.
Nota: le serveur weather.com ne comprend pas que les villes ayant une station météo, d'autres villes sont aussi répertoriées. Pour aller au-delà il faudrait prévoir, dans le composant avant l'interrogation du serveur, une gestion spécifique  (liste de villes avec nom de la station la plus proche) et, pourquoi pas une gestion de synonymes.....Amicalement

Commentaire de regismarion le 30/03/2006 14:59:00

Bonjour après quelques recherches j'ai ajouté à cet excellent code 'affichage nocturne automatique,
un baromètre avec situation en cours (anticyclone etc..),mis au point l'affichage des phases lunaires
acquisition de la photo satellite'
si éventuellement quelqu'un veut le source modifié merçi de me passer un mail (avec les dossiers images 9 Mo)
A+

Commentaire de poulinr le 31/03/2006 22:21:11

J'ai moi aussi modifié le code .... que j'aime bcp. J'ai corrigé pour la liste des villes avec espace et introduit une liste à choisir, mis une image au choix pour le fond (qui bientôt va changer selon la température actuelle). Ajouté une option pour réduire la fiche a seulement le nom de la ville et Temp.

[img]http://i2.tinypic.com/so8nr4.jpg[/img]

A plus... :)

Commentaire de poulinr le 03/04/2006 09:22:23

De retour avec ce code que me tenaille :)) J'ai remarqué qu'on pouvait prendre la prévision pour la demi-journée, ce que tu as fait d'ailleurs et appelé le procédure TDemiPrevision. Maintenant, ce que j'aimerais, est d'afficher cette demi-prévision (où l'est-elle déjà?) .. par exemple, tôt le matin on afficherait la prévision de l'après-midi (même journée) ...  Je ne sais pas si je m'exprime bien? Bref, ce que je cherche, est d'avoir le matin la prévision pour plus tard dans la même journée .. (après-midi ou soirée) .. et non pas seulement la température courrante et les prévisions du lendemain, du surlendemain (c.a.d: Previsions.Jours[1]), Previsions.Jours[2])) etc. etc. Est-ce posssible selon la compréhension que tu as des prévisions de 'weather'? Et concrètement, cela a-t-il à voir avec cette partie du code:

'd' : RecupererPrevisionDemiJour(P.Jour, N);
'n' : RecupererPrevisionDemiJour(P.Nuit, N);

Merci.

Commentaire de poulinr le 03/04/2006 09:51:11

Encore moi ...

Ou ça serait ceci:

Before 2 PM Local Time:
- Display Day 0 “day” Day-part as “Today”
- Display Day 0 “night” Day-part as “Tonight”
After 2 PM Local Time:
- Display Day 0 “night” Day-part as “Tonight”
- Display Day 1 “day” Day-part as “Tomorrow”

DONC:

Avant 2PM on a la prévision de la journée (day 0)
Et la prévision de la soirée même journée

Après 2 PM on affiche alors la prévision pour la soirée seulement
(ou aussi celle du lendemain au besoin)

-------------------------

Il m'apparait donc que tu n'as pas sortie cette prévision de la soirée pour avant 2PM. Est-ce exact?

Merci.

Commentaire de poulinr le 03/04/2006 20:34:07

Re-re-re

Voilà j'ai compris. Après 14hr la prédiction de la journée devient celle de la soirée ou nuit. Ainsi, en mettant  Prevision1.MontrerPrevision(Previsions.Jours[0]); la prévision de la journée est valide jusqu'à 14hr. Après cette heure il faut passer en mode 'nuit' sur l'affichage (autrement on obtient N/A).  

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

connexion internet et TApdWinsockPort [ par pioonice ] BonjourVoila, mon appli se connecte à internet via un modem 56k.Je n'utilise pas les API windows.Je me connecte au serveur en utilisant un TApdWinsock conect [ par netadel ] bonjour une base de donné existe dans une machine serveur (appache/mysql) connectée à internet ,un utilisateur est connéctée à internet avec une machi piloter des bases de données à distance sur un serveur via internet [ par paulgiot ] J'ai developp&#233; plusieurs logiciels de gestion de base de donn&#233;es fonctionnant en r&#233;seau local. Je voudrais savoir si delphi permet de d Ports Internet [ par Bacterius ] Bonjour,Est-ce que quelqu'un sait quels sont les ports que l'on doit utiliser pour les composants TCP dans le but d'une application client/serveur?J'a Comment connécté un serveur socket avec IP internet et pas IP locale [ par barketmohamed ] Salut tout le mondeJe suis entrain de réaliser une application client serveur avec les sockets delphi, mais j'ai rencontré un probème, lorsque j'utili Socket et routeur: alternative. [ par Francois F ] Bonjour,J'ai plusieurs fois utilis&#233; les sockets pour des applications sur&nbsp;un reseau local et &#233;galement sur internet. Pour cela, j'ai du Transmission de données dans un protocole client/serveur [ par Francky23012301 ] Salut voila ma question : je voudrais transmettre une variable entre un client et un serveur. Plus précisément : *client: -Le client envoye le mess Web service delphi 6 et windows 2003 server [ par abdouinf ] Bonjour &#224; tous,j'ai developp&#233; un service web en utilisant SOAP, lorsque je le publie sur un ordinateur executant windows XP &#231;a marche t envoyer le contenu d'un fichier vers un serveur par TCP [ par nico0007 ] Bonjour,Je dois envoyer le contenu de fichier.txt vers une appli serveur qui tourne sous DOS. Pour l'instant je copie le contenu de mon fichier dans u Quelle sont les méthodes pour réaliser un transfert client/serveur [ par Francky23012301 ] Salut &#224; tous,J'ia cherch&#233; sur le net et pour transferer des donn&#233;es (fichiers, capture, dessin, m&#233;mo ect ect). Mais les choses ne


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,733 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales