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.
[Résolu] Filtres HH:MM:SS
[Résolu] Filtres HH:MM:SS
Dernière modification par Micoute le jeu. 16/févr./2017 16:20, modifié 1 fois.
Microsoft Windows 10 Famille 64 bits : Carte mère : ASRock 970 Extreme3 R2.0 : Carte Graphique NVIDIA GeForce RTX 3080 : Processeur AMD FX 6300 6 cœurs 12 threads 3,50 GHz PB 6.20 LTS (x64)
Un homme doit être poli, mais il doit aussi être libre !
Un homme doit être poli, mais il doit aussi être libre !
Re: Filtres HH:MM:SS
Dans sa forme la plus stricte 00:00:00 à 99:59:59Micoute 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.
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
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]")
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

Dernière modification par Marc56 le jeu. 16/févr./2017 12:10, modifié 1 fois.
Re: Filtres HH:MM:SS
Merci beaucoup Marc56, c'est une idée comme ça que je cherchais et je ne vois pas pourquoi que ça ne fonctionnerait pas.
Microsoft Windows 10 Famille 64 bits : Carte mère : ASRock 970 Extreme3 R2.0 : Carte Graphique NVIDIA GeForce RTX 3080 : Processeur AMD FX 6300 6 cœurs 12 threads 3,50 GHz PB 6.20 LTS (x64)
Un homme doit être poli, mais il doit aussi être libre !
Un homme doit être poli, mais il doit aussi être libre !