BlueGEEK Journal

Accueil > Manip’s > Javascript > Atelier Javascript ; Les dessous du CalcOBS

PROGRAMMATION, JAVASCRIPT

Atelier Javascript ; Les dessous du CalcOBS

CALCOBS

lundi 11 septembre 2006, par bluegyn_spip

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

  1. Légèreté et Compacité de l’écriture du CODE
  1. 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

  1. °) 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 :)

  1. °) 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...