Page 1 sur 1

[Résolu] Filtres HH:MM:SS

Publié : jeu. 16/févr./2017 11:27
par Micoute
Bonjour à tous,

J'aimerais faire un logiciel de conversion du temps et ne pouvant mettre l'option #Pb_String_Numeric, j'aurais besoin de filtres pour entrer le temps sous la forme "XX:XX:XX" ou comme vous l'avez compris les X sont des chiffres de 0 à 9, seulement les heures ne doivent dépasser 23 et les minutes et secondes 59 dans certains formats, car on peut entrer les valeurs en secondes, minutes, heures, jours, mois ou années en tant que chaines de nombres, car on peut convertir d'une unité dans une autre, mais je bloque sur l'option HMS, ou le filtre doit être "HH:MM:SS".

J'avais penser aux expressions régulières CreateRegularExpression(#PB_Any ,"[0-9]"), mais je ne sais pas comment ajouter ":" dans la chaîne de caractères.

Alors, comme d'habitude, je viens solliciter votre aide bienveillante et je vous en remercie beaucoup par anticipation.

Re: Filtres HH:MM:SS

Publié : jeu. 16/févr./2017 11:45
par Marc56
Micoute a écrit : J'avais penser aux expressions régulières CreateRegularExpression(#PB_Any ,"[0-9]"), mais je ne sais pas comment ajouter ":" dans la chaîne de caractères.
Dans sa forme la plus stricte 00:00:00 à 99:59:59

Code : Tout sélectionner

CreateRegularExpression(0, "[0-9][0-9]:[0-5][0-9]:[0-5][0-9]")

If MatchRegularExpression(0, InputRequester("Heure", "Entre l'heure au format HH:MM:SS", ""))
     MessageRequester("OK", "Format valide")
Else
     MessageRequester("Erreur", "Format non valide", #PB_MessageRequester_Error)
EndIf
Si tu veux au moins 1 chiffre pour les heures, mais sans limite:

Code : Tout sélectionner

CreateRegularExpression(0, "[0-9]+:[0-5][0-9]:[0-5][0-9]")
; ou plus classique
CreateRegularExpression(0, "[0-9]{1,}:[0-5][0-9]:[0-5][0-9]")
Note qu'il y a un tas de façons d'écrire une expression régulière, mais il vaut mieux privilégier la lisibilité.

Cependant, le plus souvent on utilise le gadget Spin qui permet de mettre une limite basse et haute.
Cependant il faut mettre 3 gadgets pour avoir H, M, S

:wink:

Re: Filtres HH:MM:SS

Publié : jeu. 16/févr./2017 11:56
par Micoute
Merci beaucoup Marc56, c'est une idée comme ça que je cherchais et je ne vois pas pourquoi que ça ne fonctionnerait pas.