PC SOFT

FOROS PROFESIONALES
WINDEVWEBDEV y WINDEV Mobile

Inicio → WEBDEV 2024 → Saisie de dates
Saisie de dates
Iniciado por Frederic MECHETY, 28,may. 2004 13:41 - 10 respuestas
Publicado el 28,mayo 2004 - 13:41
Bonjour à toutes et à tous,

Est ce quelqu'un à trouver une solution pour que l'utilisateur n'ai pas à
saisir les / lors de la saisie d'une date ?

Merci d'avance.
Publicado el 28,mayo 2004 - 16:12
Salut,

Il y a bien la solution de créer 3 combos, jour mois an et de concaténer les
3 dans une chaine, mais il faut gérer les mois en 30 et 31 jours, février et
les années bissextiles....


"Frederic MECHETY" <fmechety@presseri.com> a écrit dans le message de
news:40b711d8@news.pcsoft.fr...

Bonjour à toutes et à tous,

Est ce quelqu'un à trouver une solution pour que l'utilisateur n'ai pas à
saisir les / lors de la saisie d'une date ?

Merci d'avance.

Publicado el 01,junio 2004 - 20:04
Voici la procédure Javascript que nous avons développé, à appeler, en code
navigateur, sur le Onfocus, Onblur, Onkeyup, Onkeypress de ton champ date
:

PROCEDURE Check_saisie(champ)

//Empêche le double /
SI Position(JSPropriété("_PAGE_."+champ,"value"),"//")<>0 ALORS JSPropriété("_PAGE_."+champ,"value")=Remplace(JSPropriété("_PAGE_."+champ,"value"),"//","/")
//Gestion automatique du séparateur
SELON Taille(JSPropriété("_PAGE_."+champ,"value"))
CAS 2,5:
SI ch_taille<>3 ET ch_taille<>6 ALORS
JSPropriété("_PAGE_."+champ,"value") =JSPropriété("_PAGE_."+champ,"value")+"/"

SINON
JSPropriété("_PAGE_."+champ,"value") = Gauche(JSPropriété("_PAGE_."+champ,"value"),ch_taille-2)
FIN
FIN
ch_taille=Taille(JSPropriété("_PAGE_."+champ,"value"))


"Paratge" <jjb@2jbconcepts.com> wrote:

Salut,

Il y a bien la solution de créer 3 combos, jour mois an et de concaténer

les
>3 dans une chaine, mais il faut gérer les mois en 30 et 31 jours, février
et
les années bissextiles....


"Frederic MECHETY" <fmechety@presseri.com> a écrit dans le message de
news:40b711d8@news.pcsoft.fr...

Bonjour à toutes et à tous,

Est ce quelqu'un à trouver une solution pour que l'utilisateur n'ai pas

à
saisir les / lors de la saisie d'une date ?

Merci d'avance.



Publicado el 01,junio 2004 - 20:08
et le ch_taille tu le décris où ?
MErci de ta réponse
"Fabien A." <fabien.andreu@edi.fr> a écrit dans le message de
news:40bca931@news.pcsoft.fr...


Voici la procédure Javascript que nous avons développé, à appeler, en code
navigateur, sur le Onfocus, Onblur, Onkeyup, Onkeypress de ton champ date
:

PROCEDURE Check_saisie(champ)

//Empêche le double /
SI Position(JSPropriété("_PAGE_."+champ,"value"),"//")<>0 ALORS

JSPropriété("_PAGE_."+champ,"value")=Remplace(JSPropriété("_PAGE_."+champ,"v
alue"),"//","/")
//Gestion automatique du séparateur
SELON Taille(JSPropriété("_PAGE_."+champ,"value"))
CAS 2,5:
SI ch_taille<>3 ET ch_taille<>6 ALORS
JSPropriété("_PAGE_."+champ,"value")

=JSPropriété("_PAGE_."+champ,"value")+"/"

SINON
JSPropriété("_PAGE_."+champ,"value") =

Gauche(JSPropriété("_PAGE_."+champ,"value"),ch_taille-2)
FIN
FIN
ch_taille=Taille(JSPropriété("_PAGE_."+champ,"value"))


"Paratge" <jjb@2jbconcepts.com> wrote:

Salut,

Il y a bien la solution de créer 3 combos, jour mois an et de concaténer
les

3 dans une chaine, mais il faut gérer les mois en 30 et 31 jours, février
et

les années bissextiles....


"Frederic MECHETY" <fmechety@presseri.com> a écrit dans le message de
news:40b711d8@news.pcsoft.fr...

Bonjour à toutes et à tous,

Est ce quelqu'un à trouver une solution pour que l'utilisateur n'ai pas
à

saisir les / lors de la saisie d'une date ?

Merci d'avance.




Publicado el 02,junio 2004 - 13:22
Salut,

Je suis interessé également par cette procédure.
J'ai essayé de la mettre en place mais j'obtiens des erreurs sur ma page.
Quelqu'un a réussi à la faire fonctionner ?

merci de votre aide

"Roumegou" <ml.roumeg@4usinfo.com> wrote:

et le ch_taille tu le décris où ?
MErci de ta réponse
"Fabien A." <fabien.andreu@edi.fr> a écrit dans le message de
news:40bca931@news.pcsoft.fr...


Voici la procédure Javascript que nous avons développé, à appeler, en

code
navigateur, sur le Onfocus, Onblur, Onkeyup, Onkeypress de ton champ date
:

PROCEDURE Check_saisie(champ)

//Empêche le double /
SI Position(JSPropriété("_PAGE_."+champ,"value"),"//")<>0 ALORS
JSPropriété("_PAGE_."+champ,"value")=Remplace(JSPropriété("_PAGE_."+champ,"v

alue"),"//","/")
//Gestion automatique du séparateur
SELON Taille(JSPropriété("_PAGE_."+champ,"value"))
CAS 2,5:
SI ch_taille<>3 ET ch_taille<>6 ALORS
JSPropriété("_PAGE_."+champ,"value")
=JSPropriété("_PAGE_."+champ,"value")+"/"


SINON
JSPropriété("_PAGE_."+champ,"value") =
Gauche(JSPropriété("_PAGE_."+champ,"value"),ch_taille-2)

FIN
FIN
ch_taille=Taille(JSPropriété("_PAGE_."+champ,"value"))


"Paratge" <jjb@2jbconcepts.com> wrote:

Salut,

Il y a bien la solution de créer 3 combos, jour mois an et de concaténer
les

3 dans une chaine, mais il faut gérer les mois en 30 et 31 jours, février
et

les années bissextiles....


"Frederic MECHETY" <fmechety@presseri.com> a écrit dans le message de
news:40b711d8@news.pcsoft.fr...

Bonjour à toutes et à tous,

Est ce quelqu'un à trouver une solution pour que l'utilisateur n'ai

pas
à
saisir les / lors de la saisie d'une date ?

Merci d'avance.






Publicado el 02,junio 2004 - 14:02
J'ai effectivement oublié le ch_taille...
En fait nous avons créé un superchamp qui contient un champ de saisie type
date, la procédure précédement indiqué, et le ch_taille qui est déclaré en
variable globale navigateur sur le onload du superchamp :

GLOBAL
ch_taille est un entier

Mais il est possible de n'utiliser que le champ de saisie, sans le superchamp.
Dans ce cas, la procédure doit être déclaré en globale navigateur de la page,
et le ch_taille déclaré sur le onload de la page.

L'avantage du Superchamp est de ne pas avoir a déclarer la procédure et la
variable sur chaque page du projet puisque tout est englobé dans le composant.

Toute amélioration de cette procédure est la bienvenue !

"Christian" <cciochir@_at_cmii.fr> wrote:


Salut,

Je suis interessé également par cette procédure.
J'ai essayé de la mettre en place mais j'obtiens des erreurs sur ma page.
Quelqu'un a réussi à la faire fonctionner ?

merci de votre aide

"Roumegou" <ml.roumeg@4usinfo.com> wrote:

et le ch_taille tu le décris où ?
MErci de ta réponse
"Fabien A." <fabien.andreu@edi.fr> a écrit dans le message de
news:40bca931@news.pcsoft.fr...


Voici la procédure Javascript que nous avons développé, à appeler, en
code

navigateur, sur le Onfocus, Onblur, Onkeyup, Onkeypress de ton champ

date
:

PROCEDURE Check_saisie(champ)

//Empêche le double /
SI Position(JSPropriété("_PAGE_."+champ,"value"),"//")<>0 ALORS
JSPropriété("_PAGE_."+champ,"value")=Remplace(JSPropriété("_PAGE_."+champ,"v

alue"),"//","/")
//Gestion automatique du séparateur
SELON Taille(JSPropriété("_PAGE_."+champ,"value"))
CAS 2,5:
SI ch_taille<>3 ET ch_taille<>6 ALORS
JSPropriété("_PAGE_."+champ,"value")
=JSPropriété("_PAGE_."+champ,"value")+"/"


SINON
JSPropriété("_PAGE_."+champ,"value") =
Gauche(JSPropriété("_PAGE_."+champ,"value"),ch_taille-2)

FIN
FIN
ch_taille=Taille(JSPropriété("_PAGE_."+champ,"value"))


"Paratge" <jjb@2jbconcepts.com> wrote:

Salut,

Il y a bien la solution de créer 3 combos, jour mois an et de concaténer
les

3 dans une chaine, mais il faut gérer les mois en 30 et 31 jours, février
et

les années bissextiles....


"Frederic MECHETY" <fmechety@presseri.com> a écrit dans le message de
news:40b711d8@news.pcsoft.fr...

Bonjour à toutes et à tous,

Est ce quelqu'un à trouver une solution pour que l'utilisateur n'ai
pas

à
saisir les / lors de la saisie d'une date ?

Merci d'avance.







Publicado el 02,junio 2004 - 17:36
Pour compléter la réponse, voici l'appel de la fonction à insérer, je le rappelle,
sur le Onfocus, Onblur, Onkeyup, Onkeypress du champ de saisie date :

Check_saisie(MoiMême..Alias)


"Fabien A." <fabien.andreu@edi.fr> wrote:


J'ai effectivement oublié le ch_taille...
En fait nous avons créé un superchamp qui contient un champ de saisie type
date, la procédure précédement indiqué, et le ch_taille qui est déclaré

en
variable globale navigateur sur le onload du superchamp :

GLOBAL
ch_taille est un entier

Mais il est possible de n'utiliser que le champ de saisie, sans le superchamp.
Dans ce cas, la procédure doit être déclaré en globale navigateur de la

page,
et le ch_taille déclaré sur le onload de la page.

L'avantage du Superchamp est de ne pas avoir a déclarer la procédure et

la
variable sur chaque page du projet puisque tout est englobé dans le composant.

Toute amélioration de cette procédure est la bienvenue !

"Christian" <cciochir@_at_cmii.fr> wrote:


Salut,

Je suis interessé également par cette procédure.
J'ai essayé de la mettre en place mais j'obtiens des erreurs sur ma page.
Quelqu'un a réussi à la faire fonctionner ?

merci de votre aide

"Roumegou" <ml.roumeg@4usinfo.com> wrote:

et le ch_taille tu le décris où ?
MErci de ta réponse
"Fabien A." <fabien.andreu@edi.fr> a écrit dans le message de
news:40bca931@news.pcsoft.fr...


Voici la procédure Javascript que nous avons développé, à appeler, en
code

navigateur, sur le Onfocus, Onblur, Onkeyup, Onkeypress de ton champ
date

:

PROCEDURE Check_saisie(champ)

//Empêche le double /
SI Position(JSPropriété("_PAGE_."+champ,"value"),"//")<>0 ALORS
JSPropriété("_PAGE_."+champ,"value")=Remplace(JSPropriété("_PAGE_."+champ,"v

alue"),"//","/")
//Gestion automatique du séparateur
SELON Taille(JSPropriété("_PAGE_."+champ,"value"))
CAS 2,5:
SI ch_taille<>3 ET ch_taille<>6 ALORS
JSPropriété("_PAGE_."+champ,"value")
=JSPropriété("_PAGE_."+champ,"value")+"/"


SINON
JSPropriété("_PAGE_."+champ,"value") =
Gauche(JSPropriété("_PAGE_."+champ,"value"),ch_taille-2)

FIN
FIN
ch_taille=Taille(JSPropriété("_PAGE_."+champ,"value"))


"Paratge" <jjb@2jbconcepts.com> wrote:

Salut,

Il y a bien la solution de créer 3 combos, jour mois an et de concaténer
les

3 dans une chaine, mais il faut gérer les mois en 30 et 31 jours, février
et

les années bissextiles....


"Frederic MECHETY" <fmechety@presseri.com> a écrit dans le message

de
news:40b711d8@news.pcsoft.fr...

Bonjour à toutes et à tous,

Est ce quelqu'un à trouver une solution pour que l'utilisateur n'ai
pas

à
saisir les / lors de la saisie d'une date ?

Merci d'avance.








Publicado el 03,junio 2004 - 12:42
Bonjour,

Merci à tous pour votre aide. Si toutefois cela interresse qq'un je me suis
permis d'ajouter le fait que la procédure complète automatiquement la date
par le mois et/ou l'année en cours.

-----------------------
Declarations globales de la page
-----------------------
ch_taille est un entier



-----------------------
Code du champ de type date
-----------------------
ONFOCUS
CheckSaisie(MoiMême..Alias)

ONBLUR
CheckSaisie(MoiMême..Alias, Vrai)

ONKEYUP
CheckSaisie(MoiMême..Alias)

ONKEYPRESS
CheckSaisie(MoiMême..Alias)


-----------------------
PROCEDURE CheckSaisie(champ, pSortie = Faux)

//Empêche le double /
SI Position(JSPropriété("_PAGE_."+champ,"value"),"//")<>0 ALORS
JSPropriété("_PAGE_."+champ,"value")=Remplace(JSPropriété("_PAGE_."+champ,"v
alue"),"//","/")

//Gestion automatique du séparateur
SELON Taille(JSPropriété("_PAGE_."+champ,"value"))
CAS 2,5:
SI ch_taille<>3 ET ch_taille<>6 ALORS
JSPropriété("_PAGE_."+champ,"value")
=JSPropriété("_PAGE_."+champ,"value")+"/"
SINON
JSPropriété("_PAGE_."+champ,"value") =
Gauche(JSPropriété("_PAGE_."+champ,"value"),ch_taille-2)
FIN
FIN

SI pSortie ALORS
SELON Taille(JSPropriété("_PAGE_."+champ,"value"))
CAS 3
// Saisie uniquement du jour
JSPropriété("_PAGE_."+champ,"value") =
JSPropriété("_PAGE_."+champ,"value") + Milieu(DateSys(), 5, 2) + "/" +
Gauche(DateSys(), 4)
CAS 6
// Saisie uniquement du jour et du mois
JSPropriété("_PAGE_."+champ,"value") =
JSPropriété("_PAGE_."+champ,"value") + Gauche(DateSys(), 4)
FIN
FIN

ch_taille=Taille(JSPropriété("_PAGE_."+champ,"value"))



Encore une fois merci beaucoup à vous tous pour votre collaboration.
Publicado el 03,junio 2004 - 14:28
Bonjour,

J'ai rajouté un contrôle dans le cas où la date est saisie sur la forme JJ/MM/AA
- J'ai repris le code précédent en copie, en y ajoutant une condition -
-----------------------
Declarations globales de la page
-----------------------
ch_taille est un entier



-----------------------
Code du champ de type date
-----------------------
ONFOCUS
CheckSaisie(MoiMême..Alias)

ONBLUR
CheckSaisie(MoiMême..Alias, Vrai)

ONKEYUP
CheckSaisie(MoiMême..Alias)

ONKEYPRESS
CheckSaisie(MoiMême..Alias)


-----------------------
PROCEDURE CheckSaisie(champ, pSortie = Faux)

//Empêche le double /
SI Position(JSPropriété("_PAGE_."+champ,"value"),"//")<>0 ALORS
JSPropriété("_PAGE_."+champ,"value")=Remplace(JSPropriété("_PAGE_."+champ,"v
alue"),"//","/")

//Gestion automatique du séparateur
SELON Taille(JSPropriété("_PAGE_."+champ,"value"))
CAS 2,5:
SI ch_taille<>3 ET ch_taille<>6 ALORS
JSPropriété("_PAGE_."+champ,"value")
=JSPropriété("_PAGE_."+champ,"value")+"/"
SINON
JSPropriété("_PAGE_."+champ,"value") =
Gauche(JSPropriété("_PAGE_."+champ,"value"),ch_taille-2)
FIN
FIN

SI pSortie ALORS
SELON Taille(JSPropriété("_PAGE_."+champ,"value"))
CAS 3
// Saisie uniquement du jour
JSPropriété("_PAGE_."+champ,"value") =
JSPropriété("_PAGE_."+champ,"value") + Milieu(DateSys(), 5, 2) + "/" +
Gauche(DateSys(), 4)
CAS 6
// Saisie uniquement du jour et du mois
JSPropriété("_PAGE_."+champ,"value") =
JSPropriété("_PAGE_."+champ,"value") + Gauche(DateSys(), 4)
CAS 8
// Saisie de la date de la forme JJ/MM/AA - année sur 2 chiffres
JSPropriété("_PAGE_."+champ,"value")=Gauche(JSPropriété("_PAGE_."+champ,"value"),6)+"20"+Droite(JSPropriété("_PAGE_."+champ,"value"),2)
FIN
FIN

ch_taille=Taille(JSPropriété("_PAGE_."+champ,"value"))

Merci à tous pour votre aide !
Christian

"Frederic MECHETY" <fmechety@presseri.com> wrote:

Bonjour,

Merci à tous pour votre aide. Si toutefois cela interresse qq'un je me suis
permis d'ajouter le fait que la procédure complète automatiquement la date
par le mois et/ou l'année en cours.

-----------------------
Declarations globales de la page
-----------------------
ch_taille est un entier



-----------------------
Code du champ de type date
-----------------------
ONFOCUS
CheckSaisie(MoiMême..Alias)

ONBLUR
CheckSaisie(MoiMême..Alias, Vrai)

ONKEYUP
CheckSaisie(MoiMême..Alias)

ONKEYPRESS
CheckSaisie(MoiMême..Alias)


-----------------------
PROCEDURE CheckSaisie(champ, pSortie = Faux)

//Empêche le double /
SI Position(JSPropriété("_PAGE_."+champ,"value"),"//")<>0 ALORS
JSPropriété("_PAGE_."+champ,"value")=Remplace(JSPropriété("_PAGE_."+champ,"v
alue"),"//","/")

//Gestion automatique du séparateur
SELON Taille(JSPropriété("_PAGE_."+champ,"value"))
CAS 2,5:
SI ch_taille<>3 ET ch_taille<>6 ALORS
JSPropriété("_PAGE_."+champ,"value")
=JSPropriété("_PAGE_."+champ,"value")+"/"
SINON
JSPropriété("_PAGE_."+champ,"value") =
Gauche(JSPropriété("_PAGE_."+champ,"value"),ch_taille-2)
FIN
FIN

SI pSortie ALORS
SELON Taille(JSPropriété("_PAGE_."+champ,"value"))
CAS 3
// Saisie uniquement du jour
JSPropriété("_PAGE_."+champ,"value") =
JSPropriété("_PAGE_."+champ,"value") + Milieu(DateSys(), 5, 2) + "/" +
Gauche(DateSys(), 4)
CAS 6
// Saisie uniquement du jour et du mois
JSPropriété("_PAGE_."+champ,"value") =
JSPropriété("_PAGE_."+champ,"value") + Gauche(DateSys(), 4)
FIN
FIN

ch_taille=Taille(JSPropriété("_PAGE_."+champ,"value"))



Encore une fois merci beaucoup à vous tous pour votre collaboration.

Publicado el 03,junio 2004 - 18:24
proposition pour que la saisie de la date sur deux chiffres marche encore
dans 96 ans et plus...

CAS 8
// Saisie de la date de la forme JJ/MM/AA - année sur 2 chiffres

JSPropriété("_PAGE_."+champ,"value")=Gauche(JSPropriété("_PAGE_."+champ,"val
ue"),6)+Gauche(DateSys(),2)+Droite(JSPropriété("_PAGE_."+champ,"value"),2)

Je sais, on a le temps, mais quand même.....


"Christian" <cciochir@_at_cmii.fr> a écrit dans le message de
news:40bf0742@news.pcsoft.fr...


Bonjour,

J'ai rajouté un contrôle dans le cas où la date est saisie sur la forme

JJ/MM/AA
- J'ai repris le code précédent en copie, en y ajoutant une condition -
-----------------------
Declarations globales de la page
-----------------------
ch_taille est un entier



-----------------------
Code du champ de type date
-----------------------
ONFOCUS
CheckSaisie(MoiMême..Alias)

ONBLUR
CheckSaisie(MoiMême..Alias, Vrai)

ONKEYUP
CheckSaisie(MoiMême..Alias)

ONKEYPRESS
CheckSaisie(MoiMême..Alias)


-----------------------
PROCEDURE CheckSaisie(champ, pSortie = Faux)

//Empêche le double /
SI Position(JSPropriété("_PAGE_."+champ,"value"),"//")<>0 ALORS

JSPropriété("_PAGE_."+champ,"value")=Remplace(JSPropriété("_PAGE_."+champ,"v
alue"),"//","/")

//Gestion automatique du séparateur
SELON Taille(JSPropriété("_PAGE_."+champ,"value"))
CAS 2,5:
SI ch_taille<>3 ET ch_taille<>6 ALORS
JSPropriété("_PAGE_."+champ,"value")
=JSPropriété("_PAGE_."+champ,"value")+"/"
SINON
JSPropriété("_PAGE_."+champ,"value") =
Gauche(JSPropriété("_PAGE_."+champ,"value"),ch_taille-2)
FIN
FIN

SI pSortie ALORS
SELON Taille(JSPropriété("_PAGE_."+champ,"value"))
CAS 3
// Saisie uniquement du jour
JSPropriété("_PAGE_."+champ,"value") =
JSPropriété("_PAGE_."+champ,"value") + Milieu(DateSys(), 5, 2) + "/" +
Gauche(DateSys(), 4)
CAS 6
// Saisie uniquement du jour et du mois
JSPropriété("_PAGE_."+champ,"value") =
JSPropriété("_PAGE_."+champ,"value") + Gauche(DateSys(), 4)
CAS 8
// Saisie de la date de la forme JJ/MM/AA - année sur 2 chiffres

JSPropriété("_PAGE_."+champ,"value")=Gauche(JSPropriété("_PAGE_."+champ,"val
ue"),6)+"20"+Droite(JSPropriété("_PAGE_."+champ,"value"),2)
FIN
FIN

ch_taille=Taille(JSPropriété("_PAGE_."+champ,"value"))

Merci à tous pour votre aide !
Christian

"Frederic MECHETY" <fmechety@presseri.com> wrote:

Bonjour,

Merci à tous pour votre aide. Si toutefois cela interresse qq'un je me

suis
> >permis d'ajouter le fait que la procédure complète automatiquement la
date
par le mois et/ou l'année en cours.

-----------------------
Declarations globales de la page
-----------------------
ch_taille est un entier



-----------------------
Code du champ de type date
-----------------------
ONFOCUS
CheckSaisie(MoiMême..Alias)

ONBLUR
CheckSaisie(MoiMême..Alias, Vrai)

ONKEYUP
CheckSaisie(MoiMême..Alias)

ONKEYPRESS
CheckSaisie(MoiMême..Alias)


-----------------------
PROCEDURE CheckSaisie(champ, pSortie = Faux)

//Empêche le double /
SI Position(JSPropriété("_PAGE_."+champ,"value"),"//")<>0 ALORS

JSPropriété("_PAGE_."+champ,"value")=Remplace(JSPropriété("_PAGE_."+champ,"

v
alue"),"//","/")

//Gestion automatique du séparateur
SELON Taille(JSPropriété("_PAGE_."+champ,"value"))
CAS 2,5:
SI ch_taille<>3 ET ch_taille<>6 ALORS
JSPropriété("_PAGE_."+champ,"value")
=JSPropriété("_PAGE_."+champ,"value")+"/"
SINON
JSPropriété("_PAGE_."+champ,"value") =
Gauche(JSPropriété("_PAGE_."+champ,"value"),ch_taille-2)
FIN
FIN

SI pSortie ALORS
SELON Taille(JSPropriété("_PAGE_."+champ,"value"))
CAS 3
// Saisie uniquement du jour
JSPropriété("_PAGE_."+champ,"value") =
JSPropriété("_PAGE_."+champ,"value") + Milieu(DateSys(), 5, 2) + "/" +
Gauche(DateSys(), 4)
CAS 6
// Saisie uniquement du jour et du mois
JSPropriété("_PAGE_."+champ,"value") =
JSPropriété("_PAGE_."+champ,"value") + Gauche(DateSys(), 4)
FIN
FIN

ch_taille=Taille(JSPropriété("_PAGE_."+champ,"value"))



Encore une fois merci beaucoup à vous tous pour votre collaboration.


Publicado el 03,junio 2004 - 18:52
Gardons du boulot pour nos enfant, nos parents nous ont fait un beau cadeau
avec le bug de l'an 2000 ! :D

Je vois que ma procédure a du succés, merci d'avoir contribué à son amélioration.
;)

"Gilles Balp" <gil.ASUPPRIMERbalp@libertysurf.fr> wrote:

proposition pour que la saisie de la date sur deux chiffres marche encore
dans 96 ans et plus...

CAS 8
// Saisie de la date de la forme JJ/MM/AA - année sur 2 chiffres

JSPropriété("_PAGE_."+champ,"value")=Gauche(JSPropriété("_PAGE_."+champ,"val
ue"),6)+Gauche(DateSys(),2)+Droite(JSPropriété("_PAGE_."+champ,"value"),2)

Je sais, on a le temps, mais quand même.....


"Christian" <cciochir@_at_cmii.fr> a écrit dans le message de
news:40bf0742@news.pcsoft.fr...


Bonjour,

J'ai rajouté un contrôle dans le cas où la date est saisie sur la forme
JJ/MM/AA

- J'ai repris le code précédent en copie, en y ajoutant une condition

-
-----------------------
Declarations globales de la page
-----------------------
ch_taille est un entier



-----------------------
Code du champ de type date
-----------------------
ONFOCUS
CheckSaisie(MoiMême..Alias)

ONBLUR
CheckSaisie(MoiMême..Alias, Vrai)

ONKEYUP
CheckSaisie(MoiMême..Alias)

ONKEYPRESS
CheckSaisie(MoiMême..Alias)


-----------------------
PROCEDURE CheckSaisie(champ, pSortie = Faux)

//Empêche le double /
SI Position(JSPropriété("_PAGE_."+champ,"value"),"//")<>0 ALORS

JSPropriété("_PAGE_."+champ,"value")=Remplace(JSPropriété("_PAGE_."+champ,"v

alue"),"//","/")

//Gestion automatique du séparateur
SELON Taille(JSPropriété("_PAGE_."+champ,"value"))
CAS 2,5:
SI ch_taille<>3 ET ch_taille<>6 ALORS
JSPropriété("_PAGE_."+champ,"value")
=JSPropriété("_PAGE_."+champ,"value")+"/"
SINON
JSPropriété("_PAGE_."+champ,"value") =
Gauche(JSPropriété("_PAGE_."+champ,"value"),ch_taille-2)
FIN
FIN

SI pSortie ALORS
SELON Taille(JSPropriété("_PAGE_."+champ,"value"))
CAS 3
// Saisie uniquement du jour
JSPropriété("_PAGE_."+champ,"value") =
JSPropriété("_PAGE_."+champ,"value") + Milieu(DateSys(), 5, 2) + "/" +
Gauche(DateSys(), 4)
CAS 6
// Saisie uniquement du jour et du mois
JSPropriété("_PAGE_."+champ,"value") =
JSPropriété("_PAGE_."+champ,"value") + Gauche(DateSys(), 4)
CAS 8
// Saisie de la date de la forme JJ/MM/AA - année sur 2 chiffres

JSPropriété("_PAGE_."+champ,"value")=Gauche(JSPropriété("_PAGE_."+champ,"val

ue"),6)+"20"+Droite(JSPropriété("_PAGE_."+champ,"value"),2)
FIN
FIN

ch_taille=Taille(JSPropriété("_PAGE_."+champ,"value"))

Merci à tous pour votre aide !
Christian

"Frederic MECHETY" <fmechety@presseri.com> wrote:

Bonjour,

Merci à tous pour votre aide. Si toutefois cela interresse qq'un je me
suis

permis d'ajouter le fait que la procédure complète automatiquement la
date

par le mois et/ou l'année en cours.

-----------------------
Declarations globales de la page
-----------------------
ch_taille est un entier



-----------------------
Code du champ de type date
-----------------------
ONFOCUS
CheckSaisie(MoiMême..Alias)

ONBLUR
CheckSaisie(MoiMême..Alias, Vrai)

ONKEYUP
CheckSaisie(MoiMême..Alias)

ONKEYPRESS
CheckSaisie(MoiMême..Alias)


-----------------------
PROCEDURE CheckSaisie(champ, pSortie = Faux)

//Empêche le double /
SI Position(JSPropriété("_PAGE_."+champ,"value"),"//")<>0 ALORS

JSPropriété("_PAGE_."+champ,"value")=Remplace(JSPropriété("_PAGE_."+champ,"
v

alue"),"//","/")

//Gestion automatique du séparateur
SELON Taille(JSPropriété("_PAGE_."+champ,"value"))
CAS 2,5:
SI ch_taille<>3 ET ch_taille<>6 ALORS
JSPropriété("_PAGE_."+champ,"value")
=JSPropriété("_PAGE_."+champ,"value")+"/"
SINON
JSPropriété("_PAGE_."+champ,"value") =
Gauche(JSPropriété("_PAGE_."+champ,"value"),ch_taille-2)
FIN
FIN

SI pSortie ALORS
SELON Taille(JSPropriété("_PAGE_."+champ,"value"))
CAS 3
// Saisie uniquement du jour
JSPropriété("_PAGE_."+champ,"value") =
JSPropriété("_PAGE_."+champ,"value") + Milieu(DateSys(), 5, 2) + "/"

+
Gauche(DateSys(), 4)
CAS 6
// Saisie uniquement du jour et du mois
JSPropriété("_PAGE_."+champ,"value") =
JSPropriété("_PAGE_."+champ,"value") + Gauche(DateSys(), 4)
FIN
FIN

ch_taille=Taille(JSPropriété("_PAGE_."+champ,"value"))



Encore une fois merci beaucoup à vous tous pour votre collaboration.