Novembre 2024 | Lun | Mar | Mer | Jeu | Ven | Sam | Dim |
---|
| | | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | | Calendrier |
|
|
| Lever/coucher du soleil | |
| | Auteur | Message |
---|
JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Lever/coucher du soleil Ven 16 Avr 2021 - 15:39 | |
| Les données sont extraites d'un fichier téléchargé sur internet. Jje ne sais pas si ça peut se calculer, j'en doute un peu, papydall pourrait sans doute répondre (mais où est-il ?). Le site: https://calendar.center/fr/lever-et-coucher-de-soleil/- Sélectionner et copier l'ensemble des mois, enregistrer sous: - C:\TEXTES\SoleilAAAA.txt, AAAA étant l'année. Chaque ligne correspond à un jour, exemple: ven., 16 avr. 2021 06:56 20:43 13h 46m jour, heure de lever, heure de coucher, durée, les 3 dernières données sont précédées d'un caractère Tab (= 9). - Code:
-
LABEL Lcs DIM r$,f$,j,m,a,d$,nm$(12),i,k,b$ r$ = "C:\TEXTES\" DATA "Janvier","Février","Mars","Avril","Mai","Juin","Juillet","Août" DATA "Septembre","Octobre","Novembre","Décembre" FOR i = 1 TO 12: READ nm$(i): NEXT i BORDER_SMALL 0 i = WIDTH(0)-WIDTH_CLIENT(0): WIDTH 0,184+i i = HEIGHT(0)-HEIGHT_CLIENT(0): HEIGHT 0,90+i COLOR 0,220,255,255 LEFT 0,(SCREEN_X-WIDTH(0))/2: TOP 0,100 CAPTION 0,"LEVER / COUCHER DU SOLEIL": FONT_SIZE 0,12 ALPHA 1: LEFT 1,15: CAPTION 1," Jour Mois Année" SPIN 2: TOP 2,TOP(1)+18: LEFT 2,LEFT(1): WIDTH 2,45: MIN 2,1: MAX 2,31 SPIN 3: TOP 3,TOP(2): LEFT 3,LEFT(2)+WIDTH(2)+5: WIDTH 3,45: MIN 3,1: MAX 3,12 SPIN 4: TOP 4,TOP(3): LEFT 4,LEFT(3)+WIDTH(3)+5: WIDTH 4,60: MIN 4,2021 MAX 4,2050 ALPHA 6: TOP 6,TOP(2)+30: CAPTION 6," Lever Coucher Durée" EDIT 7: TOP 7,TOP(6)+18: WIDTH 7,50 EDIT 8: TOP 8,TOP(7): LEFT 8,LEFT(7)+WIDTH(7)+5: WIDTH 8,WIDTH(7) EDIT 9: TOP 9,TOP(8): LEFT 9,LEFT(8)+WIDTH(8)+5: WIDTH 9,72 FOR i = 7 TO 9: COLOR i,255,255,0: NEXT i DLIST 15 d$ = DATE$ j = VAL(LEFT$(d$,2)): m = VAL(MID$(d$,4,2)): a = VAL(RIGHT$(d$,4)) POSITION 2,j: POSITION 3,m: POSITION 4,a FOR i = 2 TO 4: COLOR i,255,255,220: ON_CHANGE i,Lcs: NEXT i GOSUB Lcs END ' ============================================================================= Lcs: ' Fichier annuel des lever/coucher de soleil à télécharger sur: ' https://calendar.center/fr/lever-et-coucher-de-soleil/ ' Sélectionner et copier l'ensemble des mois, enregistrer sous: ' C:\TEXTES\SoleilAAAA.txt, AAAA étant l'année. j = POSITION(2): m = POSITION(3): a = POSITION(4) f$ = r$+"Soleil"+STR$(a)+".txt" IF FILE_EXISTS(f$) = 0 b$ = "Année "+STR$(a)+" non répertoriée !" b$ = b$+CHR$(10)+"(fichier "+f$+" absent)" MESSAGE b$: RETURN END_IF FILE_LOAD 15,f$ d$ = nm$(m) FOR i = 1 TO COUNT(15): ' recherche mois IF ITEM_READ$(15,i) = d$ THEN EXIT_FOR NEXT i FOR k = i+1 TO COUNT(15): ' recherche jour b$ = ITEM_READ$(15,k) IF LEN(b$)<10 THEN MESSAGE "Jour incorrect !": RETURN IF j = VAL(MID$(b$,7,2)) THEN EXIT_FOR NEXT k i = INSTR(b$,CHR$(9)): b$ = RIGHT_POS$(b$,i+1) i = INSTR(b$,CHR$(9)): TEXT 7,LEFT$(b$,5): b$ = RIGHT_POS$(b$,i+1) i = INSTR(b$,CHR$(9)): TEXT 8,LEFT$(b$,5): b$ = RIGHT_POS$(b$,i+1) TEXT 9,b$ RETURN ' ============================================================================= Inconvénient: tous les ans il faut aller chercher le nouveau fichier de données... Tentative d'insertion du fichier pour 2021: ça a l'air de marcher !... Les commentaires en tête sont pour mémoire et ne gênent pas le fonctionnement. Donc le texte ci-dessous à enregistrer sous C:\TEXTES\Soleil2021.txt (on peut évidemment adapter le chemin à son contexte, mais aussi dans le programme !) - Code:
-
Téléchargé sur https://calendar.center/fr/lever-et-coucher-de-soleil/ (Sélectionner l'ensemble des mois, copier puis coller dans un fichier texte -> C:\TEXTES\SoleilAAAA.txt, AAAA étant l'année) NB: dans une ligne, les éléments sont séparés par un caractère '09' (3 en tout): [09] [09] [09] 2021 Janvier ven., 1 janv. 2021 08:43 17:04 8h 20m sam., 2 janv. 2021 08:43 17:05 8h 21m dim., 3 janv. 2021 08:43 17:06 8h 23m lun., 4 janv. 2021 08:43 17:07 8h 24m mar., 5 janv. 2021 08:43 17:08 8h 25m mer., 6 janv. 2021 08:42 17:10 8h 27m jeu., 7 janv. 2021 08:42 17:11 8h 28m ven., 8 janv. 2021 08:42 17:12 8h 30m sam., 9 janv. 2021 08:41 17:13 8h 31m dim., 10 janv. 2021 08:41 17:15 8h 33m lun., 11 janv. 2021 08:40 17:16 8h 35m mar., 12 janv. 2021 08:40 17:17 8h 37m mer., 13 janv. 2021 08:39 17:19 8h 39m jeu., 14 janv. 2021 08:39 17:20 8h 41m ven., 15 janv. 2021 08:38 17:21 8h 43m sam., 16 janv. 2021 08:37 17:23 8h 45m dim., 17 janv. 2021 08:36 17:24 8h 47m lun., 18 janv. 2021 08:35 17:26 8h 50m mar., 19 janv. 2021 08:35 17:27 8h 52m mer., 20 janv. 2021 08:34 17:29 8h 55m jeu., 21 janv. 2021 08:33 17:30 8h 57m ven., 22 janv. 2021 08:32 17:32 9h 00m sam., 23 janv. 2021 08:31 17:33 9h 02m dim., 24 janv. 2021 08:30 17:35 9h 05m lun., 25 janv. 2021 08:28 17:36 9h 08m mar., 26 janv. 2021 08:27 17:38 9h 10m mer., 27 janv. 2021 08:26 17:40 9h 13m jeu., 28 janv. 2021 08:25 17:41 9h 16m ven., 29 janv. 2021 08:24 17:43 9h 19m sam., 30 janv. 2021 08:22 17:45 9h 22m dim., 31 janv. 2021 08:21 17:46 9h 25m Février lun., 1 févr. 2021 08:20 17:48 9h 28m mar., 2 févr. 2021 08:18 17:49 9h 31m mer., 3 févr. 2021 08:17 17:51 9h 34m jeu., 4 févr. 2021 08:15 17:53 9h 37m ven., 5 févr. 2021 08:14 17:54 9h 40m sam., 6 févr. 2021 08:12 17:56 9h 43m dim., 7 févr. 2021 08:11 17:58 9h 46m lun., 8 févr. 2021 08:09 17:59 9h 50m mar., 9 févr. 2021 08:08 18:01 9h 53m mer., 10 févr. 2021 08:06 18:03 9h 56m jeu., 11 févr. 2021 08:04 18:04 9h 59m ven., 12 févr. 2021 08:03 18:06 10h 03m sam., 13 févr. 2021 08:01 18:08 10h 06m dim., 14 févr. 2021 07:59 18:09 10h 09m lun., 15 févr. 2021 07:58 18:11 10h 13m mar., 16 févr. 2021 07:56 18:13 10h 16m mer., 17 févr. 2021 07:54 18:14 10h 20m jeu., 18 févr. 2021 07:52 18:16 10h 23m ven., 19 févr. 2021 07:50 18:17 10h 27m sam., 20 févr. 2021 07:49 18:19 10h 30m dim., 21 févr. 2021 07:47 18:21 10h 33m lun., 22 févr. 2021 07:45 18:22 10h 37m mar., 23 févr. 2021 07:43 18:24 10h 40m mer., 24 févr. 2021 07:41 18:26 10h 44m jeu., 25 févr. 2021 07:39 18:27 10h 48m ven., 26 févr. 2021 07:37 18:29 10h 51m sam., 27 févr. 2021 07:35 18:30 10h 55m dim., 28 févr. 2021 07:33 18:32 10h 58m Mars lun., 1 mars 2021 07:31 18:33 11h 02m mar., 2 mars 2021 07:29 18:35 11h 05m mer., 3 mars 2021 07:27 18:37 11h 09m jeu., 4 mars 2021 07:25 18:38 11h 12m ven., 5 mars 2021 07:23 18:40 11h 16m sam., 6 mars 2021 07:21 18:41 11h 20m dim., 7 mars 2021 07:19 18:43 11h 23m lun., 8 mars 2021 07:17 18:44 11h 27m mar., 9 mars 2021 07:15 18:46 11h 30m mer., 10 mars 2021 07:13 18:48 11h 34m jeu., 11 mars 2021 07:11 18:49 11h 38m ven., 12 mars 2021 07:09 18:51 11h 41m sam., 13 mars 2021 07:07 18:52 11h 45m dim., 14 mars 2021 07:05 18:54 11h 48m lun., 15 mars 2021 07:03 18:55 11h 52m mar., 16 mars 2021 07:01 18:57 11h 56m mer., 17 mars 2021 06:58 18:58 11h 59m jeu., 18 mars 2021 06:56 19:00 12h 03m ven., 19 mars 2021 06:54 19:01 12h 07m sam., 20 mars 2021 06:52 19:03 12h 10m dim., 21 mars 2021 06:50 19:04 12h 14m lun., 22 mars 2021 06:48 19:06 12h 17m mar., 23 mars 2021 06:46 19:07 12h 21m mer., 24 mars 2021 06:44 19:09 12h 25m jeu., 25 mars 2021 06:42 19:10 12h 28m ven., 26 mars 2021 06:40 19:12 12h 32m sam., 27 mars 2021 06:37 19:13 12h 35m dim., 28 mars 2021 07:35 20:15 12h 39m lun., 29 mars 2021 07:33 20:16 12h 43m mar., 30 mars 2021 07:31 20:18 12h 46m mer., 31 mars 2021 07:29 20:19 12h 50m Avril jeu., 1 avr. 2021 07:27 20:21 12h 53m ven., 2 avr. 2021 07:25 20:22 12h 57m sam., 3 avr. 2021 07:23 20:24 13h 01m dim., 4 avr. 2021 07:21 20:25 13h 04m lun., 5 avr. 2021 07:19 20:27 13h 08m mar., 6 avr. 2021 07:17 20:28 13h 11m mer., 7 avr. 2021 07:15 20:30 13h 15m jeu., 8 avr. 2021 07:12 20:31 13h 18m ven., 9 avr. 2021 07:10 20:33 13h 22m sam., 10 avr. 2021 07:08 20:34 13h 25m dim., 11 avr. 2021 07:06 20:36 13h 29m lun., 12 avr. 2021 07:04 20:37 13h 32m mar., 13 avr. 2021 07:02 20:39 13h 36m mer., 14 avr. 2021 07:00 20:40 13h 39m jeu., 15 avr. 2021 06:58 20:42 13h 43m ven., 16 avr. 2021 06:56 20:43 13h 46m sam., 17 avr. 2021 06:55 20:45 13h 50m dim., 18 avr. 2021 06:53 20:46 13h 53m lun., 19 avr. 2021 06:51 20:48 13h 57m mar., 20 avr. 2021 06:49 20:49 14h 00m mer., 21 avr. 2021 06:47 20:51 14h 03m jeu., 22 avr. 2021 06:45 20:52 14h 07m ven., 23 avr. 2021 06:43 20:54 14h 10m sam., 24 avr. 2021 06:41 20:55 14h 13m dim., 25 avr. 2021 06:39 20:57 14h 17m lun., 26 avr. 2021 06:38 20:58 14h 20m mar., 27 avr. 2021 06:36 21:00 14h 23m mer., 28 avr. 2021 06:34 21:01 14h 26m jeu., 29 avr. 2021 06:32 21:03 14h 30m ven., 30 avr. 2021 06:31 21:04 14h 33m Mai sam., 1 mai 2021 06:29 21:05 14h 36m dim., 2 mai 2021 06:27 21:07 14h 39m lun., 3 mai 2021 06:26 21:08 14h 42m mar., 4 mai 2021 06:24 21:10 14h 45m mer., 5 mai 2021 06:22 21:11 14h 48m jeu., 6 mai 2021 06:21 21:13 14h 51m ven., 7 mai 2021 06:19 21:14 14h 54m sam., 8 mai 2021 06:18 21:16 14h 57m dim., 9 mai 2021 06:16 21:17 15h 00m lun., 10 mai 2021 06:15 21:18 15h 03m mar., 11 mai 2021 06:13 21:20 15h 06m mer., 12 mai 2021 06:12 21:21 15h 09m jeu., 13 mai 2021 06:10 21:22 15h 12m ven., 14 mai 2021 06:09 21:24 15h 14m sam., 15 mai 2021 06:08 21:25 15h 17m dim., 16 mai 2021 06:06 21:27 15h 20m lun., 17 mai 2021 06:05 21:28 15h 22m mar., 18 mai 2021 06:04 21:29 15h 25m mer., 19 mai 2021 06:03 21:30 15h 27m jeu., 20 mai 2021 06:02 21:32 15h 30m ven., 21 mai 2021 06:01 21:33 15h 32m sam., 22 mai 2021 05:59 21:34 15h 34m dim., 23 mai 2021 05:58 21:35 15h 36m lun., 24 mai 2021 05:57 21:37 15h 39m mar., 25 mai 2021 05:56 21:38 15h 41m mer., 26 mai 2021 05:55 21:39 15h 43m jeu., 27 mai 2021 05:55 21:40 15h 45m ven., 28 mai 2021 05:54 21:41 15h 47m sam., 29 mai 2021 05:53 21:42 15h 49m dim., 30 mai 2021 05:52 21:43 15h 51m lun., 31 mai 2021 05:51 21:44 15h 52m Juin mar., 1 juin 2021 05:51 21:45 15h 54m mer., 2 juin 2021 05:50 21:46 15h 56m jeu., 3 juin 2021 05:50 21:47 15h 57m ven., 4 juin 2021 05:49 21:48 15h 58m sam., 5 juin 2021 05:48 21:49 16h 00m dim., 6 juin 2021 05:48 21:50 16h 01m lun., 7 juin 2021 05:48 21:50 16h 02m mar., 8 juin 2021 05:47 21:51 16h 03m mer., 9 juin 2021 05:47 21:52 16h 05m jeu., 10 juin 2021 05:47 21:53 16h 05m ven., 11 juin 2021 05:46 21:53 16h 06m sam., 12 juin 2021 05:46 21:54 16h 07m dim., 13 juin 2021 05:46 21:54 16h 08m lun., 14 juin 2021 05:46 21:55 16h 09m mar., 15 juin 2021 05:46 21:55 16h 09m mer., 16 juin 2021 05:46 21:56 16h 10m jeu., 17 juin 2021 05:46 21:56 16h 10m ven., 18 juin 2021 05:46 21:57 16h 10m sam., 19 juin 2021 05:46 21:57 16h 10m dim., 20 juin 2021 05:46 21:57 16h 10m lun., 21 juin 2021 05:46 21:57 16h 10m mar., 22 juin 2021 05:47 21:58 16h 10m mer., 23 juin 2021 05:47 21:58 16h 10m jeu., 24 juin 2021 05:47 21:58 16h 10m ven., 25 juin 2021 05:48 21:58 16h 10m sam., 26 juin 2021 05:48 21:58 16h 09m dim., 27 juin 2021 05:49 21:58 16h 09m lun., 28 juin 2021 05:49 21:58 16h 08m mar., 29 juin 2021 05:50 21:58 16h 07m mer., 30 juin 2021 05:50 21:57 16h 07m Juillet jeu., 1 juil. 2021 05:51 21:57 16h 06m ven., 2 juil. 2021 05:52 21:57 16h 05m sam., 3 juil. 2021 05:52 21:57 16h 04m dim., 4 juil. 2021 05:53 21:56 16h 03m lun., 5 juil. 2021 05:54 21:56 16h 02m mar., 6 juil. 2021 05:55 21:55 16h 00m mer., 7 juil. 2021 05:55 21:55 15h 59m jeu., 8 juil. 2021 05:56 21:54 15h 58m ven., 9 juil. 2021 05:57 21:54 15h 56m sam., 10 juil. 2021 05:58 21:53 15h 54m dim., 11 juil. 2021 05:59 21:52 15h 53m lun., 12 juil. 2021 06:00 21:52 15h 51m mar., 13 juil. 2021 06:01 21:51 15h 49m mer., 14 juil. 2021 06:02 21:50 15h 47m jeu., 15 juil. 2021 06:03 21:49 15h 46m ven., 16 juil. 2021 06:04 21:48 15h 44m sam., 17 juil. 2021 06:05 21:47 15h 42m dim., 18 juil. 2021 06:06 21:46 15h 39m lun., 19 juil. 2021 06:08 21:45 15h 37m mar., 20 juil. 2021 06:09 21:44 15h 35m mer., 21 juil. 2021 06:10 21:43 15h 33m jeu., 22 juil. 2021 06:11 21:42 15h 30m ven., 23 juil. 2021 06:12 21:41 15h 28m sam., 24 juil. 2021 06:14 21:40 15h 26m dim., 25 juil. 2021 06:15 21:39 15h 23m lun., 26 juil. 2021 06:16 21:37 15h 21m mar., 27 juil. 2021 06:17 21:36 15h 18m mer., 28 juil. 2021 06:19 21:35 15h 15m jeu., 29 juil. 2021 06:20 21:33 15h 13m ven., 30 juil. 2021 06:21 21:32 15h 10m sam., 31 juil. 2021 06:23 21:30 15h 07m Août dim., 1 août 2021 06:24 21:29 15h 05m lun., 2 août 2021 06:25 21:27 15h 02m mar., 3 août 2021 06:27 21:26 14h 59m mer., 4 août 2021 06:28 21:24 14h 56m jeu., 5 août 2021 06:29 21:23 14h 53m ven., 6 août 2021 06:31 21:21 14h 50m sam., 7 août 2021 06:32 21:20 14h 47m dim., 8 août 2021 06:33 21:18 14h 44m lun., 9 août 2021 06:35 21:16 14h 41m mar., 10 août 2021 06:36 21:15 14h 38m mer., 11 août 2021 06:38 21:13 14h 35m jeu., 12 août 2021 06:39 21:11 14h 32m ven., 13 août 2021 06:40 21:09 14h 28m sam., 14 août 2021 06:42 21:08 14h 25m dim., 15 août 2021 06:43 21:06 14h 22m lun., 16 août 2021 06:45 21:04 14h 19m mar., 17 août 2021 06:46 21:02 14h 16m mer., 18 août 2021 06:47 21:00 14h 12m jeu., 19 août 2021 06:49 20:58 14h 09m ven., 20 août 2021 06:50 20:57 14h 06m sam., 21 août 2021 06:52 20:55 14h 02m dim., 22 août 2021 06:53 20:53 13h 59m lun., 23 août 2021 06:55 20:51 13h 56m mar., 24 août 2021 06:56 20:49 13h 52m mer., 25 août 2021 06:57 20:47 13h 49m jeu., 26 août 2021 06:59 20:45 13h 46m ven., 27 août 2021 07:00 20:43 13h 42m sam., 28 août 2021 07:02 20:41 13h 39m dim., 29 août 2021 07:03 20:39 13h 35m lun., 30 août 2021 07:04 20:37 13h 32m mar., 31 août 2021 07:06 20:35 13h 28m Septembre mer., 1 sept. 2021 07:07 20:33 13h 25m jeu., 2 sept. 2021 07:09 20:31 13h 22m ven., 3 sept. 2021 07:10 20:29 13h 18m sam., 4 sept. 2021 07:12 20:27 13h 15m dim., 5 sept. 2021 07:13 20:25 13h 11m lun., 6 sept. 2021 07:14 20:22 13h 08m mar., 7 sept. 2021 07:16 20:20 13h 04m mer., 8 sept. 2021 07:17 20:18 13h 01m jeu., 9 sept. 2021 07:19 20:16 12h 57m ven., 10 sept. 2021 07:20 20:14 12h 53m sam., 11 sept. 2021 07:21 20:12 12h 50m dim., 12 sept. 2021 07:23 20:10 12h 46m lun., 13 sept. 2021 07:24 20:08 12h 43m mar., 14 sept. 2021 07:26 20:06 12h 39m mer., 15 sept. 2021 07:27 20:03 12h 36m jeu., 16 sept. 2021 07:29 20:01 12h 32m ven., 17 sept. 2021 07:30 19:59 12h 29m sam., 18 sept. 2021 07:31 19:57 12h 25m dim., 19 sept. 2021 07:33 19:55 12h 22m lun., 20 sept. 2021 07:34 19:53 12h 18m mar., 21 sept. 2021 07:36 19:51 12h 14m mer., 22 sept. 2021 07:37 19:48 12h 11m jeu., 23 sept. 2021 07:38 19:46 12h 07m ven., 24 sept. 2021 07:40 19:44 12h 04m sam., 25 sept. 2021 07:41 19:42 12h 00m dim., 26 sept. 2021 07:43 19:40 11h 57m lun., 27 sept. 2021 07:44 19:38 11h 53m mar., 28 sept. 2021 07:46 19:36 11h 50m mer., 29 sept. 2021 07:47 19:34 11h 46m jeu., 30 sept. 2021 07:49 19:31 11h 42m Octobre ven., 1 oct. 2021 07:50 19:29 11h 39m sam., 2 oct. 2021 07:51 19:27 11h 35m dim., 3 oct. 2021 07:53 19:25 11h 32m lun., 4 oct. 2021 07:54 19:23 11h 28m mar., 5 oct. 2021 07:56 19:21 11h 25m mer., 6 oct. 2021 07:57 19:19 11h 21m jeu., 7 oct. 2021 07:59 19:17 11h 18m ven., 8 oct. 2021 08:00 19:15 11h 14m sam., 9 oct. 2021 08:02 19:13 11h 10m dim., 10 oct. 2021 08:03 19:11 11h 07m lun., 11 oct. 2021 08:05 19:09 11h 03m mar., 12 oct. 2021 08:06 19:07 11h 00m mer., 13 oct. 2021 08:08 19:05 10h 56m jeu., 14 oct. 2021 08:09 19:03 10h 53m ven., 15 oct. 2021 08:11 19:01 10h 49m sam., 16 oct. 2021 08:12 18:59 10h 46m dim., 17 oct. 2021 08:14 18:57 10h 42m lun., 18 oct. 2021 08:15 18:55 10h 39m mar., 19 oct. 2021 08:17 18:53 10h 36m mer., 20 oct. 2021 08:19 18:51 10h 32m jeu., 21 oct. 2021 08:20 18:49 10h 29m ven., 22 oct. 2021 08:22 18:47 10h 25m sam., 23 oct. 2021 08:23 18:46 10h 22m dim., 24 oct. 2021 08:25 18:44 10h 18m lun., 25 oct. 2021 08:26 18:42 10h 15m mar., 26 oct. 2021 08:28 18:40 10h 12m mer., 27 oct. 2021 08:29 18:38 10h 08m jeu., 28 oct. 2021 08:31 18:37 10h 05m ven., 29 oct. 2021 08:33 18:35 10h 02m sam., 30 oct. 2021 08:34 18:33 9h 59m dim., 31 oct. 2021 07:36 17:32 9h 55m Novembre lun., 1 nov. 2021 07:37 17:30 9h 52m mar., 2 nov. 2021 07:39 17:28 9h 49m mer., 3 nov. 2021 07:41 17:27 9h 46m jeu., 4 nov. 2021 07:42 17:25 9h 43m ven., 5 nov. 2021 07:44 17:24 9h 39m sam., 6 nov. 2021 07:45 17:22 9h 36m dim., 7 nov. 2021 07:47 17:21 9h 33m lun., 8 nov. 2021 07:49 17:19 9h 30m mar., 9 nov. 2021 07:50 17:18 9h 27m mer., 10 nov. 2021 07:52 17:16 9h 24m jeu., 11 nov. 2021 07:53 17:15 9h 21m ven., 12 nov. 2021 07:55 17:14 9h 18m sam., 13 nov. 2021 07:56 17:12 9h 16m dim., 14 nov. 2021 07:58 17:11 9h 13m lun., 15 nov. 2021 07:59 17:10 9h 10m mar., 16 nov. 2021 08:01 17:09 9h 07m mer., 17 nov. 2021 08:03 17:08 9h 05m jeu., 18 nov. 2021 08:04 17:07 9h 02m ven., 19 nov. 2021 08:06 17:05 8h 59m sam., 20 nov. 2021 08:07 17:04 8h 57m dim., 21 nov. 2021 08:09 17:03 8h 54m lun., 22 nov. 2021 08:10 17:03 8h 52m mar., 23 nov. 2021 08:11 17:02 8h 50m mer., 24 nov. 2021 08:13 17:01 8h 47m jeu., 25 nov. 2021 08:14 17:00 8h 45m ven., 26 nov. 2021 08:16 16:59 8h 43m sam., 27 nov. 2021 08:17 16:58 8h 41m dim., 28 nov. 2021 08:18 16:58 8h 39m lun., 29 nov. 2021 08:20 16:57 8h 37m mar., 30 nov. 2021 08:21 16:57 8h 35m Décembre mer., 1 déc. 2021 08:22 16:56 8h 33m jeu., 2 déc. 2021 08:24 16:56 8h 31m ven., 3 déc. 2021 08:25 16:55 8h 30m sam., 4 déc. 2021 08:26 16:55 8h 28m dim., 5 déc. 2021 08:27 16:54 8h 27m lun., 6 déc. 2021 08:28 16:54 8h 25m mar., 7 déc. 2021 08:29 16:54 8h 24m mer., 8 déc. 2021 08:31 16:54 8h 23m jeu., 9 déc. 2021 08:32 16:54 8h 21m ven., 10 déc. 2021 08:33 16:53 8h 20m sam., 11 déc. 2021 08:34 16:53 8h 19m dim., 12 déc. 2021 08:34 16:53 8h 18m lun., 13 déc. 2021 08:35 16:53 8h 18m mar., 14 déc. 2021 08:36 16:54 8h 17m mer., 15 déc. 2021 08:37 16:54 8h 16m jeu., 16 déc. 2021 08:38 16:54 8h 16m ven., 17 déc. 2021 08:38 16:54 8h 15m sam., 18 déc. 2021 08:39 16:55 8h 15m dim., 19 déc. 2021 08:40 16:55 8h 15m lun., 20 déc. 2021 08:40 16:55 8h 15m mar., 21 déc. 2021 08:41 16:56 8h 14m mer., 22 déc. 2021 08:41 16:56 8h 15m jeu., 23 déc. 2021 08:42 16:57 8h 15m ven., 24 déc. 2021 08:42 16:57 8h 15m sam., 25 déc. 2021 08:42 16:58 8h 15m dim., 26 déc. 2021 08:43 16:59 8h 16m lun., 27 déc. 2021 08:43 17:00 8h 16m mar., 28 déc. 2021 08:43 17:00 8h 17m mer., 29 déc. 2021 08:43 17:01 8h 17m jeu., 30 déc. 2021 08:43 17:02 8h 18m ven., 31 déc. 2021 08:43 17:03 8h 19m
Dernière édition par JL35 le Ven 16 Avr 2021 - 17:59, édité 1 fois | |
| | | Marc
Nombre de messages : 2466 Age : 63 Localisation : TOURS (37) Date d'inscription : 17/03/2014
| Sujet: Re: Lever/coucher du soleil Ven 16 Avr 2021 - 17:21 | |
| Merci JL35 ! Original, sympa ! Quelques petites remarques : - Sous Windows 10, les minutes sont tronquées ; - Lorsque je souhaite afficher les heures du mois d’août, le programme se plante. Contenu de mon fichier soleil2021.txt : - Code:
-
Janvier ven., 1 janv. 2021 08:43 17:04 8h 20m sam., 2 janv. 2021 08:43 17:05 8h 21m dim., 3 janv. 2021 08:43 17:06 8h 23m lun., 4 janv. 2021 08:43 17:07 8h 24m mar., 5 janv. 2021 08:43 17:08 8h 25m mer., 6 janv. 2021 08:42 17:10 8h 27m jeu., 7 janv. 2021 08:42 17:11 8h 28m ven., 8 janv. 2021 08:42 17:12 8h 30m sam., 9 janv. 2021 08:41 17:13 8h 31m dim., 10 janv. 2021 08:41 17:15 8h 33m lun., 11 janv. 2021 08:40 17:16 8h 35m mar., 12 janv. 2021 08:40 17:17 8h 37m mer., 13 janv. 2021 08:39 17:19 8h 39m jeu., 14 janv. 2021 08:39 17:20 8h 41m ven., 15 janv. 2021 08:38 17:21 8h 43m sam., 16 janv. 2021 08:37 17:23 8h 45m dim., 17 janv. 2021 08:36 17:24 8h 47m lun., 18 janv. 2021 08:35 17:26 8h 50m mar., 19 janv. 2021 08:35 17:27 8h 52m mer., 20 janv. 2021 08:34 17:29 8h 55m jeu., 21 janv. 2021 08:33 17:30 8h 57m ven., 22 janv. 2021 08:32 17:32 9h 00m sam., 23 janv. 2021 08:31 17:33 9h 02m dim., 24 janv. 2021 08:30 17:35 9h 05m lun., 25 janv. 2021 08:28 17:36 9h 08m mar., 26 janv. 2021 08:27 17:38 9h 10m mer., 27 janv. 2021 08:26 17:40 9h 13m jeu., 28 janv. 2021 08:25 17:41 9h 16m ven., 29 janv. 2021 08:24 17:43 9h 19m sam., 30 janv. 2021 08:22 17:45 9h 22m dim., 31 janv. 2021 08:21 17:46 9h 25m Février lun., 1 févr. 2021 08:20 17:48 9h 28m mar., 2 févr. 2021 08:18 17:49 9h 31m mer., 3 févr. 2021 08:17 17:51 9h 34m jeu., 4 févr. 2021 08:15 17:53 9h 37m ven., 5 févr. 2021 08:14 17:54 9h 40m sam., 6 févr. 2021 08:12 17:56 9h 43m dim., 7 févr. 2021 08:11 17:58 9h 46m lun., 8 févr. 2021 08:09 17:59 9h 50m mar., 9 févr. 2021 08:08 18:01 9h 53m mer., 10 févr. 2021 08:06 18:03 9h 56m jeu., 11 févr. 2021 08:04 18:04 9h 59m ven., 12 févr. 2021 08:03 18:06 10h 03m sam., 13 févr. 2021 08:01 18:08 10h 06m dim., 14 févr. 2021 07:59 18:09 10h 09m lun., 15 févr. 2021 07:58 18:11 10h 13m mar., 16 févr. 2021 07:56 18:13 10h 16m mer., 17 févr. 2021 07:54 18:14 10h 20m jeu., 18 févr. 2021 07:52 18:16 10h 23m ven., 19 févr. 2021 07:50 18:17 10h 27m sam., 20 févr. 2021 07:49 18:19 10h 30m dim., 21 févr. 2021 07:47 18:21 10h 33m lun., 22 févr. 2021 07:45 18:22 10h 37m mar., 23 févr. 2021 07:43 18:24 10h 40m mer., 24 févr. 2021 07:41 18:26 10h 44m jeu., 25 févr. 2021 07:39 18:27 10h 48m ven., 26 févr. 2021 07:37 18:29 10h 51m sam., 27 févr. 2021 07:35 18:30 10h 55m dim., 28 févr. 2021 07:33 18:32 10h 58m Mars lun., 1 mars 2021 07:31 18:33 11h 02m mar., 2 mars 2021 07:29 18:35 11h 05m mer., 3 mars 2021 07:27 18:37 11h 09m jeu., 4 mars 2021 07:25 18:38 11h 12m ven., 5 mars 2021 07:23 18:40 11h 16m sam., 6 mars 2021 07:21 18:41 11h 20m dim., 7 mars 2021 07:19 18:43 11h 23m lun., 8 mars 2021 07:17 18:44 11h 27m mar., 9 mars 2021 07:15 18:46 11h 30m mer., 10 mars 2021 07:13 18:48 11h 34m jeu., 11 mars 2021 07:11 18:49 11h 38m ven., 12 mars 2021 07:09 18:51 11h 41m sam., 13 mars 2021 07:07 18:52 11h 45m dim., 14 mars 2021 07:05 18:54 11h 48m lun., 15 mars 2021 07:03 18:55 11h 52m mar., 16 mars 2021 07:01 18:57 11h 56m mer., 17 mars 2021 06:58 18:58 11h 59m jeu., 18 mars 2021 06:56 19:00 12h 03m ven., 19 mars 2021 06:54 19:01 12h 07m sam., 20 mars 2021 06:52 19:03 12h 10m dim., 21 mars 2021 06:50 19:04 12h 14m lun., 22 mars 2021 06:48 19:06 12h 17m mar., 23 mars 2021 06:46 19:07 12h 21m mer., 24 mars 2021 06:44 19:09 12h 25m jeu., 25 mars 2021 06:42 19:10 12h 28m ven., 26 mars 2021 06:40 19:12 12h 32m sam., 27 mars 2021 06:37 19:13 12h 35m dim., 28 mars 2021 07:35 20:15 12h 39m lun., 29 mars 2021 07:33 20:16 12h 43m mar., 30 mars 2021 07:31 20:18 12h 46m mer., 31 mars 2021 07:29 20:19 12h 50m Avril jeu., 1 avr. 2021 07:27 20:21 12h 53m ven., 2 avr. 2021 07:25 20:22 12h 57m sam., 3 avr. 2021 07:23 20:24 13h 01m dim., 4 avr. 2021 07:21 20:25 13h 04m lun., 5 avr. 2021 07:19 20:27 13h 08m mar., 6 avr. 2021 07:17 20:28 13h 11m mer., 7 avr. 2021 07:15 20:30 13h 15m jeu., 8 avr. 2021 07:12 20:31 13h 18m ven., 9 avr. 2021 07:10 20:33 13h 22m sam., 10 avr. 2021 07:08 20:34 13h 25m dim., 11 avr. 2021 07:06 20:36 13h 29m lun., 12 avr. 2021 07:04 20:37 13h 32m mar., 13 avr. 2021 07:02 20:39 13h 36m mer., 14 avr. 2021 07:00 20:40 13h 39m jeu., 15 avr. 2021 06:58 20:42 13h 43m ven., 16 avr. 2021 06:56 20:43 13h 46m sam., 17 avr. 2021 06:55 20:45 13h 50m dim., 18 avr. 2021 06:53 20:46 13h 53m lun., 19 avr. 2021 06:51 20:48 13h 57m mar., 20 avr. 2021 06:49 20:49 14h 00m mer., 21 avr. 2021 06:47 20:51 14h 03m jeu., 22 avr. 2021 06:45 20:52 14h 07m ven., 23 avr. 2021 06:43 20:54 14h 10m sam., 24 avr. 2021 06:41 20:55 14h 13m dim., 25 avr. 2021 06:39 20:57 14h 17m lun., 26 avr. 2021 06:38 20:58 14h 20m mar., 27 avr. 2021 06:36 21:00 14h 23m mer., 28 avr. 2021 06:34 21:01 14h 26m jeu., 29 avr. 2021 06:32 21:03 14h 30m ven., 30 avr. 2021 06:31 21:04 14h 33m Mai sam., 1 mai 2021 06:29 21:05 14h 36m dim., 2 mai 2021 06:27 21:07 14h 39m lun., 3 mai 2021 06:26 21:08 14h 42m mar., 4 mai 2021 06:24 21:10 14h 45m mer., 5 mai 2021 06:22 21:11 14h 48m jeu., 6 mai 2021 06:21 21:13 14h 51m ven., 7 mai 2021 06:19 21:14 14h 54m sam., 8 mai 2021 06:18 21:16 14h 57m dim., 9 mai 2021 06:16 21:17 15h 00m lun., 10 mai 2021 06:15 21:18 15h 03m mar., 11 mai 2021 06:13 21:20 15h 06m mer., 12 mai 2021 06:12 21:21 15h 09m jeu., 13 mai 2021 06:10 21:22 15h 12m ven., 14 mai 2021 06:09 21:24 15h 14m sam., 15 mai 2021 06:08 21:25 15h 17m dim., 16 mai 2021 06:06 21:27 15h 20m lun., 17 mai 2021 06:05 21:28 15h 22m mar., 18 mai 2021 06:04 21:29 15h 25m mer., 19 mai 2021 06:03 21:30 15h 27m jeu., 20 mai 2021 06:02 21:32 15h 30m ven., 21 mai 2021 06:01 21:33 15h 32m sam., 22 mai 2021 05:59 21:34 15h 34m dim., 23 mai 2021 05:58 21:35 15h 36m lun., 24 mai 2021 05:57 21:37 15h 39m mar., 25 mai 2021 05:56 21:38 15h 41m mer., 26 mai 2021 05:55 21:39 15h 43m jeu., 27 mai 2021 05:55 21:40 15h 45m ven., 28 mai 2021 05:54 21:41 15h 47m sam., 29 mai 2021 05:53 21:42 15h 49m dim., 30 mai 2021 05:52 21:43 15h 51m lun., 31 mai 2021 05:51 21:44 15h 52m Juin mar., 1 juin 2021 05:51 21:45 15h 54m mer., 2 juin 2021 05:50 21:46 15h 56m jeu., 3 juin 2021 05:50 21:47 15h 57m ven., 4 juin 2021 05:49 21:48 15h 58m sam., 5 juin 2021 05:48 21:49 16h 00m dim., 6 juin 2021 05:48 21:50 16h 01m lun., 7 juin 2021 05:48 21:50 16h 02m mar., 8 juin 2021 05:47 21:51 16h 03m mer., 9 juin 2021 05:47 21:52 16h 05m jeu., 10 juin 2021 05:47 21:53 16h 05m ven., 11 juin 2021 05:46 21:53 16h 06m sam., 12 juin 2021 05:46 21:54 16h 07m dim., 13 juin 2021 05:46 21:54 16h 08m lun., 14 juin 2021 05:46 21:55 16h 09m mar., 15 juin 2021 05:46 21:55 16h 09m mer., 16 juin 2021 05:46 21:56 16h 10m jeu., 17 juin 2021 05:46 21:56 16h 10m ven., 18 juin 2021 05:46 21:57 16h 10m sam., 19 juin 2021 05:46 21:57 16h 10m dim., 20 juin 2021 05:46 21:57 16h 10m lun., 21 juin 2021 05:46 21:57 16h 10m mar., 22 juin 2021 05:47 21:58 16h 10m mer., 23 juin 2021 05:47 21:58 16h 10m jeu., 24 juin 2021 05:47 21:58 16h 10m ven., 25 juin 2021 05:48 21:58 16h 10m sam., 26 juin 2021 05:48 21:58 16h 09m dim., 27 juin 2021 05:49 21:58 16h 09m lun., 28 juin 2021 05:49 21:58 16h 08m mar., 29 juin 2021 05:50 21:58 16h 07m mer., 30 juin 2021 05:50 21:57 16h 07m Juillet jeu., 1 juil. 2021 05:51 21:57 16h 06m ven., 2 juil. 2021 05:52 21:57 16h 05m sam., 3 juil. 2021 05:52 21:57 16h 04m dim., 4 juil. 2021 05:53 21:56 16h 03m lun., 5 juil. 2021 05:54 21:56 16h 02m mar., 6 juil. 2021 05:55 21:55 16h 00m mer., 7 juil. 2021 05:55 21:55 15h 59m jeu., 8 juil. 2021 05:56 21:54 15h 58m ven., 9 juil. 2021 05:57 21:54 15h 56m sam., 10 juil. 2021 05:58 21:53 15h 54m dim., 11 juil. 2021 05:59 21:52 15h 53m lun., 12 juil. 2021 06:00 21:52 15h 51m mar., 13 juil. 2021 06:01 21:51 15h 49m mer., 14 juil. 2021 06:02 21:50 15h 47m jeu., 15 juil. 2021 06:03 21:49 15h 46m ven., 16 juil. 2021 06:04 21:48 15h 44m sam., 17 juil. 2021 06:05 21:47 15h 42m dim., 18 juil. 2021 06:06 21:46 15h 39m lun., 19 juil. 2021 06:08 21:45 15h 37m mar., 20 juil. 2021 06:09 21:44 15h 35m mer., 21 juil. 2021 06:10 21:43 15h 33m jeu., 22 juil. 2021 06:11 21:42 15h 30m ven., 23 juil. 2021 06:12 21:41 15h 28m sam., 24 juil. 2021 06:14 21:40 15h 26m dim., 25 juil. 2021 06:15 21:39 15h 23m lun., 26 juil. 2021 06:16 21:37 15h 21m mar., 27 juil. 2021 06:17 21:36 15h 18m mer., 28 juil. 2021 06:19 21:35 15h 15m jeu., 29 juil. 2021 06:20 21:33 15h 13m ven., 30 juil. 2021 06:21 21:32 15h 10m sam., 31 juil. 2021 06:23 21:30 15h 07m Août dim., 1 août 2021 06:24 21:29 15h 05m lun., 2 août 2021 06:25 21:27 15h 02m mar., 3 août 2021 06:27 21:26 14h 59m mer., 4 août 2021 06:28 21:24 14h 56m jeu., 5 août 2021 06:29 21:23 14h 53m ven., 6 août 2021 06:31 21:21 14h 50m sam., 7 août 2021 06:32 21:20 14h 47m dim., 8 août 2021 06:33 21:18 14h 44m lun., 9 août 2021 06:35 21:16 14h 41m mar., 10 août 2021 06:36 21:15 14h 38m mer., 11 août 2021 06:38 21:13 14h 35m jeu., 12 août 2021 06:39 21:11 14h 32m ven., 13 août 2021 06:40 21:09 14h 28m sam., 14 août 2021 06:42 21:08 14h 25m dim., 15 août 2021 06:43 21:06 14h 22m lun., 16 août 2021 06:45 21:04 14h 19m mar., 17 août 2021 06:46 21:02 14h 16m mer., 18 août 2021 06:47 21:00 14h 12m jeu., 19 août 2021 06:49 20:58 14h 09m ven., 20 août 2021 06:50 20:57 14h 06m sam., 21 août 2021 06:52 20:55 14h 02m dim., 22 août 2021 06:53 20:53 13h 59m lun., 23 août 2021 06:55 20:51 13h 56m mar., 24 août 2021 06:56 20:49 13h 52m mer., 25 août 2021 06:57 20:47 13h 49m jeu., 26 août 2021 06:59 20:45 13h 46m ven., 27 août 2021 07:00 20:43 13h 42m sam., 28 août 2021 07:02 20:41 13h 39m dim., 29 août 2021 07:03 20:39 13h 35m lun., 30 août 2021 07:04 20:37 13h 32m mar., 31 août 2021 07:06 20:35 13h 28m Septembre mer., 1 sept. 2021 07:07 20:33 13h 25m jeu., 2 sept. 2021 07:09 20:31 13h 22m ven., 3 sept. 2021 07:10 20:29 13h 18m sam., 4 sept. 2021 07:12 20:27 13h 15m dim., 5 sept. 2021 07:13 20:25 13h 11m lun., 6 sept. 2021 07:14 20:22 13h 08m mar., 7 sept. 2021 07:16 20:20 13h 04m mer., 8 sept. 2021 07:17 20:18 13h 01m jeu., 9 sept. 2021 07:19 20:16 12h 57m ven., 10 sept. 2021 07:20 20:14 12h 53m sam., 11 sept. 2021 07:21 20:12 12h 50m dim., 12 sept. 2021 07:23 20:10 12h 46m lun., 13 sept. 2021 07:24 20:08 12h 43m mar., 14 sept. 2021 07:26 20:06 12h 39m mer., 15 sept. 2021 07:27 20:03 12h 36m jeu., 16 sept. 2021 07:29 20:01 12h 32m ven., 17 sept. 2021 07:30 19:59 12h 29m sam., 18 sept. 2021 07:31 19:57 12h 25m dim., 19 sept. 2021 07:33 19:55 12h 22m lun., 20 sept. 2021 07:34 19:53 12h 18m mar., 21 sept. 2021 07:36 19:51 12h 14m mer., 22 sept. 2021 07:37 19:48 12h 11m jeu., 23 sept. 2021 07:38 19:46 12h 07m ven., 24 sept. 2021 07:40 19:44 12h 04m sam., 25 sept. 2021 07:41 19:42 12h 00m dim., 26 sept. 2021 07:43 19:40 11h 57m lun., 27 sept. 2021 07:44 19:38 11h 53m mar., 28 sept. 2021 07:46 19:36 11h 50m mer., 29 sept. 2021 07:47 19:34 11h 46m jeu., 30 sept. 2021 07:49 19:31 11h 42m Octobre ven., 1 oct. 2021 07:50 19:29 11h 39m sam., 2 oct. 2021 07:51 19:27 11h 35m dim., 3 oct. 2021 07:53 19:25 11h 32m lun., 4 oct. 2021 07:54 19:23 11h 28m mar., 5 oct. 2021 07:56 19:21 11h 25m mer., 6 oct. 2021 07:57 19:19 11h 21m jeu., 7 oct. 2021 07:59 19:17 11h 18m ven., 8 oct. 2021 08:00 19:15 11h 14m sam., 9 oct. 2021 08:02 19:13 11h 10m dim., 10 oct. 2021 08:03 19:11 11h 07m lun., 11 oct. 2021 08:05 19:09 11h 03m mar., 12 oct. 2021 08:06 19:07 11h 00m mer., 13 oct. 2021 08:08 19:05 10h 56m jeu., 14 oct. 2021 08:09 19:03 10h 53m ven., 15 oct. 2021 08:11 19:01 10h 49m sam., 16 oct. 2021 08:12 18:59 10h 46m dim., 17 oct. 2021 08:14 18:57 10h 42m lun., 18 oct. 2021 08:15 18:55 10h 39m mar., 19 oct. 2021 08:17 18:53 10h 36m mer., 20 oct. 2021 08:19 18:51 10h 32m jeu., 21 oct. 2021 08:20 18:49 10h 29m ven., 22 oct. 2021 08:22 18:47 10h 25m sam., 23 oct. 2021 08:23 18:46 10h 22m dim., 24 oct. 2021 08:25 18:44 10h 18m lun., 25 oct. 2021 08:26 18:42 10h 15m mar., 26 oct. 2021 08:28 18:40 10h 12m mer., 27 oct. 2021 08:29 18:38 10h 08m jeu., 28 oct. 2021 08:31 18:37 10h 05m ven., 29 oct. 2021 08:33 18:35 10h 02m sam., 30 oct. 2021 08:34 18:33 9h 59m dim., 31 oct. 2021 07:36 17:32 9h 55m Novembre lun., 1 nov. 2021 07:37 17:30 9h 52m mar., 2 nov. 2021 07:39 17:28 9h 49m mer., 3 nov. 2021 07:41 17:27 9h 46m jeu., 4 nov. 2021 07:42 17:25 9h 43m ven., 5 nov. 2021 07:44 17:24 9h 39m sam., 6 nov. 2021 07:45 17:22 9h 36m dim., 7 nov. 2021 07:47 17:21 9h 33m lun., 8 nov. 2021 07:49 17:19 9h 30m mar., 9 nov. 2021 07:50 17:18 9h 27m mer., 10 nov. 2021 07:52 17:16 9h 24m jeu., 11 nov. 2021 07:53 17:15 9h 21m ven., 12 nov. 2021 07:55 17:14 9h 18m sam., 13 nov. 2021 07:56 17:12 9h 16m dim., 14 nov. 2021 07:58 17:11 9h 13m lun., 15 nov. 2021 07:59 17:10 9h 10m mar., 16 nov. 2021 08:01 17:09 9h 07m mer., 17 nov. 2021 08:03 17:08 9h 05m jeu., 18 nov. 2021 08:04 17:07 9h 02m ven., 19 nov. 2021 08:06 17:05 8h 59m sam., 20 nov. 2021 08:07 17:04 8h 57m dim., 21 nov. 2021 08:09 17:03 8h 54m lun., 22 nov. 2021 08:10 17:03 8h 52m mar., 23 nov. 2021 08:11 17:02 8h 50m mer., 24 nov. 2021 08:13 17:01 8h 47m jeu., 25 nov. 2021 08:14 17:00 8h 45m ven., 26 nov. 2021 08:16 16:59 8h 43m sam., 27 nov. 2021 08:17 16:58 8h 41m dim., 28 nov. 2021 08:18 16:58 8h 39m lun., 29 nov. 2021 08:20 16:57 8h 37m mar., 30 nov. 2021 08:21 16:57 8h 35m Décembre mer., 1 déc. 2021 08:22 16:56 8h 33m jeu., 2 déc. 2021 08:24 16:56 8h 31m ven., 3 déc. 2021 08:25 16:55 8h 30m sam., 4 déc. 2021 08:26 16:55 8h 28m dim., 5 déc. 2021 08:27 16:54 8h 27m lun., 6 déc. 2021 08:28 16:54 8h 25m mar., 7 déc. 2021 08:29 16:54 8h 24m mer., 8 déc. 2021 08:31 16:54 8h 23m jeu., 9 déc. 2021 08:32 16:54 8h 21m ven., 10 déc. 2021 08:33 16:53 8h 20m sam., 11 déc. 2021 08:34 16:53 8h 19m dim., 12 déc. 2021 08:34 16:53 8h 18m lun., 13 déc. 2021 08:35 16:53 8h 18m mar., 14 déc. 2021 08:36 16:54 8h 17m mer., 15 déc. 2021 08:37 16:54 8h 16m jeu., 16 déc. 2021 08:38 16:54 8h 16m ven., 17 déc. 2021 08:38 16:54 8h 15m sam., 18 déc. 2021 08:39 16:55 8h 15m dim., 19 déc. 2021 08:40 16:55 8h 15m lun., 20 déc. 2021 08:40 16:55 8h 15m mar., 21 déc. 2021 08:41 16:56 8h 14m mer., 22 déc. 2021 08:41 16:56 8h 15m jeu., 23 déc. 2021 08:42 16:57 8h 15m ven., 24 déc. 2021 08:42 16:57 8h 15m sam., 25 déc. 2021 08:42 16:58 8h 15m dim., 26 déc. 2021 08:43 16:59 8h 16m lun., 27 déc. 2021 08:43 17:00 8h 16m mar., 28 déc. 2021 08:43 17:00 8h 17m mer., 29 déc. 2021 08:43 17:01 8h 17m jeu., 30 déc. 2021 08:43 17:02 8h 18m ven., 31 déc. 2021 08:43 17:03 8h 19m
Bonne continuation ! | |
| | | JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Lever/coucher du soleil Ven 16 Avr 2021 - 18:00 | |
| Bonsoir Marc, Pour Windows 10 j'étais en train de corriger c'est fait (je suis sous W7...) Pour le mois d'août je vais regarder... | |
| | | Marc
Nombre de messages : 2466 Age : 63 Localisation : TOURS (37) Date d'inscription : 17/03/2014
| Sujet: Re: Lever/coucher du soleil Ven 16 Avr 2021 - 18:08 | |
| ... suite J’ai jeté un œil pour savoir pourquoi ton source plante lorsque je souhaite afficher le mois d’août. C’est un problème de codage du fichier texte en UTF8. Sous Windows 10, un fichier texte, (enregistré automatiquement en .txt), conserve le codage d’origine. Le copier-coller provient d’une page Internet en UTF8, il reste donc au format UTF8. Et c’est là que ça coince, le mot août devient aoA»t. Ton programme ne peut donc pas le trouver… Je viens de vérifier, la même anomalie se produit avec tous les mois qui comportent une lettre accentuée. Cette copie d'écran montre le DLIST 15 du source transformé pour le débogage en LIST 15 dans un FORM séparé du FORM 0. | |
| | | JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Lever/coucher du soleil Ven 16 Avr 2021 - 18:49 | |
| Merci Marc pour ta recherche, effectivement je ne pouvais pas m'en rendre compte sous W7 ! Bon, je vais regarder ça de plus près... Désolé mais je n'arrive pas à voir le codage des caractères accentués en utf8 pour pouvoir les remplacer par des caractères ascii classiques. Pourrais-tu me donner le code UTF8 du 'é' et du 'û' (les seuls concernés) Sous forme hexa ou décimal (ce sont des chaînes de 2 caractères j'imagine...) Pour le û, d'après ton affichage, ça semble être C3 BB (cad 195 187), à confirmer, mais pour le é ? SUITEJ'ai trouvé pour é = C3 A9, û = C3 BB, d'où: - Code:
-
LABEL Lcs,Valan DIM url$,r$,f$,j,m,a,d$,nm$(12),i,k,b$ url$ = "https://calendar.center/fr/lever-et-coucher-de-soleil/" r$ = "C:\TEXTES" DATA "Janvier","Février","Mars","Avril","Mai","Juin","Juillet","Août" DATA "Septembre","Octobre","Novembre","Décembre" FOR i = 1 TO 12: READ nm$(i): NEXT i BORDER_SMALL 0 i = WIDTH(0)-WIDTH_CLIENT(0): WIDTH 0,184+i i = HEIGHT(0)-HEIGHT_CLIENT(0): HEIGHT 0,90+i COLOR 0,220,255,255 LEFT 0,(SCREEN_X-WIDTH(0))/2: TOP 0,100 CAPTION 0,"LEVER / COUCHER DU SOLEIL": FONT_SIZE 0,12 ALPHA 1: LEFT 1,15: CAPTION 1," Jour Mois Année" SPIN 2: TOP 2,TOP(1)+18: LEFT 2,LEFT(1): WIDTH 2,45: MIN 2,1: MAX 2,31 SPIN 3: TOP 3,TOP(2): LEFT 3,LEFT(2)+WIDTH(2)+5: WIDTH 3,45: MIN 3,1: MAX 3,12 SPIN 4: TOP 4,TOP(3): LEFT 4,LEFT(3)+WIDTH(3)+5: WIDTH 4,60: MIN 4,2021 MAX 4,2050 ALPHA 6: TOP 6,TOP(2)+30: CAPTION 6," Lever Coucher Durée" EDIT 7: TOP 7,TOP(6)+18: WIDTH 7,50 EDIT 8: TOP 8,TOP(7): LEFT 8,LEFT(7)+WIDTH(7)+5: WIDTH 8,WIDTH(7) EDIT 9: TOP 9,TOP(8): LEFT 9,LEFT(8)+WIDTH(8)+5: WIDTH 9,72 FOR i = 7 TO 9: COLOR i,255,255,0: NEXT i DLIST 15 d$ = DATE$ j = VAL(LEFT$(d$,2)): m = VAL(MID$(d$,4,2)): a = VAL(RIGHT$(d$,4)) POSITION 2,j: POSITION 3,m: POSITION 4,a FOR i = 2 TO 4: COLOR i,255,255,220: ON_CHANGE i,Lcs: NEXT i ON_CHANGE 4,Valan GOSUB Valan GOSUB Lcs END ' ============================================================================= Lcs: ' Lever, coucher, durée pour le jour sélectionné j = POSITION(2): m = POSITION(3): a = POSITION(4) d$ = nm$(m) FOR i = 1 TO COUNT(15): ' recherche mois IF ITEM_READ$(15,i) = d$ THEN EXIT_FOR NEXT i FOR k = i+1 TO COUNT(15): ' recherche jour b$ = ITEM_READ$(15,k) IF LEN(b$)<10 THEN MESSAGE "Jour incorrect !": RETURN IF j = VAL(MID$(b$,7,2)) THEN EXIT_FOR NEXT k i = INSTR(b$,CHR$(9)): b$ = RIGHT_POS$(b$,i+1) i = INSTR(b$,CHR$(9)): TEXT 7,LEFT$(b$,5): b$ = RIGHT_POS$(b$,i+1) i = INSTR(b$,CHR$(9)): TEXT 8,LEFT$(b$,5): b$ = RIGHT_POS$(b$,i+1) TEXT 9,b$ RETURN ' ============================================================================= Valan: ' Validation de l'année, recherche du fichier correspondant ' Fichier annuel des lever/coucher de soleil à télécharger sur: ' https://calendar.center/fr/lever-et-coucher-de-soleil/ ' Sélectionner et copier l'ensemble des mois, enregistrer sous: ' C:\TEXTES\SoleilAAAA.txt, AAAA étant l'année. a = POSITION(4) f$ = r$+"Soleil"+STR$(a)+".txt" IF FILE_EXISTS(f$) = 0 b$ = "Année "+STR$(a)+" non répertoriée !" b$ = b$+CHR$(10)+"(fichier "+f$+" absent)" MESSAGE b$: RETURN END_IF FILE_LOAD 15,f$ FOR i = 1 TO COUNT(15): ' remplacement éventuel lettres accentuées dans les mois b$ = ITEM_READ$(15,i) IF LEN(b$)<20 k = INSTR(b$,CHR$(195)+CHR$(169)): ' caractère é (C3 A9) IF k>0 b$ = LEFT$(b$,k-1)+CHR$(82)+RIGHT_POS$(b$,k+2) ITEM_DELETE 15,i: ITEM_INSERT 15,i,b$ ELSE k = INSTR(b$,CHR$(195)+CHR$(187)): ' caractère û (C3 BB) IF k>0 b$ = LEFT$(b$,k-1)+CHR$(96)+RIGHT_POS$(b$,k+2) ITEM_DELETE 15,i: ITEM_INSERT 15,i,b$ END_IF END_IF END_IF NEXT i RETURN ' ============================================================================= Une remarque en passant concernant l'instruction ITEM_INSERT N,L,T l'insertion s'effectue AVANT la ligne L et non après comme indiqué dans la doc. Rectif 16/4 22h00
Dernière édition par JL35 le Ven 16 Avr 2021 - 22:02, édité 1 fois | |
| | | Marc
Nombre de messages : 2466 Age : 63 Localisation : TOURS (37) Date d'inscription : 17/03/2014
| Sujet: Re: Lever/coucher du soleil Ven 16 Avr 2021 - 21:27 | |
| @JL35 - Citation :
- J'ai trouvé pour é = C3 A9, û = C3 BB,
Oui, tu as raison. Je viens d'essayer ton source modifié. Je suis désolé, c'est toujours le même problème. Dans le code que tu as posté, je vois un ITEM_READ$(15,1). Le " 1" ne me parait pas normal. (Ligne 67) Si cela peut t'aider, voici le copier-coller du fichier texte UTF8 : https://mon-partage.fr/f/xuPcW4OF/Bonne continuation ! | |
| | | JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Lever/coucher du soleil Ven 16 Avr 2021 - 22:01 | |
| Oui tu as raison, ce n'est pas 15,1 mais 15,i (la lettre i, index dans le dlist. Je corrige ci-dessus, et merci pour tes essais sous W10. | |
| | | papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: Lever/coucher du soleil Sam 17 Avr 2021 - 1:24 | |
| Salut tout le monde. Je reviens après une absence de plus de trois mois ! - JL35 a écrit:
- Les données sont extraites d'un fichier téléchargé sur internet. Jje ne sais pas si ça peut se calculer,
j'en doute un peu, papydall pourrait sans doute répondre (mais où est-il ?).
Tout peut se calculer à condition d’en maitriser les formules. Voici un exemple de fonction de calcul du lever et coucher du soleil pour une ville donnée et une date donnée. La fonction retourne les heures en GMT sans tenir compte ni de l’heure locale ni celle de l’été. Vous pouvez l’adapter selon vos gouts. - Code:
-
rem ============================================================================ rem Fonction calculant le lever et le coucher du soleil pour une date et une rem ville données. rem Adaptation par Papydall en Panoramic d’un code source en PHP rem ============================================================================ rem Les heures retournées par la fonction ne tiennent pas compte de l’heure d’été. rem Elles sont en GMT rem Il faut donc en tenir compte pour l’heure locale : rem GMT + 1 pour la Tunisie hiver comme été rem GMT + 1 pour la France en hiver rem GMT + 2 pour la France en été rem ============================================================================ rem La précision du calcul est de l’ordre de 2 minutes rem ============================================================================
' Exemples d'appel print SunRise_SunSet$("Moknine",35.550,10.833,10,08,1950) print SunRise_SunSet$("Paris",48.8534,2.3488,1,1,2021) print SunRise_SunSet$("Paris",48.8534,2.3488,date_day,date_month,date_year) print SunRise_SunSet$("Stockholm",59.333,18.083,date_day,date_month,date_year) print SunRise_SunSet$("xxxxx",88.8888,0.0000,1,1,2021)
end rem ============================================================================ ' * Calcul du lever et coucher du soleil n'importe quand et n'importe où. ' * Il suffit de modifier la ville et ses coordonnées ' Latitude ( positive à l'hémisphère Nord et négative à l'hémisphère Sud) ' Longitude ( positive à l'EST et négative à l'OUEST ) ' ' Ville$ = "MOKNINE" : La = 35.550 : Lo = 10.833 : ' C'est ma ville de Tunisie ' Ville$ = "Stockholm" : La = 59.333 : Lo = 18.083 ' Ville$ = "xxxxx" : La = 88.000 : Lo = 0.000 ' ville$ = "PARIS" : La = 48.8534 : Lo = 2.3488 ' ------------------------------------------------------------------------------ ' Voici les coordonnées des quelques villes Françaises ' ville$ = "TOULOUSE" : La = 43.617 : Lo = 1.450 ' Ville$ = "STASBOURG" : La = 48.583 : Lo = 7.750 ' Ville$ = "MARSEILLE" : La = 43.300 : Lo = 5.367 ' Ville$ = "GRENOBLE" : La = 45.183 : Lo = 5.717 ' Ville$ = "CHERBOURG" : La = 49.633 : Lo = 0-1.617 ' Ville$ = "BORDEAUX" : La = 44.833 : Lo = 0-0.567 ' Ville$ = "BREST" : La = 48.383 : Lo = 0-4.500 ' Ville$ = "LILLE" : La = 50.650 : Lo = 3.083 ' Ville$ = "CLERMONT-FERRAND" : La = 45.783 : Lo = 3.083 ' ------------------------------------------------------------------------------ FNC SunRise_SunSet$(ville$,latitude,longitude,jour,mois,annee) if label("NeSeLevePas") = 0 then label NeSeLevePas if label("NeSeCouchePas") = 0 then label NeSeCouchePas dim_local k,jm,jl,e,ob dim_local tex$,res$ dim_local dr,hr,ht,h,j,m,L,s,x,y,z,R,rx,ry,ET,DC,cs,ah,pm,hs,fh dim_local CalculSol$,hs$,pm$,lev$,couch$ caption 0,"LEVER ET COUCHER DU SOLEIL" tex$ = " VILLE : " + Ville$ tex$ = tex$ + " - DATE " + STR$(jour) + " / " + str$(mois) + " / " + str$(annee) + " : " ' Fuseau horaire et coordonnées géographiques k = 0.0172024 : jm = 308.67 : jl = 21.55 : e = 0.0167 : ob = 0.4091 ' Hauteur du soleil au lever et au coucher dr = PI/ 180 : hr = PI/ 12 : ht = (-40 / 60) : ht = ht * dr Latitude = Latitude * dr : Longitude = 0-Longitude * dr ' Date IF (mois < 3) then mois = mois + 12 ' Heure TU du milieu de la journée h = 12 + (Longitude / hr) ' Nombre de jours écoulés depuis le 1 Mars O h TU J = int(30.61 * (mois + 1)) + jour + (h / 24) - 123 ' Anomalie et longitude moyenne M = k * (J - jm) : L = k * (J - jl) ' Longitude vraie S = L + 2 * e * Sin(M) + 1.25 * e * e * Sin(2 * M) ' Coordonnées rectangulaires du soleil dans le repère équatorial X = Cos(S) : Y = Cos(ob) * Sin(S) : Z = Sin(ob) * Sin(S) ' Equation du temps et déclinaison R = L : rx = Cos(R) * X + Sin(R) * Y : ry = 0-Sin(R) * X + Cos(R) * Y X = rx : Y = ry : ET = atn(Y / X) : DC = atn(Z / Sqr(1 - Z * Z)) ' Angle horaire au lever et au coucher cs = (Sin(ht) - Sin(Latitude) * Sin(DC)) / Cos(Latitude) / Cos(DC) IF (cs > 1) then CalculSol$ = "Ne se lève pas" : goto NeSeLevePas IF (cs < -1) then CalculSol$ = "Ne se couche pas" : goto NeSeCouchePas IF (cs = 0) then ah = PI / 2 : ELSE : ah = atn(Sqr(1 - cs * cs) / cs) IF (cs < 0) then ah = ah + PI ' Lever du soleil Pm = h + fh + (ET - ah) / hr IF (Pm < 0) then Pm = Pm + 24 IF (Pm > 24) then Pm = Pm - 24 hs = int(Pm) : Pm = int(60 * (Pm - hs)) hs$ = str$(hs) : pm$ = str$(pm)
IF len(str$(hs)) < 2 then hs$ = "0" + str$(hs) IF len(str$(Pm)) < 2 then Pm$ = "0" + str$(Pm) NeSeLevePas: IF CalculSol$ = "" then lev$ = hs$ + ":" + Pm$ : ELSE : lev$ = "-----" ' Coucher du soleil Pm = h + fh + (ET + ah) /hr IF Pm > 24 then Pm = Pm - 24 IF Pm < 0 then Pm = Pm + 24 hs = int(Pm) : Pm = int(60 * (Pm - hs)) hs$ = str$(hs) : pm$ = str$(pm)
IF len(str$(hs)) < 2 then hs$ = "0" + str$(hs) IF len(str$(Pm)) < 2 then Pm$ = "0" + str$(Pm) NeSeCouchePas: IF CalculSol$ = "" then couch$ = hs$ + ":" + Pm$ : ELSE : couch$ = "-----"
res$ = tex$ + "Lever = " + lev$ + " GMT / " res$ = res$ + "Coucher = " + couch$ + " GMT" result res$ : ' <---- les heures sont en GMT END_FNC rem ============================================================================
| |
| | | papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: Lever/coucher du soleil Sam 17 Avr 2021 - 5:24 | |
| | |
| | | JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Lever/coucher du soleil Sam 17 Avr 2021 - 10:23 | |
| Un grand merci à toi papydall, et surtout je suis content d'avoir de tes nouvelles. J'avais aussi trouvé quelques formules en cherchant sur internet, mais toutes très compliquées (ce qui est normal me semble-t'il, vu le nombre de paramètres impliqués). Je vais regarder tes références, et surtout ton exemple de code de plus près, et encore merci.
| |
| | | jean_debord
Nombre de messages : 1266 Age : 70 Localisation : Limoges Date d'inscription : 21/09/2008
| Sujet: Re: Lever/coucher du soleil Sam 17 Avr 2021 - 11:44 | |
| Heureux de te retrouver papydall Et merci pour la référence. | |
| | | Jack Admin
Nombre de messages : 2395 Date d'inscription : 28/05/2007
| Sujet: Re: Lever/coucher du soleil Sam 17 Avr 2021 - 13:46 | |
| Content aussi de te revoir sur le forum, papydall. _________________ username : panoramic@jack-panoramic password : panoramic123 | |
| | | JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Lever/coucher du soleil Sam 17 Avr 2021 - 14:59 | |
| Voilà, j'ai fait une sub, pratiquement copiée sur l'exemple de l'ami papydall, qui renvoie dans le clipboard une chaîne de la forme h1:m1 h2:m2 h3:m3 donnant respectivement les heures/minutes de lever, de coucher et de durée de l'ensoleillement (enfin, s'il n'y a a pas de nuages...). Les heures sont rendues en heures locales pour la France (GMT+1 l'hiver, GMT+2 l'été) Les paramètres sont la latitude et longitude du lieu, et la date. Tout ce que je cherchais. Encore merci à toi papydall, et tous mes voeux. L'appel en exemple est pour Paris: - Code:
-
DIM lat,long,b$,j,m,a b$ = DATE$: ' date du jour j = VAL(LEFT$(b$,2)): m = VAL(MID$(b$,4,2)): a = VAL(RIGHT$(b$,4)) lat = 48.8534: long = 2.3488: ' *** latitude, longitude de Paris *** Lever_Coucher(lat,long,j,m,a) print clipboard_string_paste$ END
SUB Lever_Coucher(Latitude,Longitude,jour,mois,annee) ' *************** merci papydall *************** if label("NeSeLevePas") = 0 then label NeSeLevePas if label("NeSeCouchePas") = 0 then label NeSeCouchePas IF LABEL("Ete_Hiver") = 0 THEN LABEL Ete_Hiver dim_local k,jm,jl,e,ob dim_local tex$,res$ dim_local dr,hr,ht,h,j,m,L,s,x,y,z,R,rx,ry,ET,DC,cs,ah,pm,hs,fh dim_local CalculSol$,hs$,pm$,lev$,couch$ DIM_LOCAL h$,h1,m1,h2,m2,h3,m3,d,qj%,mm,a_h%,b_h%, s_h% ' tex$ = STR$(jour)+" / "+str$(mois)+" / "+str$(annee)+" : " ' Fuseau horaire et coordonnées géographiques k = 0.0172024: jm = 308.67: jl = 21.55: e = 0.0167: ob = 0.4091 ' Hauteur du soleil au lever et au coucher dr = PI/ 180 : hr = PI/ 12 : ht = (-40 / 60) : ht = ht * dr Latitude = Latitude * dr : Longitude = 0-Longitude * dr ' Date IF (mois < 3) then mois = mois + 12 ' Heure TU du milieu de la journée h = 12 + (Longitude / hr) ' Nombre de jours écoulés depuis le 1 Mars O h TU J = int(30.61 * (mois + 1)) + jour + (h / 24) - 123 ' Anomalie et longitude moyenne M = k * (J - jm) : L = k * (J - jl) ' Longitude vraie S = L + 2 * e * Sin(M) + 1.25 * e * e * Sin(2 * M) ' Coordonnées rectangulaires du soleil dans le repère équatorial X = Cos(S) : Y = Cos(ob) * Sin(S) : Z = Sin(ob) * Sin(S) ' Equation du temps et déclinaison R = L : rx = Cos(R) * X + Sin(R) * Y : ry = 0-Sin(R) * X + Cos(R) * Y X = rx : Y = ry : ET = atn(Y / X) : DC = atn(Z / Sqr(1 - Z * Z)) ' Angle horaire au lever et au coucher cs = (Sin(ht) - Sin(Latitude) * Sin(DC)) / Cos(Latitude) / Cos(DC) IF (cs > 1) then CalculSol$ = "Ne se lève pas" : goto NeSeLevePas IF (cs < -1) then CalculSol$ = "Ne se couche pas" : goto NeSeCouchePas IF (cs = 0) then ah = PI / 2 : ELSE : ah = atn(Sqr(1 - cs * cs) / cs) IF (cs < 0) then ah = ah + PI ' Lever du soleil pm = h + fh + (ET - ah) / hr IF (pm < 0) then pm = pm + 24 IF (pm > 24) then pm = pm - 24 hs = int(pm) : pm = int(60 * (pm - hs)) hs$ = RIGHT$("0"+STR$(hs),2): pm$ = RIGHT$("0"+STR$(pm),2) NeSeLevePas: IF CalculSol$ = "" then lev$ = hs$ + ":" + pm$ : ELSE : lev$ = "-----" ' Coucher du soleil pm = h + fh + (ET + ah) /hr IF pm > 24 then pm = Pm - 24 IF pm < 0 then pm = pm + 24 hs = int(pm) : pm = int(60 * (pm - hs)) hs$ = str$(hs) : pm$ = str$(pm) IF len(str$(hs)) < 2 then hs$ = "0" + str$(hs) IF len(str$(Pm)) < 2 then pm$ = "0" + str$(pm) NeSeCouchePas: IF CalculSol$ = "" then couch$ = hs$ + ":" + pm$ : ELSE : couch$ = "-----" h1 = VAL(LEFT$(lev$,2)): m1 = VAL(MID$(lev$,4,2)): ' h:m lever h2 = VAL(LEFT$(couch$,2)): m2 = VAL(MID$(couch$,4,2)): ' h:m coucher d = h2*60+m2-(h1*60+m1): h3 = INT(d/60): m3 = d-h3*60: ' h:m durée ' Heures locales j = jour: m = mois: a = annee h1 = h1+1: h2 = h2+1: ' heure d'hiver (GMT+1) IF m > 3 AND m < 10 THEN h1 = h1+1: h2 = h2+1: ' heure d'été (GMT+2) IF m = 3 GOSUB Ete_Hiver: IF j >= qj% THEN h1 = h1+1: h2 = h2+1 ELSE IF m = 10 GOSUB Ete_Hiver: IF j < qj% THEN h1 = h1+1: h2 = h2+1 END_IF END_IF h$ = RIGHT$("0"+STR$(h1),2)+":"+RIGHT$("0"+STR$(m1),2) h$ = h$+" "+RIGHT$("0"+STR$(h2),2)+":"+RIGHT$("0"+STR$(m2),2) h$ = h$+" "+RIGHT$("0"+STR$(h3),2)+":"+RIGHT$("0"+STR$(m3),2) CLIPBOARD_STRING_COPY h$: EXIT_SUB Ete_Hiver: mm = m-2 s_h% = INT(a/100): a_h% = a - s_h%*100 b_h% = INT(2.6*mm - .19) + 31 + a_h%+INT(a_h%/4)+INT(s_h%/4)-s_h%*2 qj% = 31-INT((b_h%/7-INT(b_h%/7))*7+.1) RETURN END_SUB | |
| | | papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: Lever/coucher du soleil Sam 17 Avr 2021 - 15:39 | |
| Bonjour les amis Moi aussi je suis content de vous retrouver. Je constate avec regret l’absence de Klaus, de Jean Claude, de Minibug, … Espérons qu’ils se portent bien et que très bientôt on les retrouvera sur le forum. Personnellement j’ai passé par une mauvaise période (la santé devient fragile, mais il faut faire avec !) Mon ancien ordinateur (sous W7) qui contenait tout mon travail a décidé de prendre sa retraite en remportant tout avec lui. J’ai acheté un tout nouveau fonctionnant sous W10 64 bits. J’essaie de récupérer ce que je peux. Bon j’arrête de vous raconter mes histoires strictement personnelles et au plaisir de vous lire. Edit@JL35 (toujours 35 ? Tu n’a pas monté plus haut ?) Je viens de voir ta SUB et ça fonctionne. Merci pour le partage, mais pour justifier ma note de 9.99 /10, je te propose de remplacer la ligne 3 - Code:
-
j = VAL(LEFT$(b$,2)): m = VAL(MID$(b$,4,2)): a = VAL(RIGHT$(b$,4))
Par ceci - Code:
-
j = date_day : m = date_month : a = date_year
Ha ha ! je vois bien la grimace que tu fais ! | |
| | | JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Lever/coucher du soleil Sam 17 Avr 2021 - 16:00 | |
| Oh oh ! il va falloir que je pense à couper ma caméra, puisque tu as bien vu la grimace que j'ai fait ! Effectivement je les avais loupés ceux-là ! Quant au 35, j'aimerais bien, mais hélas c'est une donnée fixe, non modifiable ! si tu vois ce que je veux dire... Et pour toi je te souhaite un rétablissement rapide... ainsi qu'à ton pc ! Donc voici la dernière version, qui grâce à toi ne nécessite plus de télécharger tous les ans le fichier des données, puisque le calcul est fait en local. - Code:
-
' Heures de lever et coucher de soleil pour un jour donné LABEL Lcs DIM lat,long,b$,i,j,m,a lat = 48.8534: long = 2.3488: ' *** latitude, longitude de Paris *** BORDER_SMALL 0 i = WIDTH(0)-WIDTH_CLIENT(0): WIDTH 0,184+i i = HEIGHT(0)-HEIGHT_CLIENT(0): HEIGHT 0,90+i COLOR 0,220,255,255 LEFT 0,(SCREEN_X-WIDTH(0))/2: TOP 0,100 CAPTION 0,"LEVER / COUCHER DU SOLEIL": FONT_SIZE 0,12 ALPHA 1: LEFT 1,15: CAPTION 1," Jour Mois Année" SPIN 2: TOP 2,TOP(1)+18: LEFT 2,LEFT(1): WIDTH 2,45: MIN 2,1: MAX 2,31 SPIN 3: TOP 3,TOP(2): LEFT 3,LEFT(2)+WIDTH(2)+5: WIDTH 3,45: MIN 3,1: MAX 3,12 SPIN 4: TOP 4,TOP(3): LEFT 4,LEFT(3)+WIDTH(3)+5: WIDTH 4,60: MIN 4,2021 MAX 4,2050 ALPHA 6: TOP 6,TOP(2)+30: LEFT 6,8: CAPTION 6," Lever Coucher Durée" EDIT 7: TOP 7,TOP(6)+18: LEFT 7,LEFT(6): WIDTH 7,50 EDIT 8: TOP 8,TOP(7): LEFT 8,LEFT(7)+WIDTH(7)+10: WIDTH 8,WIDTH(7) EDIT 9: TOP 9,TOP(8): LEFT 9,LEFT(8)+WIDTH(8)+10: WIDTH 9,WIDTH(8) FOR i = 7 TO 9: COLOR i,255,255,0: NEXT i j = date_day : m = date_month : a = date_year POSITION 2,j: POSITION 3,m: POSITION 4,a FOR i = 2 TO 4: COLOR i,255,255,220: ON_CHANGE i,Lcs: NEXT i GOSUB Lcs END ' ============================================================================= Lcs: ' Lever, coucher, durée pour le jour sélectionné j = POSITION(2): m = POSITION(3): a = POSITION(4) Lever_Coucher(lat,long,j,m,a) b$ = CLIPBOARD_STRING_PASTE$ TEXT 7,LEFT$(b$,5): TEXT 8,MID$(b$,7,5): TEXT 9,RIGHT$(b$,5) RETURN ' ============================================================================= SUB Lever_Coucher(Latitude,Longitude,jour,mois,annee) ' *************** merci papydall *************** ' Heures des lever/coucher de soleil en heures locales pour la France ' jour, mois, annee sous xforme numérique ' Pour Paris: latitude = 48.8534, longitude = 2.3488 ' Rendues en chaîne dans le clipboard sous la forme h1:m1 h2:m2 h3:m3 ' respectivement lever, coucher et durée if label("NeSeLevePas") = 0 then label NeSeLevePas if label("NeSeCouchePas") = 0 then label NeSeCouchePas IF LABEL("Ete_Hiver") = 0 THEN LABEL Ete_Hiver dim_local k,jm,jl,e,ob dim_local tex$,res$ dim_local dr,hr,ht,h,j,m,L,s,x,y,z,R,rx,ry,ET,DC,cs,ah,pm,hs,fh dim_local CalculSol$,hs$,pm$,lev$,couch$ DIM_LOCAL h$,h1,m1,h2,m2,h3,m3,d,qj%,mm,a_h%,b_h%, s_h% ' tex$ = STR$(jour)+" / "+str$(mois)+" / "+str$(annee)+" : " ' Fuseau horaire et coordonnées géographiques k = 0.0172024: jm = 308.67: jl = 21.55: e = 0.0167: ob = 0.4091 ' Hauteur du soleil au lever et au coucher dr = PI/ 180 : hr = PI/ 12 : ht = (-40 / 60) : ht = ht * dr Latitude = Latitude * dr : Longitude = 0-Longitude * dr ' Date IF (mois < 3) then mois = mois + 12 ' Heure TU du milieu de la journée h = 12 + (Longitude / hr) ' Nombre de jours écoulés depuis le 1 Mars O h TU J = int(30.61 * (mois + 1)) + jour + (h / 24) - 123 ' Anomalie et longitude moyenne M = k * (J - jm) : L = k * (J - jl) ' Longitude vraie S = L + 2 * e * Sin(M) + 1.25 * e * e * Sin(2 * M) ' Coordonnées rectangulaires du soleil dans le repère équatorial X = Cos(S) : Y = Cos(ob) * Sin(S) : Z = Sin(ob) * Sin(S) ' Equation du temps et déclinaison R = L : rx = Cos(R) * X + Sin(R) * Y : ry = 0-Sin(R) * X + Cos(R) * Y X = rx : Y = ry : ET = atn(Y / X) : DC = atn(Z / Sqr(1 - Z * Z)) ' Angle horaire au lever et au coucher cs = (Sin(ht) - Sin(Latitude) * Sin(DC)) / Cos(Latitude) / Cos(DC) IF (cs > 1) then CalculSol$ = "Ne se lève pas" : goto NeSeLevePas IF (cs < -1) then CalculSol$ = "Ne se couche pas" : goto NeSeCouchePas IF (cs = 0) then ah = PI / 2 : ELSE : ah = atn(Sqr(1 - cs * cs) / cs) IF (cs < 0) then ah = ah + PI ' Lever du soleil pm = h + fh + (ET - ah) / hr IF (pm < 0) then pm = pm + 24 IF (pm > 24) then pm = pm - 24 hs = int(pm) : pm = int(60 * (pm - hs)) hs$ = RIGHT$("0"+STR$(hs),2): pm$ = RIGHT$("0"+STR$(pm),2) NeSeLevePas: IF CalculSol$ = "" then lev$ = hs$ + ":" + pm$ : ELSE : lev$ = "-----" ' Coucher du soleil pm = h + fh + (ET + ah) /hr IF pm > 24 then pm = Pm - 24 IF pm < 0 then pm = pm + 24 hs = int(pm) : pm = int(60 * (pm - hs)) hs$ = str$(hs) : pm$ = str$(pm) IF len(str$(hs)) < 2 then hs$ = "0" + str$(hs) IF len(str$(Pm)) < 2 then pm$ = "0" + str$(pm) NeSeCouchePas: IF CalculSol$ = "" then couch$ = hs$ + ":" + pm$ : ELSE : couch$ = "-----" h1 = VAL(LEFT$(lev$,2)): m1 = VAL(MID$(lev$,4,2)): ' h:m lever h2 = VAL(LEFT$(couch$,2)): m2 = VAL(MID$(couch$,4,2)): ' h:m coucher d = h2*60+m2-(h1*60+m1): h3 = INT(d/60): m3 = d-h3*60: ' h:m durée ' Heures locales j = jour: m = mois: a = annee h1 = h1+1: h2 = h2+1: ' heure d'hiver (GMT+1) IF m > 3 AND m < 10 THEN h1 = h1+1: h2 = h2+1: ' heure d'été (GMT+2) IF m = 3 GOSUB Ete_Hiver: IF j >= qj% THEN h1 = h1+1: h2 = h2+1 ELSE IF m = 10 GOSUB Ete_Hiver: IF j < qj% THEN h1 = h1+1: h2 = h2+1 END_IF END_IF h$ = RIGHT$("0"+STR$(h1),2)+":"+RIGHT$("0"+STR$(m1),2) h$ = h$+" "+RIGHT$("0"+STR$(h2),2)+":"+RIGHT$("0"+STR$(m2),2) h$ = h$+" "+RIGHT$("0"+STR$(h3),2)+":"+RIGHT$("0"+STR$(m3),2) CLIPBOARD_STRING_COPY h$: EXIT_SUB Ete_Hiver: mm = m-2 s_h% = INT(a/100): a_h% = a - s_h%*100 b_h% = INT(2.6*mm - .19) + 31 + a_h%+INT(a_h%/4)+INT(s_h%/4)-s_h%*2 qj% = 31-INT((b_h%/7-INT(b_h%/7))*7+.1) RETURN END_SUB ' ============================================================================= | |
| | | papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: Lever/coucher du soleil Sam 17 Avr 2021 - 17:39 | |
| - JL35 a écrit:
- Oh oh ! il va falloir que je pense à couper ma caméra, puisque tu as bien vu la grimace que j'ai fait ! ou que j’ai faite ?
Passons maintenant à plus sérieux. Tu donnes 31 comme MAX pour SPIN 2 (nombre de jours pour le moi). De cette façon, on peut (le programme le permet) calculer le lever/coucher du soleil pour le 31 février 2021 par exemple ! Pour blinder le programme contre ces failles (tout le monde n’est pas rationnel ! Papydall est l'exemple type ), j’ai modifié le code comme ceci : - Code:
-
rem ============================================================================ rem Calcul du lever et du coucher du Soleil pour une date donnée rem Par JL35 et Papydall rem ============================================================================ LABEL Lcs DIM lat,long,b$,i,j,m,a lat = 48.8534: long = 2.3488: ' *** latitude, longitude de Paris *** BORDER_SMALL 0 i = WIDTH(0)-WIDTH_CLIENT(0): WIDTH 0,184+i i = HEIGHT(0)-HEIGHT_CLIENT(0): HEIGHT 0,90+i COLOR 0,220,255,255 LEFT 0,(SCREEN_X-WIDTH(0))/2: TOP 0,100 CAPTION 0,"LEVER / COUCHER DU SOLEIL": FONT_SIZE 0,12 ALPHA 1: LEFT 1,15: CAPTION 1," Jour Mois Année" SPIN 2: TOP 2,TOP(1)+18: LEFT 2,LEFT(1): WIDTH 2,45: MIN 2,1: MAX 2,31 SPIN 3: TOP 3,TOP(2): LEFT 3,LEFT(2)+WIDTH(2)+5: WIDTH 3,45: MIN 3,1: MAX 3,12 SPIN 4: TOP 4,TOP(3): LEFT 4,LEFT(3)+WIDTH(3)+5: WIDTH 4,60: MIN 4,2021 MAX 4,2050 ALPHA 6: TOP 6,TOP(2)+30: CAPTION 6," Lever Coucher Durée" EDIT 7: TOP 7,TOP(6)+18: WIDTH 7,50 EDIT 8: TOP 8,TOP(7): LEFT 8,LEFT(7)+WIDTH(7)+5: WIDTH 8,WIDTH(7) EDIT 9: TOP 9,TOP(8): LEFT 9,LEFT(8)+WIDTH(8)+5: WIDTH 9,72 FOR i = 7 TO 9: COLOR i,255,255,0: NEXT i j = date_day : m = date_month : a = date_year POSITION 2,j: POSITION 3,m: POSITION 4,a FOR i = 2 TO 4: COLOR i,255,255,220: ON_CHANGE i,Lcs: NEXT i ' GOSUB Lcs ' ------------------ Papydall -------------------------------------------------- j = POSITION(2): m = POSITION(3): a = POSITION(4) Lever_Coucher(lat,long,j,m,a) b$ = CLIPBOARD_STRING_PASTE$ TEXT 7,LEFT$(b$,5): TEXT 8,MID$(b$,7,5): TEXT 9,RIGHT$(b$,5) ' ------------------ Fin ------------------------------------------------------- END ' ============================================================================= Lcs: ' Lever, coucher, durée pour le jour sélectionné j = POSITION(2): m = POSITION(3): a = POSITION(4) ' ---------------------------- Papydall -------------------------------------- select m case 1 : max 2,31 case 2 : if IsBissextile(a) = 1 max 2,29 : position 2,29 else max 2,28 : position 2,28 end_if case 3 : max 2,31 : position 2,31 case 4 : max 2,30 : position 2,30 case 5 : max 2,31 : position 2,31 case 6 : max 2,30 : position 2,30 case 7 : max 2,31 : position 2,31 case 8 : max 2,31 : position 2,31 case 9 : max 2,30 : position 2,30 case 10 : max 2,31 : position 2,31 case 11 : max 2,30 : position 2,30 case 12 : max 2,31 : position 2,31 end_select ' ---------------------------- Fin ------------------------------------------- Lever_Coucher(lat,long,j,m,a) b$ = CLIPBOARD_STRING_PASTE$ TEXT 7,LEFT$(b$,5): TEXT 8,MID$(b$,7,5): TEXT 9,RIGHT$(b$,5) RETURN ' ============================================================================= SUB Lever_Coucher(Latitude,Longitude,jour,mois,annee) ' *************** merci papydall *************** ' Heures des lever/coucher de soleil en heures locales pour la France ' jour, mois, annee sous xforme numérique ' Pour Paris: latitude = 48.8534, longitude = 2.3488 ' Rendues en chaîne dans le clipboard sous la forme h1:m1 h2:m2 h3:m3 ' respectivement lever, coucher et durée if label("NeSeLevePas") = 0 then label NeSeLevePas if label("NeSeCouchePas") = 0 then label NeSeCouchePas IF LABEL("Ete_Hiver") = 0 THEN LABEL Ete_Hiver dim_local k,jm,jl,e,ob dim_local tex$,res$ dim_local dr,hr,ht,h,j,m,L,s,x,y,z,R,rx,ry,ET,DC,cs,ah,pm,hs,fh dim_local CalculSol$,hs$,pm$,lev$,couch$ DIM_LOCAL h$,h1,m1,h2,m2,h3,m3,d,qj%,mm,a_h%,b_h%, s_h% ' tex$ = STR$(jour)+" / "+str$(mois)+" / "+str$(annee)+" : " ' Fuseau horaire et coordonnées géographiques k = 0.0172024: jm = 308.67: jl = 21.55: e = 0.0167: ob = 0.4091 ' Hauteur du soleil au lever et au coucher dr = PI/ 180 : hr = PI/ 12 : ht = (-40 / 60) : ht = ht * dr Latitude = Latitude * dr : Longitude = 0-Longitude * dr ' Date IF (mois < 3) then mois = mois + 12 ' Heure TU du milieu de la journée h = 12 + (Longitude / hr) ' Nombre de jours écoulés depuis le 1 Mars O h TU J = int(30.61 * (mois + 1)) + jour + (h / 24) - 123 ' Anomalie et longitude moyenne M = k * (J - jm) : L = k * (J - jl) ' Longitude vraie S = L + 2 * e * Sin(M) + 1.25 * e * e * Sin(2 * M) ' Coordonnées rectangulaires du soleil dans le repère équatorial X = Cos(S) : Y = Cos(ob) * Sin(S) : Z = Sin(ob) * Sin(S) ' Equation du temps et déclinaison R = L : rx = Cos(R) * X + Sin(R) * Y : ry = 0-Sin(R) * X + Cos(R) * Y X = rx : Y = ry : ET = atn(Y / X) : DC = atn(Z / Sqr(1 - Z * Z)) ' Angle horaire au lever et au coucher cs = (Sin(ht) - Sin(Latitude) * Sin(DC)) / Cos(Latitude) / Cos(DC) IF (cs > 1) then CalculSol$ = "Ne se lève pas" : goto NeSeLevePas IF (cs < -1) then CalculSol$ = "Ne se couche pas" : goto NeSeCouchePas IF (cs = 0) then ah = PI / 2 : ELSE : ah = atn(Sqr(1 - cs * cs) / cs) IF (cs < 0) then ah = ah + PI ' Lever du soleil pm = h + fh + (ET - ah) / hr IF (pm < 0) then pm = pm + 24 IF (pm > 24) then pm = pm - 24 hs = int(pm) : pm = int(60 * (pm - hs)) hs$ = RIGHT$("0"+STR$(hs),2): pm$ = RIGHT$("0"+STR$(pm),2) NeSeLevePas: IF CalculSol$ = "" then lev$ = hs$ + ":" + pm$ : ELSE : lev$ = "-----" ' Coucher du soleil pm = h + fh + (ET + ah) /hr IF pm > 24 then pm = Pm - 24 IF pm < 0 then pm = pm + 24 hs = int(pm) : pm = int(60 * (pm - hs)) hs$ = str$(hs) : pm$ = str$(pm) IF len(str$(hs)) < 2 then hs$ = "0" + str$(hs) IF len(str$(Pm)) < 2 then pm$ = "0" + str$(pm) NeSeCouchePas: IF CalculSol$ = "" then couch$ = hs$ + ":" + pm$ : ELSE : couch$ = "-----" h1 = VAL(LEFT$(lev$,2)): m1 = VAL(MID$(lev$,4,2)): ' h:m lever h2 = VAL(LEFT$(couch$,2)): m2 = VAL(MID$(couch$,4,2)): ' h:m coucher d = h2*60+m2-(h1*60+m1): h3 = INT(d/60): m3 = d-h3*60: ' h:m durée ' Heures locales j = jour: m = mois: a = annee h1 = h1+1: h2 = h2+1: ' heure d'hiver (GMT+1) IF m > 3 AND m < 10 THEN h1 = h1+1: h2 = h2+1: ' heure d'été (GMT+2) IF m = 3 GOSUB Ete_Hiver: IF j >= qj% THEN h1 = h1+1: h2 = h2+1 ELSE IF m = 10 GOSUB Ete_Hiver: IF j < qj% THEN h1 = h1+1: h2 = h2+1 END_IF END_IF h$ = RIGHT$("0"+STR$(h1),2)+":"+RIGHT$("0"+STR$(m1),2) h$ = h$+" "+RIGHT$("0"+STR$(h2),2)+":"+RIGHT$("0"+STR$(m2),2) h$ = h$+" "+RIGHT$("0"+STR$(h3),2)+":"+RIGHT$("0"+STR$(m3),2) CLIPBOARD_STRING_COPY h$: EXIT_SUB Ete_Hiver: mm = m-2 s_h% = INT(a/100): a_h% = a - s_h%*100 b_h% = INT(2.6*mm - .19) + 31 + a_h%+INT(a_h%/4)+INT(s_h%/4)-s_h%*2 qj% = 31-INT((b_h%/7-INT(b_h%/7))*7+.1) RETURN END_SUB rem ============================================================================ ' Papydall ' Retourne 1 si l'année est bissextile, 0 sinon FNC IsBissextile(annee) if (mod(annee,4) = 0) and ((mod(annee,100) > 0) or (mod(annee,400) = 0)) result 1 else result 0 end_if END_FNC rem ============================================================================
C’est à toi de voir et d’apporter ton grain de sel. A+ | |
| | | Marc
Nombre de messages : 2466 Age : 63 Localisation : TOURS (37) Date d'inscription : 17/03/2014
| Sujet: Re: Lever/coucher du soleil Sam 17 Avr 2021 - 18:18 | |
| Bonjour à tous et tout particulièrement à Papydall ! @Papydall Je suis content de te revoir sur le forum ! A peine revenu que tu cartonnes déjà avec un super algorithme de calcul solaire. Bravo ! Bien vu pour le 31 février ! Bravo aussi à JL35 pour l’adaptation dans son source ! Bonne continuation ! | |
| | | jjn4
Nombre de messages : 2747 Date d'inscription : 13/09/2009
| Sujet: Re: Lever/coucher du soleil Sam 17 Avr 2021 - 19:13 | |
| Ah ! Papydall II, le retour ! (en avant première) Bonjour et re-bienvenue, papydall ! Et bravo à toi aussi, JL35 ! Connaître les levers et couchers de soleil à la façon d'un calendrier permanent, ça peut toujours être utile ! (tout au moins le coucher, parce que pour ce qui est du lever, je dors, à cette heure-là... ) | |
| | | JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Lever/coucher du soleil Sam 17 Avr 2021 - 20:13 | |
| Merci les amis pour les commentaires, et évidemment aussi à papydall pour cette vérification des jours du mois. J'y avais bien pensé mais bon... la flemme...Je vais en profiter ! Et mon grain de sel c'est d'approuver entièrement ta correction.
| |
| | | JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Lever/coucher du soleil Dim 18 Avr 2021 - 19:14 | |
| J'ai modifié ton code ci-dessus papydall, si on change le jour ça passait systématiquement à 30... - Code:
-
rem ============================================================================ rem Calcul du lever et du coucher du Soleil pour une date donnée rem Par JL35 et Papydall rem ============================================================================ LABEL Lcs DIM lat,long,b$,i,j,m,a,lm(12),bi lm(1)=31: lm(2)=28: lm(3)=31: lm(4)=30: lm(5)=31: lm(6)=30 lm(7)=31: lm(8)=31: lm(9)=30: lm(10)=31: lm(11)=30: lm(12)=31 lat = 48.8534: long = 2.3488: ' *** latitude, longitude de Paris *** BORDER_SMALL 0 i = WIDTH(0)-WIDTH_CLIENT(0): WIDTH 0,184+i i = HEIGHT(0)-HEIGHT_CLIENT(0): HEIGHT 0,90+i COLOR 0,220,255,255 LEFT 0,(SCREEN_X-WIDTH(0))/2: TOP 0,100 CAPTION 0,"LEVER / COUCHER DU SOLEIL": FONT_SIZE 0,12 ALPHA 1: LEFT 1,15: CAPTION 1," Jour Mois Année" SPIN 2: TOP 2,TOP(1)+18: LEFT 2,LEFT(1): WIDTH 2,45: MIN 2,1: MAX 2,31 SPIN 3: TOP 3,TOP(2): LEFT 3,LEFT(2)+WIDTH(2)+5: WIDTH 3,45: MIN 3,1: MAX 3,12 SPIN 4: TOP 4,TOP(3): LEFT 4,LEFT(3)+WIDTH(3)+5: WIDTH 4,60: MIN 4,2021 MAX 4,2050: ' arbitraire ALPHA 6: TOP 6,TOP(2)+30: LEFT 6,8: CAPTION 6," Lever Coucher Durée" EDIT 7: TOP 7,TOP(6)+18: LEFT 7,LEFT(6): WIDTH 7,50 EDIT 8: TOP 8,TOP(7): LEFT 8,LEFT(7)+WIDTH(7)+10: WIDTH 8,WIDTH(7) EDIT 9: TOP 9,TOP(8): LEFT 9,LEFT(8)+WIDTH(8)+10: WIDTH 9,WIDTH(8) FOR i = 7 TO 9: COLOR i,255,255,0: NEXT i j = DATE_DAY : m = DATE_MONTH : a = DATE_YEAR POSITION 2,j: POSITION 3,m: POSITION 4,a FOR i = 2 TO 4: COLOR i,255,255,220: ON_CHANGE i,Lcs: NEXT i GOSUB Lcs END ' ============================================================================= Lcs: ' Lever, coucher, durée pour le jour sélectionné a = POSITION(4): lm(2) = 28 IF (MOD(a,4) = 0) AND ((MOD(a,100) > 0) OR (MOD(a,400) = 0)) THEN lm(2) = 29 j = POSITION(2): m = POSITION(3): a = POSITION(4) MAX 2,lm(m) b$ = Lever_Coucher$(lat,long,j,m,a) TEXT 7,LEFT$(b$,5): TEXT 8,MID$(b$,7,5): TEXT 9,RIGHT$(b$,5) RETURN ' ============================================================================= FNC Lever_Coucher$(Latitude,Longitude,jour,mois,annee) ' *************** merci papydall *************** ' Heures des lever/coucher de soleil en heures locales pour la France ' jour, mois, annee sous forme numérique ' Pour Paris: latitude = 48.8534, longitude = 2.3488 ' Rendues en chaîne sous la forme h1:m1 h2:m2 h3:m3 ' respectivement lever, coucher et durée IF LABEL("NeSeLevePas") = 0 THEN LABEL NeSeLevePas IF LABEL("NeSeCouchePas") = 0 THEN LABEL NeSeCouchePas IF LABEL("Ete_Hiver") = 0 THEN LABEL Ete_Hiver DIM_LOCAL k,jm,jl,e,ob,tex$ DIM_LOCAL dr,hr,ht,h,j,m,a,L,s,x,y,z,R,rx,ry,ET,DC,cs,ah,pm,hs,fh DIM_LOCAL CalculSol$,hs$,pm$,lev$,couch$ DIM_LOCAL h$,h1,m1,h2,m2,h3,m3,d,qj%,mm,a_h%,b_h%,s_h% ' Fuseau horaire et coordonnées géographiques k = 0.0172024: jm = 308.67: jl = 21.55: e = 0.0167: ob = 0.4091 ' Hauteur du soleil au lever et au coucher dr = PI/ 180 : hr = PI/ 12 : ht = (-40 / 60) : ht = ht * dr Latitude = Latitude * dr : Longitude = 0-Longitude * dr ' Date IF (mois < 3) then mois = mois + 12 ' Heure TU du milieu de la journée h = 12 + (Longitude / hr) ' Nombre de jours écoulés depuis le 1 Mars O h TU J = int(30.61 * (mois + 1)) + jour + (h / 24) - 123 ' Anomalie et longitude moyenne M = k * (J - jm) : L = k * (J - jl) ' Longitude vraie S = L + 2 * e * Sin(M) + 1.25 * e * e * Sin(2 * M) ' Coordonnées rectangulaires du soleil dans le repère équatorial X = Cos(S) : Y = Cos(ob) * Sin(S) : Z = Sin(ob) * Sin(S) ' Equation du temps et déclinaison R = L : rx = Cos(R) * X + Sin(R) * Y : ry = 0-Sin(R) * X + Cos(R) * Y X = rx : Y = ry : ET = atn(Y / X) : DC = atn(Z / Sqr(1 - Z * Z)) ' Angle horaire au lever et au coucher cs = (Sin(ht) - Sin(Latitude) * Sin(DC)) / Cos(Latitude) / Cos(DC) IF (cs > 1) then CalculSol$ = "Ne se lève pas" : goto NeSeLevePas IF (cs < -1) then CalculSol$ = "Ne se couche pas" : goto NeSeCouchePas IF (cs = 0) then ah = PI / 2 : ELSE : ah = atn(Sqr(1 - cs * cs) / cs) IF (cs < 0) then ah = ah + PI ' Lever du soleil pm = h + fh + (ET - ah) / hr IF (pm < 0) then pm = pm + 24 IF (pm > 24) then pm = pm - 24 hs = int(pm) : pm = int(60 * (pm - hs)) hs$ = RIGHT$("0"+STR$(hs),2): pm$ = RIGHT$("0"+STR$(pm),2) NeSeLevePas: IF CalculSol$ = "" then lev$ = hs$ + ":" + pm$ : ELSE : lev$ = "-----" ' Coucher du soleil pm = h + fh + (ET + ah) /hr IF pm > 24 then pm = Pm - 24 IF pm < 0 then pm = pm + 24 hs = int(pm) : pm = int(60 * (pm - hs)) hs$ = str$(hs) : pm$ = str$(pm) IF len(str$(hs)) < 2 then hs$ = "0" + str$(hs) IF len(str$(Pm)) < 2 then pm$ = "0" + str$(pm) NeSeCouchePas: IF CalculSol$ = "" THEN couch$ = hs$ + ":" + pm$ : ELSE : couch$ = "-----" h1 = VAL(LEFT$(lev$,2)): m1 = VAL(MID$(lev$,4,2)): ' h:m lever h2 = VAL(LEFT$(couch$,2)): m2 = VAL(MID$(couch$,4,2)): ' h:m coucher d = h2*60+m2-(h1*60+m1): h3 = INT(d/60): m3 = d-h3*60: ' h:m durée ' Heures locales j = jour: m = mois: a = annee h1 = h1+1: h2 = h2+1: ' heure d'hiver (GMT+1) IF m > 3 AND m < 10 THEN h1 = h1+1: h2 = h2+1: ' heure d'été (GMT+2) IF m = 3 GOSUB Ete_Hiver: IF j >= qj% THEN h1 = h1+1: h2 = h2+1 ELSE IF m = 10 GOSUB Ete_Hiver: IF j < qj% THEN h1 = h1+1: h2 = h2+1 END_IF END_IF h$ = RIGHT$("0"+STR$(h1),2)+":"+RIGHT$("0"+STR$(m1),2) h$ = h$+" "+RIGHT$("0"+STR$(h2),2)+":"+RIGHT$("0"+STR$(m2),2) h$ = h$+" "+RIGHT$("0"+STR$(h3),2)+":"+RIGHT$("0"+STR$(m3),2) RESULT h$: EXIT_FNC Ete_Hiver: mm = m-2 s_h% = INT(a/100): a_h% = a - s_h%*100 b_h% = INT(2.6*mm - .19) + 31 + a_h%+INT(a_h%/4)+INT(s_h%/4)-s_h%*2 qj% = 31-INT((b_h%/7-INT(b_h%/7))*7+.1) RETURN END_FNC rem =========================================================================== Quelques bricoles qui me titillent un peu (mais ça ne m'empêche pas de dormir): Dans la fonction, à quoi correspondent les étiquettes 'NeSeLevePas' et 'NeSeCouchePas' ??? à des régions où il n'y a pas de soleil, ou bien du soleil permanent ??? De plus, pour un jour donné d'un mois donné, les valeurs obtenues sont les mêmes quelle que soit l'année, est-ce que ça ne devrait pas évoluer en passant par une année bissextile (un jour de plus) ? | |
| | | Marc
Nombre de messages : 2466 Age : 63 Localisation : TOURS (37) Date d'inscription : 17/03/2014
| Sujet: Re: Lever/coucher du soleil Lun 19 Avr 2021 - 23:44 | |
| Merci JL35 et Papydall pour le partage ! Voici un aperçu du rendu sous Windows 10 : | |
| | | JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Lever/coucher du soleil Mar 20 Avr 2021 - 10:33 | |
| Merci Marc pour l'image... ça manque un peu d'encadrement sous W10...
| |
| | | JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Lever/coucher du soleil Mar 20 Avr 2021 - 20:11 | |
| J'ai ajouté un petit bouton 'M' en haut à droite qui permet d'afficher les valeurs de tous les jours du mois demandé: - Code:
-
rem ============================================================================ rem Calcul du lever et du coucher du Soleil pour une date donnée rem Par JL35 et Papydall rem ============================================================================ LABEL Lcs,Mois DIM lat,long,b$,i,j,m,a,lm(12),n$(12),bi lm(1)=31: lm(2)=28: lm(3)=31: lm(4)=30: lm(5)=31: lm(6)=30 lm(7)=31: lm(8)=31: lm(9)=30: lm(10)=31: lm(11)=30: lm(12)=31 n$(1)="Janvier": n$(2)="Février": n$(3)="Mars": n$(4)="Avril": n$(5)="Mai" n$(6)="Juin": n$(7)="Juillet": n$(8)="Août": n$(9)="Septembre": n$(10)="Octobre" n$(11)="Novembre": n$(12)="Décembre" lat = 48.8534: long = 2.3488: ' *** latitude, longitude de Paris *** BORDER_SMALL 0 i = WIDTH(0)-WIDTH_CLIENT(0): WIDTH 0,190+i i = HEIGHT(0)-HEIGHT_CLIENT(0): HEIGHT 0,100+i COLOR 0,220,255,255 LEFT 0,(SCREEN_X-WIDTH(0))/2: TOP 0,50 CAPTION 0,"LEVER / COUCHER DU SOLEIL": FONT_SIZE 0,12 ALPHA 1: LEFT 1,5: CAPTION 1," Jour Mois Année" SPIN 2: TOP 2,TOP(1)+18: LEFT 2,LEFT(1): WIDTH 2,45: MIN 2,1: MAX 2,31 SPIN 3: TOP 3,TOP(2): LEFT 3,LEFT(2)+WIDTH(2)+5: WIDTH 3,45: MIN 3,1: MAX 3,12 SPIN 4: TOP 4,TOP(3): LEFT 4,LEFT(3)+WIDTH(3)+5: WIDTH 4,60: MIN 4,2000 MAX 4,2050: ' arbitraire ALPHA 6: TOP 6,TOP(2)+30: LEFT 6,8: CAPTION 6," Lever Coucher Durée" EDIT 7: TOP 7,TOP(6)+18: LEFT 7,LEFT(6): WIDTH 7,50 EDIT 8: TOP 8,TOP(7): LEFT 8,LEFT(7)+WIDTH(7)+10: WIDTH 8,WIDTH(7) EDIT 9: TOP 9,TOP(8): LEFT 9,LEFT(8)+WIDTH(8)+10: WIDTH 9,WIDTH(8) FOR i = 7 TO 9: COLOR i,255,255,0: NEXT i BUTTON 10: TOP 10,0: WIDTH 10,20: LEFT 10,WIDTH_CLIENT(0)-WIDTH(10) HEIGHT 10,20: CAPTION 10,"M": FONT_BOLD 10: ON_CLICK 10,Mois
FORM 20: BORDER_SMALL 20: HIDE 20 TOP 20,TOP(0)+HEIGHT(0): LEFT 20,LEFT(0): WIDTH 20,WIDTH(0): HEIGHT 20,650 LIST 21: PARENT 21,20: FULL_SPACE 21: FONT_NAME 21,"Consolas": FONT_SIZE 21,12 COLOR 21,255,255,200 ' j = DATE_DAY : m = DATE_MONTH : a = DATE_YEAR POSITION 2,j: POSITION 3,m: POSITION 4,a FOR i = 2 TO 4: COLOR i,255,255,220: ON_CHANGE i,Lcs: NEXT i GOSUB Lcs END ' ============================================================================= Lcs: ' Lever, coucher, durée pour le jour sélectionné a = POSITION(4): lm(2) = 28 IF (MOD(a,4) = 0) AND ((MOD(a,100) > 0) OR (MOD(a,400) = 0)) THEN lm(2) = 29 j = POSITION(2): m = POSITION(3): a = POSITION(4) MAX 2,lm(m) b$ = Lever_Coucher$(lat,long,j,m,a) TEXT 7,LEFT$(b$,5): TEXT 8,MID$(b$,7,5): TEXT 9,RIGHT$(b$,5) RETURN ' ============================================================================= Mois: CLEAR 21 CAPTION 20," - "+UPPER$(n$(m))+" "+STR$(a)+" -" ITEM_ADD 21," Lever Couch Durée" FOR i = 1 TO lm(m) b$ = Lever_Coucher$(lat,long,i,m,a) ITEM_ADD 21,""+RIGHT$(" "+STR$(i),2)+" "+b$ NEXT i SHOW 20: TO_FOREGROUND 20 RETURN ' ============================================================================= FNC Lever_Coucher$(Latitude,Longitude,jour,mois,annee) ' *************** merci papydall *************** ' Heures des lever/coucher de soleil en heures locales pour la France ' jour, mois, annee sous forme numérique ' Pour Paris: latitude = 48.8534, longitude = 2.3488 ' Rendues en chaîne sous la forme h1:m1 h2:m2 h3:m3 ' respectivement lever, coucher et durée IF LABEL("NeSeLevePas") = 0 THEN LABEL NeSeLevePas IF LABEL("NeSeCouchePas") = 0 THEN LABEL NeSeCouchePas IF LABEL("Ete_Hiver") = 0 THEN LABEL Ete_Hiver DIM_LOCAL k,jm,jl,e,ob,tex$ DIM_LOCAL dr,hr,ht,h,j,m,a,L,s,x,y,z,R,rx,ry,ET,DC,cs,ah,pm,hs,fh DIM_LOCAL CalculSol$,hs$,pm$,lev$,couch$ DIM_LOCAL h$,h1,m1,h2,m2,h3,m3,d,qj%,mm,a_h%,b_h%,s_h% ' Fuseau horaire et coordonnées géographiques k = 0.0172024: jm = 308.67: jl = 21.55: e = 0.0167: ob = 0.4091 ' Hauteur du soleil au lever et au coucher dr = PI/ 180 : hr = PI/ 12 : ht = (-40 / 60) : ht = ht * dr Latitude = Latitude * dr : Longitude = 0-Longitude * dr ' Date IF (mois < 3) then mois = mois + 12 ' Heure TU du milieu de la journée h = 12 + (Longitude / hr) ' Nombre de jours écoulés depuis le 1 Mars O h TU J = int(30.61 * (mois + 1)) + jour + (h / 24) - 123 ' Anomalie et longitude moyenne M = k * (J - jm) : L = k * (J - jl) ' Longitude vraie S = L + 2 * e * Sin(M) + 1.25 * e * e * Sin(2 * M) ' Coordonnées rectangulaires du soleil dans le repère équatorial X = Cos(S) : Y = Cos(ob) * Sin(S) : Z = Sin(ob) * Sin(S) ' Equation du temps et déclinaison R = L : rx = Cos(R) * X + Sin(R) * Y : ry = 0-Sin(R) * X + Cos(R) * Y X = rx : Y = ry : ET = atn(Y / X) : DC = atn(Z / Sqr(1 - Z * Z)) ' Angle horaire au lever et au coucher cs = (Sin(ht) - Sin(Latitude) * Sin(DC)) / Cos(Latitude) / Cos(DC) IF (cs > 1) then CalculSol$ = "Ne se lève pas" : goto NeSeLevePas IF (cs < -1) then CalculSol$ = "Ne se couche pas" : goto NeSeCouchePas IF (cs = 0) then ah = PI / 2 : ELSE : ah = atn(Sqr(1 - cs * cs) / cs) IF (cs < 0) then ah = ah + PI ' Lever du soleil pm = h + fh + (ET - ah) / hr IF (pm < 0) then pm = pm + 24 IF (pm > 24) then pm = pm - 24 hs = int(pm) : pm = int(60 * (pm - hs)) hs$ = RIGHT$("0"+STR$(hs),2): pm$ = RIGHT$("0"+STR$(pm),2) NeSeLevePas: IF CalculSol$ = "" then lev$ = hs$ + ":" + pm$ : ELSE : lev$ = "-----" ' Coucher du soleil pm = h + fh + (ET + ah) /hr IF pm > 24 then pm = Pm - 24 IF pm < 0 then pm = pm + 24 hs = int(pm) : pm = int(60 * (pm - hs)) hs$ = str$(hs) : pm$ = str$(pm) IF len(str$(hs)) < 2 then hs$ = "0" + str$(hs) IF len(str$(Pm)) < 2 then pm$ = "0" + str$(pm) NeSeCouchePas: IF CalculSol$ = "" THEN couch$ = hs$ + ":" + pm$ : ELSE : couch$ = "-----" h1 = VAL(LEFT$(lev$,2)): m1 = VAL(MID$(lev$,4,2)): ' h:m lever h2 = VAL(LEFT$(couch$,2)): m2 = VAL(MID$(couch$,4,2)): ' h:m coucher d = h2*60+m2-(h1*60+m1): h3 = INT(d/60): m3 = d-h3*60: ' h:m durée ' Heures locales j = jour: m = mois: a = annee h1 = h1+1: h2 = h2+1: ' heure d'hiver (GMT+1) IF m > 3 AND m < 10 THEN h1 = h1+1: h2 = h2+1: ' heure d'été (GMT+2) IF m = 3 GOSUB Ete_Hiver: IF j >= qj% THEN h1 = h1+1: h2 = h2+1 ELSE IF m = 10 GOSUB Ete_Hiver: IF j < qj% THEN h1 = h1+1: h2 = h2+1 END_IF END_IF h$ = RIGHT$("0"+STR$(h1),2)+":"+RIGHT$("0"+STR$(m1),2) h$ = h$+" "+RIGHT$("0"+STR$(h2),2)+":"+RIGHT$("0"+STR$(m2),2) h$ = h$+" "+RIGHT$("0"+STR$(h3),2)+":"+RIGHT$("0"+STR$(m3),2) RESULT h$: EXIT_FNC Ete_Hiver: mm = m-2 s_h% = INT(a/100): a_h% = a - s_h%*100 b_h% = INT(2.6*mm - .19) + 31 + a_h%+INT(a_h%/4)+INT(s_h%/4)-s_h%*2 qj% = 31-INT((b_h%/7-INT(b_h%/7))*7+.1) RETURN END_FNC rem =========================================================================== J'ai aussi fait un générateur de calendrier annuel au format A4 paysage qui donne toutes les valeurs pour tous les jours d'une année donnée, mais je ne sais pas si ça peut intéresser grand monde... Allez, au diable l'avarice, voici le code, d'autant plus que l'essentiel du boulot est fait par la belle Fonction de papydall (LeverCoucher$), le reste n'est que de l'habillage: - Code:
-
' Calendrier des lever/coucher/durées de soleil pour l'année courante ' Résultat: image A4 paysage dans fs$ (bmp) et dans le presse-papier DIM fs$,wm,hm,wj,hj,x,y,i,mg,mh,lm(12),n$(12),j,m,a,b$,l$,c$,d$ fs$ = "C:\TEMP\Calsol.bmp": ' Image résultat, à ajuster lm(1)=31: lm(2)=28: lm(3)=31: lm(4)=30: lm(5)=31: lm(6)=30: lm(7)=31 lm(8)=31: lm(9)=30: lm(10)=31: lm(11)=30: lm(12)=31 n$(1)="JANVIER": n$(2)="FÉVRIER": n$(3)="MARS": n$(4)="AVRIL": n$(5)="MAI" n$(6)="JUIN": n$(7)="JUILLET": n$(8)="AOÜT": n$(9)="SEPTEMBRE": n$(10)="OCTOBRE" n$(11)="NOVEMBRE": n$(12)="DÉCEMBRE" WIDTH 0,1120: HEIGHT 0,850 PICTURE 1: WIDTH 1,1100: HEIGHT 1,779 2D_TARGET_IS 1: PRINT_TARGET_IS 1: 2D_FILL_OFF FONT_NAME 1,"Consolas": FONT_SIZE 1,10 mg = 5: mh = 16: hm = 18: wm = 91: wj = 19: hj = 24 ' Valeurs pour l'année, jour après jour a = DATE_YEAR: lm(2) = 28 IF (MOD(a,4) = 0) AND ((MOD(a,100) > 0) OR (MOD(a,400) = 0)) THEN lm(2) = 29 FOR m = 1 TO 12 x = mg+(m-1)*wm FOR j = 1 TO lm(m) b$ = Lever_Coucher$(48.8534,2.3488,j,m,a) l$ = LEFT$(b$,5): c$ = MID$(b$,7,5): d$ = RIGHT$(b$,5) y = mh+hm+(j-1)*hj FONT_SIZE 1,10: FONT_BOLD 1 PRINT_LOCATE x+2,y+4: PRINT RIGHT$(" "+STR$(j),2): ' jour FONT_BOLD_OFF 1 PRINT_LOCATE x+wj+2,y-1: PRINT l$: ' lever PRINT_LOCATE x+wj+2,y+11: PRINT c$: ' coucher FONT_SIZE 1,8 PRINT_LOCATE x+wj+39,y+5: PRINT d$: ' durée NEXT j NEXT m
y = mh FOR i = 0 TO 12: ' lignes verticales x = mg+i*wm: 2D_LINE x,y,x,778: 2D_LINE x+wj,mh+hm,x+wj,778 NEXT i FOR i = 1 TO 31: ' lignes horizontales y = mh+hm+(i-1)*hj: x = mg 2D_LINE x,y,x+12*wm,y NEXT i
FONT_SIZE 1,12: FONT_COLOR 1,0,0,255: FONT_BOLD 1 x = mg FOR i = 1 TO 12 b$ = n$(i): j = TEXT_WIDTH(b$,1) PRINT_LOCATE x+(wm-j)/2,16: PRINT n$(i): ' nom du mois x = x+wm NEXT i 2D_LINE mg,mh+hm,mg+12*wm,mh+hm
b$ = "Levers, couchers de soleil et durée du jour (Paris) pour "+STR$(a) FONT_COLOR 1,200,0,0 j = TEXT_WIDTH(b$,1): x = (WIDTH(1)-j)/2 PRINT_LOCATE x,-2: PRINT b$ 2D_PEN_WIDTH 2: 2D_RECTANGLE mg,mh,mg+wm*12,mh+hm+31*hj+2 2D_LINE mg,mh+hm,mg+12*wm,mh+hm FOR m = 1 TO 11: 2D_LINE mg+wm*m,mh,mg+wm*m,mh+hm+32*hj: NEXT m IF DIR_EXISTS(FILE_EXTRACT_PATH$(fs$)) = 1 THEN FILE_SAVE 1,fs$ CLIPBOARD_COPY 1 END ' ============================================================================= FNC Lever_Coucher$(Latitude,Longitude,jour,mois,annee) ' *************** merci papydall *************** ' Heures des lever/coucher de soleil en heures locales pour la France ' jour, mois, annee sous forme numérique ' Pour Paris: latitude = 48.8534, longitude = 2.3488 ' Rendues en chaîne sous la forme h1:m1 h2:m2 h3:m3 ' respectivement lever, coucher et durée IF LABEL("NeSeLevePas") = 0 THEN LABEL NeSeLevePas IF LABEL("NeSeCouchePas") = 0 THEN LABEL NeSeCouchePas IF LABEL("Ete_Hiver") = 0 THEN LABEL Ete_Hiver DIM_LOCAL k,jm,jl,e,ob,tex$ DIM_LOCAL dr,hr,ht,h,j,m,a,L,s,x,y,z,R,rx,ry,ET,DC,cs,ah,pm,hs,fh DIM_LOCAL CalculSol$,hs$,pm$,lev$,couch$ DIM_LOCAL h$,h1,m1,h2,m2,h3,m3,d,qj%,mm,a_h%,b_h%,s_h% ' Fuseau horaire et coordonnées géographiques k = 0.0172024: jm = 308.67: jl = 21.55: e = 0.0167: ob = 0.4091 ' Hauteur du soleil au lever et au coucher dr = PI/ 180 : hr = PI/ 12 : ht = (-40 / 60) : ht = ht * dr Latitude = Latitude * dr : Longitude = 0-Longitude * dr ' Date IF (mois < 3) then mois = mois + 12 ' Heure TU du milieu de la journée h = 12 + (Longitude / hr) ' Nombre de jours écoulés depuis le 1 Mars O h TU J = int(30.61 * (mois + 1)) + jour + (h / 24) - 123 ' Anomalie et longitude moyenne M = k * (J - jm) : L = k * (J - jl) ' Longitude vraie S = L + 2 * e * Sin(M) + 1.25 * e * e * Sin(2 * M) ' Coordonnées rectangulaires du soleil dans le repère équatorial X = Cos(S) : Y = Cos(ob) * Sin(S) : Z = Sin(ob) * Sin(S) ' Equation du temps et déclinaison R = L : rx = Cos(R) * X + Sin(R) * Y : ry = 0-Sin(R) * X + Cos(R) * Y X = rx : Y = ry : ET = atn(Y / X) : DC = atn(Z / Sqr(1 - Z * Z)) ' Angle horaire au lever et au coucher cs = (Sin(ht) - Sin(Latitude) * Sin(DC)) / Cos(Latitude) / Cos(DC) IF (cs > 1) then CalculSol$ = "Ne se lève pas" : goto NeSeLevePas IF (cs < -1) then CalculSol$ = "Ne se couche pas" : goto NeSeCouchePas IF (cs = 0) then ah = PI / 2 : ELSE : ah = atn(Sqr(1 - cs * cs) / cs) IF (cs < 0) then ah = ah + PI ' Lever du soleil pm = h + fh + (ET - ah) / hr IF (pm < 0) then pm = pm + 24 IF (pm > 24) then pm = pm - 24 hs = int(pm) : pm = int(60 * (pm - hs)) hs$ = RIGHT$("0"+STR$(hs),2): pm$ = RIGHT$("0"+STR$(pm),2) NeSeLevePas: IF CalculSol$ = "" then lev$ = hs$ + ":" + pm$ : ELSE : lev$ = "-----" ' Coucher du soleil pm = h + fh + (ET + ah) /hr IF pm > 24 then pm = Pm - 24 IF pm < 0 then pm = pm + 24 hs = int(pm) : pm = int(60 * (pm - hs)) hs$ = str$(hs) : pm$ = str$(pm) IF len(str$(hs)) < 2 then hs$ = "0" + str$(hs) IF len(str$(Pm)) < 2 then pm$ = "0" + str$(pm) NeSeCouchePas: IF CalculSol$ = "" THEN couch$ = hs$ + ":" + pm$ : ELSE : couch$ = "-----" h1 = VAL(LEFT$(lev$,2)): m1 = VAL(MID$(lev$,4,2)): ' h:m lever h2 = VAL(LEFT$(couch$,2)): m2 = VAL(MID$(couch$,4,2)): ' h:m coucher d = h2*60+m2-(h1*60+m1): h3 = INT(d/60): m3 = d-h3*60: ' h:m durée ' Heures locales j = jour: m = mois: a = annee h1 = h1+1: h2 = h2+1: ' heure d'hiver (GMT+1) IF m > 3 AND m < 10 THEN h1 = h1+1: h2 = h2+1: ' heure d'été (GMT+2) IF m = 3 GOSUB Ete_Hiver: IF j >= qj% THEN h1 = h1+1: h2 = h2+1 ELSE IF m = 10 GOSUB Ete_Hiver: IF j < qj% THEN h1 = h1+1: h2 = h2+1 END_IF END_IF h$ = RIGHT$("0"+STR$(h1),2)+":"+RIGHT$("0"+STR$(m1),2) h$ = h$+" "+RIGHT$("0"+STR$(h2),2)+":"+RIGHT$("0"+STR$(m2),2) h$ = h$+" "+RIGHT$("0"+STR$(h3),2)+":"+RIGHT$("0"+STR$(m3),2) RESULT h$: EXIT_FNC Ete_Hiver: mm = m-2 s_h% = INT(a/100): a_h% = a - s_h%*100 b_h% = INT(2.6*mm - .19) + 31 + a_h%+INT(a_h%/4)+INT(s_h%/4)-s_h%*2 qj% = 31-INT((b_h%/7-INT(b_h%/7))*7+.1) RETURN END_FNC rem =========================================================================== | |
| | | Contenu sponsorisé
| Sujet: Re: Lever/coucher du soleil | |
| |
| | | | Lever/coucher du soleil | |
|
Sujets similaires | |
|
| Permission de ce forum: | Vous ne pouvez pas répondre aux sujets dans ce forum
| |
| |
| |