FORUMS PROFESSIONNELS
WINDEV
,
WEBDEV
et
WINDEV Mobile
Accueil
|
Messages récents
|
Connexion
|
Déconnexion
|
Français
Accueil
→
WINDEV 2024
→
ChaineVersDuree avec une heure supérieure à 100
ChaineVersDuree avec une heure supérieure à 100
Débuté par GuillaumeCRC, 22 juil. 2024 10:39 - 3 réponses
Connectez-vous…
GuillaumeCRC
#1
Membre enregistré
42 messages
Posté le 22 juillet 2024 - 10:39
Bonjour,
Je rencontre un problème avec la procédure "ChaineVersDurée" de WinDev.
J'y passe la chaine "106h45", mais elle me retourne une durée de 6h45 avec le forma "HHhMM", si je met "JHHhMM" il me retourne 1 jour et 6h 45.
Y a t-il un moyen d'avoir une durée de plusieurs centaines d'heures ? Sachant qu'il fait tout seul la converssion heures en jour pour la durée (99h me donne 4 jour et des patates)
Merci.
Signaler
0
0
jean.pierre.bloch
#2
Membre enregistré
2 054 messages
Posté le 22 juillet 2024 - 11:42
Bonjour Guillaume,
Vous voulez des minutes en format Date-Heure et des heures en format décimal...
Utilisez des variables de type Durée et faites la conversion par formule :
par exemple avec une division ou en passant par ChaîneVersDurée() puis ExtraitChaîneEntre()
--
Bon dev,
Jean-Pierre
Message modifié, 22 juillet 2024 - 11:42
Signaler
0
0
GuillaumeCRC
#3
Membre enregistré
42 messages
Posté le 22 juillet 2024 - 14:37
Merci pour votre retour, j'ai écrit une fonction surchargée de chaine vers durée pour gérer mon cas.
si ça peut intéresser du monde :
Procedure
G_ChaîneVersDurée
(
PAR_Chaine
est une chaîne
) :
Durée
v
Retour
est une
Durée
//Le format envoyé doit être sous la forme HHhMM.
v
NbJour
est une chaîne
=
Val
(
(
Gauche
(
PAR_Chaine
,
(
Position
(
PAR_Chaine
,
"h"
)
-
1
)
)
)
) /
24
v
NbMinute
est une chaîne
= (
Droite
(
PAR_Chaine
,
Taille
(
PAR_Chaine
) - (
Position
(
PAR_Chaine
,
"h"
)
)
)
)
v
NbHeure
est une chaîne
=
Arrondi
(
Val
(
"0."
+
(
Droite
(
v
NbJour
,
Taille
(
v
NbJour
)
-
(
Position
(
v
NbJour
,
"."
)
)
)
)
)
*
24
)
v
NbJour
= (
Gauche
(
v
NbJour
,
(
Position
(
v
NbJour
,
"."
)
-
1
)
)
)
v
Retour.Jour
=
v
NbJour
v
Retour.Heure
=
v
NbHeure
v
Retour.Minute
=
v
NbMinute
RENVOYER
v
Retour
Signaler
1
0
René MALKA
#4
Membre enregistré
272 messages
Posté le 10 octobre 2024 - 18:28
Bonjour Guillaume,
Très intéressante cette procédure, merci.
Cependant, si vous me permettez, vous devriez peut-être faire connaissance avec la fonction ExtraitChaine()
qui améliorerait au moins sa lisibilité.
Je reprend en tout cas votre code avec les modifications qui s'imposent
Bons devs !
--
René MALKA
Signaler
0
0
→ Revenir à WINDEV 2024
WINDEV 2024
WINDEV 2024
WEBDEV 2024
WEBDEV 2024
WINDEV Mobile 2024
WINDEV Mobile 2024
WINDEV (précédentes versions)
WINDEV (précédentes versions)
WEBDEV (précédentes versions)
WEBDEV (précédentes versions)
WINDEV Mobile (précédentes versions)
WINDEV Mobile (précédentes versions)
Etats & Requêtes
Etats & Requêtes
Hors-sujet
Hors-sujet
Outils
Outils
WINDEV 26
WINDEV 2024
WINDEV 2024
WINDEV 25
WEBDEV 2024
WEBDEV 2024
WINDEV Mobile 2024
WINDEV (précédentes versions)
Français
English
Español
Portuguesa
Fermer cette fenêtre
Type de recherche
Uniquement les sujets
Tous les messages
Période de recherche
Date indifférente
Moins d'une heure
Moins de 24 heures
Moins d'une semaine
Moins d'un mois
Moins d'un an
Annuler
Aperçu de votre message
Ajouter une image
Importer une image depuis une URL
Envoyer une image depuis un fichier de votre disque
Déposez ici un fichier ou cliquez sur "Parcourir..."
ou
Annuler
0%
WLangage
SQL
XML, HTML
JAVA, Javascript
Texte