Bienvenue aux nouveaux arrivants sur FantasPic !

- Pensez à lire les règles durant votre visite, il n'y en a pas beaucoup, mais encore faut-il les respecter .
- N’hésitez pas à faire des remarques et/ou suggestions sur le Forum, dans le but de l'améliorer et de rendre vos prochaines visites plus agréables.
- Vous pouvez regarder votre "panneau de l'utilisateur" afin de configurer vos préférences.
- Un passage par "l'utilisation du forum" est recommandé pour connaître les fonctionnalités du forum.

--- L’équipe FantasPic ---
C'est pas e-mule ici !
Calendrier universel
Temps-x
Avatar de l’utilisateur
Expert
Expert
Messages : 2789
Enregistré en : juillet 2016
Localisation : Terre

#1 Message par Temps-x » jeu. 5 déc. 2024 04:32

Bonjour à tous et à toutes,

L’utilitaire que voici, qui est pour PC, permets de générer des calendriers allants de 1500 ans à 3000 ans, on peut dire qu'il est un calendrier universel. :-)

TrouJour.png


J'a effectué ce programme à la base pour savoir le jour de la semaine quand peut être, pour être plus explicible si je vous dis qu'on est le 05-10-2025

Vous allez me dire quand est le 5 octobre 2025, mais vous ne pourrez pas me dire le jour de la semaine. :sad:

Ce programme sera réécrit en ASM pour microcontrôleur Pic, pour savoir le jour de la semaine lors de la réception des données GPS

Mise en ligne du programme TrouvJour le Jeudi 5 décembre 2024, Téléchargement du programme ICI

Je tiens à signaler que ce programme et entièrement gratuit, vous pouvez l’échanger, le diffuser, le donner…… par contre, il est formellement interdit d’en faire un usage lucratif par n’importe quel moyen.

Il est protégé contre les virus, si le fichier est touché par un virus, une alerte vous avertira.

==> A+
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.
Modifié en dernier par Temps-x le mer. 1 janv. 2025 03:19, modifié 4 fois.
:roll: Les requins, c'est comme le langage ASM, c'est le sommet de la chaîne alimentaire. :wink:

Calendrier universel
paulfjujo
Avatar de l’utilisateur
Expert
Expert
Messages : 2968
Âge : 74
Enregistré en : juillet 2015
Localisation : 01800
Contact :

#2 Message par paulfjujo » jeu. 5 déc. 2024 14:24

Temps-x a écrit :.....
TrouveJour.exe testé OK .. apres confirmation (sinon refusé par Norton)


Ce programme sera réécrit en ASM pour microcontrôleur Pic,
pour savoir le jour de la semaine lors de la réception des données GPS



en attendant la version asm,
voici la version XC8,

extrait d'une des versions Chaudiere...
sachant que le numero du jour Js donné par la RTC DS3231 est completement arbiraire :
un chiffre variant de 0 à 6 qui s'incremente chaque franchissement de 00H:00M:00S
on definit alors si 0 c'est lundi , ou 0 dimanche aux USA


Code : Tout sélectionner

   
// ----date et RTC -----
long Jour_Julien;
const char All_Jour_Semaine[]="LuMaMeJeVeSaDiEr";
const  char Jour0[]="Lundi ";
const  char Jour1[]="Mardi ";
const  char Jour2[]="Mercredi ";
const  char Jour3[]="Jeudi ";
const  char Jour4[]="Vendredi ";
const  char Jour5[]="Samedi ";
const  char Jour6[]="Dimanche ";
const  char Jour7[]="Error ";
const  char * JourSemaine[]={Jour0,Jour1,Jour2,Jour3,Jour4,Jour5,Jour6,Jour7};
char time[]="00H00M00S";
char date[]="00/00/00";
char Jour_en_cours; // 1 à 7
char Jour_Select;  // 1  à 7

long jour2jul(char jour , char mois , int annee)
{
 long jule, gregorien, a , j , m;
/* Attention, cette routine ne doit etre appellee que si on est sur
   que le jour fourni en parametre existe !!!!!! */
= (long)annee;
= (long)mois;
= (long)jour;
// On commence par faire un ajustement pour les annnees negatives 
    if (annee < 0)    a++;
    jule = ((489L *- 481 ) >>4) + j + 1721423L - (((a&3)+7)>>2)*((m+13)>>4)    + ((1461L*(a-1))>>2);
   /* Avant le 04/10/1582 on est en calendrier julien, et en calendrier  gregorien apres le 15/10/1582 */
    if (jule <= 2299160L)
        return jule;
    /* En calendrier gregorien les ajustements à faire sont :
       - les annees divisibles par 100 ne sont pas bissextiles
       - les annees divisibles par 400 sont bissextiles.
    */
     gregorien = jule - (a/100L - a/400L - 2L);
     if ( ( (a%100) == 0 ) && (< 3) && ( (a%400) != 0)) gregorien++;
    return gregorien;
}

char *j_txt(long n , char *num)
{
char c;
    if (< 0L)
        c = 6 - (char)((-n-1)%7);
    else
    c 
= (char)(n%7);
    *num = c;
    return (char *)JourSemaine[c];
}


// usage dans le main programme

    CPrint(" Test jour Julien\r\n");
    Jour_Julien=jour2jul(29,8,1996);  // date GPS à mettre ici
    sprintf(txt," date 29/08/1996 -> jour julien # %ld",Jour_Julien);
    Print(txt);PrintChar(TAB);
    // jour de la semaine 
    Print(j_txt(Jour_Julien , &cx));
    CPrint("  jour # ");PrintChar(cx);
    PrintChar(cx+48);
    CRLF1();
  
Aide toi, le ciel ou FantasPic t'aidera

Calendrier universel
Temps-x
Avatar de l’utilisateur
Expert
Expert
Messages : 2789
Enregistré en : juillet 2016
Localisation : Terre

#3 Message par Temps-x » jeu. 5 déc. 2024 16:01

Bonjour paulfjujo, et tous le forum,

J'ai mis une nouvelle version, avec des modifications de certain blocage plus son lors de la capture de l’image du calendrier, qui peut être imprimé par la suite… et ça sera la dernière version.

J'ai à peu près fait la même chose que toi, sauf que je compte de 1 = Lundi, à 7 = Dimanche, je prends une date de référence, qui est le lundi 1 janvier 1500

J’ai vu dans ta routine que tu utilises une formule

je n'utilise pas de formule, comme j'ai pu voir ICI ça sera plus pratique en ASM :-D il me faut juste une date de référence.

Le code principal est très cour, à peine une dizaine de ligne .... :sifflotte: ça sera pas la même chose en ASM. :-)

==> A+
Modifié en dernier par Temps-x le jeu. 5 déc. 2024 19:02, modifié 2 fois.
:roll: Les requins, c'est comme le langage ASM, c'est le sommet de la chaîne alimentaire. :wink:

Calendrier universel
Gérard
Avatar de l’utilisateur
Expert
Expert
Messages : 1819
Âge : 66
Enregistré en : septembre 2015
Localisation : Alsace - Haut-Rhin

#4 Message par Gérard » jeu. 5 déc. 2024 17:19

Tu es trop fort Temps-x. :bravo: :bravo: :bravo:

J'ai téléchargé ton fichier, j'ai vérifié, le 18 septembre 1964 est un vendredi, je le sais, c'était le jour de ma rentrée de CP. :lol:
Le 18/04/19 je suis devenu papy de jumeaux, le 01/09/23 une petite cousine des jumeaux est née.

Calendrier universel
venom
Avatar de l’utilisateur
Expert
Expert
Messages : 1373
Âge : 39
Enregistré en : avril 2016
Localisation : Klyntar
Contact :

#5 Message par venom » ven. 6 déc. 2024 18:13

Bonjour à tous.

Merci pour le partage Temps-x. Je testerai ça a l'occasion. (Même si pour le moment je n'ai pas d'utilité)
C'est toujours intéressant et bien de recevoir des codes / utilitaires entres codeurs. J'aime bien cet état d'esprit. :-)






@++
Mon site web
Mon discord : venom#4888


Retourner vers « Zone de téléchargements »

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 1 invité