Accueil > Manip’s > Javascript > Atelier Javascript ; Les dessous du CalcOBS
PROGRAMMATION, JAVASCRIPT
Atelier Javascript ; Les dessous du CalcOBS
CALCOBS
lundi 11 septembre 2006, par
Vous avez reçu le formulaire CalcOBS-HTML permettant de calculer de façon "Puissante", les Dates "Exactes" de la Grossesse
La Puissance en informatique se définit par l’association
- Légèreté et Compacité de l’écriture du CODE
- Précision et Efficacité dans son Exécution
A°) Puissance de la Page HTML
Nous avons choisi de présenter les Dates sous Forme de Listes Fermées
Nous éludons ainsi les Pb :
- De la Saisie d’une Date erronée ( p.e le 32/14/2000)
- Du Mauvais Formatage de l’expression (pe. 18 10 avec omission de l’année)
Le programme y gagne en taille puisqu’il ne comporte aucune routine de
contrôle ou de formatage
En + ; la présentation en Colonne de 7 jours permet
- °) De passer très vite d’un Jour à l’autre en appuyant sur la Flèche
Haut-Bas (simulation de datation assistée par ordinateur :)
- °) Ou de De passer directement d’une semaine à l’autre par les Touches
PAGE-HT & PAGE-BAS
Poussé et Inspiré par JM Brideron,
L’utilisation de Champs de Formulaire permet de Recalculer toutes les
Valeurs en Temps réel, sans avoir besoin de réécrire la page à chaque fois
Les Pages Sont écrites et imprimées en Cliquant sur les Boutons
- Calendrier
- Date des Congés
- Ou Date des Examens
(Voir dernière version)
B°) Puissance du Code de JavaScript
SIMPLICITE
Les Seules fonctions JavaScript utilisées sont Date() et getDate()
Date (année, Mois -1, Jour)
Pour convertir un Triplet Jour, Mois , Année en Date TOUJOURS valide
Date.getDay pour le Jour de la Semaine (Dim Lun Mar)
Date.getDate() pour le Jour du Mois
Date.getMonth pour le Mois de l’année
Date.getFullYear pour l’année sur 4 chiffres (passage an 2000)
C’est TOUT
Ainsi si
La Date de Conception est J/M/A (Jour Mois Année)
SYNTAXE : DDG = new Date(A,M,J) ;
La Date de l’accouchement est TOUT SIMPLEMENT J/M+9/A
SYNTAXE DPA = new Date(A, M+9, J) ;
La Date de l’echo de 12 SA est J+(10*7)/M/A (je rajoute 10 semaines aux jours de la Date)
SYNTAXE : D12SA = new Date( A, M, J+(10*7) ) ;
C’est pour cela que je dis que la fonction Date() est simple et suffisante
Pour vous convaincre de l’effficatité de la Fonction Date() de JavaScript
Faites ce test sur CalcOBS.HTM :
Placez vous au 28 février 2000
et augmentez progressivement la date
(Contrôlez pour Info la Date Native de JavaScript au Format UTC (Temps
Universel)
29 & 2 & 2000 nous donne bien le 29/2/2000 c’est OK
30 & 2 & 2000 nous donne 1/3/2000 c’est Intéressant (car le 30 février n’est PAS UNE DATE VALIDE)
30 & 2 & 2001 nous donne 2/3/2001 (Car 2001 n’est pas une année
bissextiles)
La Conversion en Date VALIDE est AUTOMATIQUE
Vous constaterez si vous analysez mon Script, qu’il n’y a nul part de calcul sur la gestion des années bissextiles et des mois de 28,29,30 ou 31 jours)
ET POURTANT CA TOURNE !!!
C’est le Secret de sa Puissance...