Ephemeride + Météo

Programmation d'applications complexes
logis27
Messages : 34
Inscription : lun. 17/mars/2014 8:00

Ephemeride + Météo

Message par logis27 »

Salut les gens
Je vous propose un Ephemeride + une station météo + une supervision de vos disques durs ou SSD.
https://www.dropbox.com/s/93qy67mgmxstj ... n.rar?dl=0
Il vous faudra entrer le code de votre ville, voir:

Code : Tout sélectionner

Procedure ChargeData()   
  Protected i,Champ2$
  ;Code ville pour la France:
  ;https://weather.codes/france/
  ;FRXX0076:1:FR => Paris France

  InitNetwork()
  i=ReceiveHTTPFile("http://wxdata.weather.com/wxdata/weather/local/FRXX0076:1:FR?cc=&unit=m&dayf=6","Meteo.txt")
  
  OpenFile(0,Repertoire$+"Meteo.txt") 
  DataBrut$=ReadString(0,#PB_File_IgnoreEOL)
  
"FRXX0076:1:FR" est le code pour Paris
Il est indispensable d'avoir une connexion internet mais pas besoin d'une connexion rapide.
Une image de la fenêtre:
Image
Avatar de l’utilisateur
Zorro
Messages : 2185
Inscription : mar. 31/mai/2016 9:06

Re: Ephemeride + Météo

Message par Zorro »

jolie interface :)
Image
Image
Site: http://michel.dobro.free.fr/
Devise :"dis moi ce dont tu as besoin, je t'expliquerai comment t'en passer"
Marc56
Messages : 2146
Inscription : sam. 08/févr./2014 15:19

Re: Ephemeride + Météo

Message par Marc56 »

Beau boulot :o

Par contre tu as oublié de packager le fichier icône de l'application (..\1-Imagerie\Icones\Calendr1.ico dans les options du compilateur)
et le fichier son (Sd_Clic.ogg)
dans le .rar

Suggestion: Tu pourrais mettre le tout (y compris les images de fond) en IncludeBinary comme ça tu aurais un EXE autonome :wink:
logis27
Messages : 34
Inscription : lun. 17/mars/2014 8:00

Re: Ephemeride + Météo

Message par logis27 »

Merci des retours.
Le fichier .rar est corrigé.
J'en es profité pour corriger quelques idioties :wink:
Comme beaucoup, je pense, je ne réécris pas un programme complètement à chaque fois.
J'ai mes bibliothèques fonctionnelles que je copie/colle.
C'est pratique, rapide, mais ça apporte des coquilles.
Là par exemple c'est le cas du son clic complètement inutile => j'ai donc enlevé les fichier son, modifié le programme en conséquence mais j'en ai oublié.
:oops:
Avatar de l’utilisateur
Micoute
Messages : 2522
Inscription : dim. 02/oct./2011 16:17
Localisation : 35520 La Mézière

Re: Ephemeride + Météo

Message par Micoute »

Je ne peux dire mieux que j'adore !
Microsoft Windows 10 Famille 64 bits : Carte mère : ASRock 970 Extreme3 R2.0 : Carte Graphique NVIDIA GeForce RTX 3080 : Processeur AMD FX 6300 6 cœurs 12 threads 3,50 GHz PB 5.73 PB 6.00 LTS (x64)
Un homme doit être poli, mais il doit aussi être libre !
logis27
Messages : 34
Inscription : lun. 17/mars/2014 8:00

Re: Ephemeride + Météo

Message par logis27 »

Merci.
Je regarde pour ajouter d'autres informations comme:
- encombrement corbeille et nombre de fichiers dans celle-ci
- flux des données internet entrantes et sortantes
- niveau réception wifi avec IP et Nom
Là pour l'instant je sèche.
:?
Avatar de l’utilisateur
Ar-S
Messages : 9472
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: Ephemeride + Météo

Message par Ar-S »

C'est sympa merci du partage.
Je verrai qques modifs/ajouts :
- Ajouts d'infosbulles au survol des icones (sur l'arbre, le signe astro et d'autres)
- Il faudrait pouvoir choisir sa région/ville afin d'afficher la météo liée. (important)
- L'interface est un peu petite lorsqu'on est sur un 15 pouces en 1920x1080
- Je remplacerai ton receivehttpfile par un receivehttpmemory pour le fichier meteo afin de ne rien ecrire sur le DD

Je ne sais pas pourquoi tu es en PB 5.41 mais tu peux le compiler en 5.42 ça marche aussi ;)

Sinon c'est chouette :)
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Marc56
Messages : 2146
Inscription : sam. 08/févr./2014 15:19

Re: Ephemeride + Météo

Message par Marc56 »

Suggestion: Tu as une fonction qui teste l'espace libre sur chaque disque qui pourrait être améliorée
  • Elle affiche des disques qui n'existent pas chez tout le monde (et elle met alors la taille du dernier)
  • Son code est répété pour chaque disque (au total 100 lignes)
  • Elle fonctionne sans arrêt, alors qu'une fois par minute pourrait suffire (idéalement ne mettre à jour que lors d'un changement notoire et d'un certain temps (à cause des temp et du swap))
:wink:
logis27
Messages : 34
Inscription : lun. 17/mars/2014 8:00

Re: Ephemeride + Météo

Message par logis27 »

Merci
Les infos bulles j'y ai pensé mais comme la souris n'est pas limitée à la fenêtre Supervision, je n'ai pas trouvé comment faire.
Pour la ville j'ai donnée comment faire:

Code : Tout sélectionner

  ;Mise à jour données depuis le site Weather.com toutes les minutes
  If ElapsedMilliseconds()>Chrono
    Chrono=ElapsedMilliseconds()+60000
    ;Code ville pour la France:
    ;https://weather.codes/france/  
    ;FRXX0076:1:FR => Paris France
    i=ReceiveHTTPFile("http://wxdata.weather.com/wxdata/weather/local/FRXX0076:1:FR?cc=&unit=m&dayf=6","Meteo.txt")
    ChargeData() 
  EndIf
FRXX0076:1:FR est pour Paris.
Il faut chercher sur https://weather.codes/france/ le code propre à sa ville.
La taille de l'interface est faites en effet pour une résolution de 1920 x 1080.
J'ai déjà utilisé des astuces pour adapter une image en fonction de la résolution de l'écran utilisé mais ça donne pas toujours de bon résultats.
Comme ce n'est pas destiné à la commercialisation. :wink:
Je vais essayé receivehttpmemory à la place de receivehttpfile.

En effet j'ai 6 DD / SSD et je n'ai pas vérifié ce qui se passait s'il y en avait moins.
:mrgreen:
A+
Avatar de l’utilisateur
Ar-S
Messages : 9472
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: Ephemeride + Météo

Message par Ar-S »

J'ai vu que tu as donné comment faire, ce qui serait intéressant c'est que ton logiciel s'en charge. ;)

+1 concernant les DD
J'ai C et D en disque dur sur mon portable, le soft indique C D E F H K en se référent au dernier valide à savoir mon D.
(Une indication d'espace libre dans un soft de météo/éphéméride je trouve ça un peu superflux)

Pour les infobulles, vu que tu es dans un screen, tu peux utiliser 2 options :
Soit un curseur sprite qui utilise spritecollision, soit simplement les coordonnées de tes cadres

Si curseurX > cadre1X et curseurX < (cadre1X+LargeurCadre1) et pareil pour Y
Alors drawtexte info sur cadre 1
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Avatar de l’utilisateur
Zorro
Messages : 2185
Inscription : mar. 31/mai/2016 9:06

Re: Ephemeride + Météo

Message par Zorro »

Ar-S a écrit :(Une indication d'espace libre dans un soft de météo/éphéméride je trouve ça un peu superflux)
c'est un disciple de Marc56 :mrgreen: :lol:
Image
Image
Site: http://michel.dobro.free.fr/
Devise :"dis moi ce dont tu as besoin, je t'expliquerai comment t'en passer"
Avatar de l’utilisateur
Ar-S
Messages : 9472
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: Ephemeride + Météo

Message par Ar-S »

Pour revenir aux info bulles, plus simplement un cadre "info" qui affiche un message selon ce que tu survoles.
Ici sans sprite colision je ferai quelque chose comme ça

Code : Tout sélectionner

; Tu structures tes sprites  

Structure SP
  x.i
  y.i
  message.s
  L.i
  H.i
  ID.i
EndStructure

Global Dim SP.SP(11) ; 12 sprites en tout

;Imaginons que ton cadre lune soit le sprite 0 / 11 sprites en tout
; #SpriteLune
Sp(0)/x = 50
Sp(0)/y = 40
Sp(0)/L = 40
Sp(0)/H = 40
Sp(0)/Message.s = "Phase lunaire"


; la procédure qui va te revoyer l'ID du message à afficher
Procedure CheckOverSprite()
  Xcurseur = MouseX()
  Ycurseur = MouseY()
  For i = 0 To 11
  If Xcurseur > SP(i)\X And Xcurseur < SP(i)\L And Ycurseur > SP(i)\Y And Ycurseur < SP(i)\H
    ProcedureReturn SP(i)\message.s
  Else
    ProcedureReturn "NO"
  EndIf 
EndProcedure


; Ensuite dans ta boucle graphique, tu fais un drawText() du genre
Info = CheckOverSprite()
If Info.s <> "NO"
Startdrawing(screenoutput))
  DrawText(Xmessage, Ymessage, info, $FFFFFF,$0)
stopdrawing()
EndIf
J'aurai aussi préféré utilisé un Canvas plutôt qu'un screen. C'est plus souple pour des affichages statiques
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Marc56
Messages : 2146
Inscription : sam. 08/févr./2014 15:19

Re: Ephemeride + Météo

Message par Marc56 »

[off topic]
@Zorro: tu fais bien de me le rappeler, j'avais envisagé à un moment de mettre une zone météo, ça va me reprendre :wink:
Pour l'instant, je regarde la façon de transformer toutes mes zones Images en Canvas pour pouvoir les déplacer à la souris.
Avatar de l’utilisateur
Zorro
Messages : 2185
Inscription : mar. 31/mai/2016 9:06

Re: Ephemeride + Météo

Message par Zorro »

tu mets direct chacune de tes images dans un container, et c'est celui ci que tu deplaces.... non ? ;)

note, tu dois pouvoir aussi deplacer direct les images gadget sans utiliser un container
Image
Image
Site: http://michel.dobro.free.fr/
Devise :"dis moi ce dont tu as besoin, je t'expliquerai comment t'en passer"
Avatar de l’utilisateur
Kwai chang caine
Messages : 6962
Inscription : sam. 23/sept./2006 18:32
Localisation : Isere

Re: Ephemeride + Météo

Message par Kwai chang caine »

logis27 a écrit :Salut les gens
J'm'appelle pas "jean" moi..... mais KCC (pour les intimes) !!! 8O

Super belle ton appli...tellement belle qu'on aimerait la déposer sur le bureau...pas virtuel :wink:
En tout cas c'est un petit miracle, on pourrait même te qualifier de petite fée... du "logis" :mrgreen:
Merci beaucoup du partage 8)
ImageLe bonheur est une route...
Pas une destination

PureBasic Forum Officiel - Site PureBasic
Répondre