PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WEBDEV 27 → Saisir une heure supérieur à 24
Saisir une heure supérieur à 24
Débuté par Christophe, 24 juin 2022 23:42 - 2 réponses
Posté le 24 juin 2022 - 23:42
Bonjour,

Pour un besoin spécifique, j'ai besoin de saisir un temps au format HH:MM . Seulement, mon client souhaite pouvoir saisir une heure supérieur à 24. Par exemple 42h30.
Seulement, je suis bloqué avec le masque de saisie de webdev (à mon avis, même problème avec windev).

Avez vous une idée pour gérer ce cas? Je tourne en rond depuis un petit moment...

Merci à vous !
Membre enregistré
67 messages
Popularité : +3 (3 votes)
Posté le 25 juin 2022 - 15:48
Bonjour

J'ai fait l'essai avec les expressions régulières et c'est toujours aussi compliqué... Donc méthode plus simple : un champ texte avec

dans l'init du champ :
MoiMême..MasqueSaisie="99:99"
MoiMême="00:00"

et en sortie du champ
SI Position(MoiMême,":")<1 _OU_ PAS 0<=Val(ExtraitChaîne(MoiMême,2,":"))<60 ALORS
ToastAffiche("L'heure n'est pas valide",toastCourt, cvMilieu, chCentre, RougePastel);RepriseSaisie(MoiMême)
SINON //formater l'heure correctement, ex : 15:5 devient 15:05
nHeures est un entier = Val(ExtraitChaîne(MoiMême,1,":"))
nMinutes est un entier = Val(ExtraitChaîne(MoiMême,2,":"))
MoiMême=NumériqueVersChaîne(nHeures,"02d")+":"+NumériqueVersChaîne(nMinutes,"02d")
FIN

Seule restriction : il faut saisir un 0 devant si le nombre d'heures est <10 car le : n'est pas saisissable (il apparaît automatiquement après 2 chiffres).

--
Bon dev.

Patrick Lalemand
https://www.lapalys.ca
Posté le 27 juin 2022 - 09:07
Bonjour Patrick,

Merci d'avoir pris le temps de me répondre.

Je vais essayer ta méthode.

Bonne journée !

Christophe