| |
Membre enregistré 66 messages Popularité : +0 (2 votes) |
|
Posté le 13 mars 2020 - 16:25 |
Bonjour
J'aimerais faire fonctionner les spins afin de gérer des heures et minutes
Merci de votre aide
David |
| |
| |
| | | |
|
| | |
| |
Posté le 13 mars 2020 - 18:41 |
Le spin de gauche : + ou - 1 heure le spin de droite : + ou - 1 minute
Où est la difficulté ? |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 66 messages Popularité : +0 (2 votes) |
|
Posté le 13 mars 2020 - 22:55 |
Bonsoir Philou
C'est le code des spins et/ou du champs de saisie que je ne trouve pas |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 3 883 messages Popularité : +227 (347 votes) |
|
Posté le 15 mars 2020 - 08:44 |
Bonjour, Il y a un superchamp prédéfini utilisant les spins, tu devrais t'en inspirer.
-- Il y a peut être plus simple, mais, ça tourne |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 66 messages Popularité : +0 (2 votes) |
|
Posté le 18 mars 2020 - 20:05 |
Bonjour Voroltinquo Dans la version 17, je ne vois pas de superchamp prédéfini utilisant les spins !
Sinon j'ai commencé à faire ceci :
Et dans le bouton :
hHeureDébut est une Heure = SAI_Heure_Début hHeureFin est une Heure = SAI_Heure_Fin hTempsPause est une Heure = SAI_Pause
SI SAI_Heure_Début<SAI_Heure_Fin ALORS TempsTravail est une Durée = hHeureFin - hHeureDébut SAI_Durée_Travail_Heure = DuréeVersChaîne(TempsTravail, "HH:MM") SAI_Durée_Travail_Centième = DuréeVersChaîne(TempsTravail, duréeCentième) SINON TempsTravail est une Durée = hHeureDébut - hHeureFin SAI_Durée_Travail_Heure = DuréeVersChaîne(TempsTravail, "HH:MM") SAI_Durée_Travail_Centième = DuréeVersChaîne(TempsTravail, duréeCentième) FIN
Les centièmes ne fonctionnent pas !
Le but final c'est d'enlever le bouton "Calculer" et utiliser seulement les spins
Merci David |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 309 messages Popularité : +31 (37 votes) |
|
Posté le 19 mars 2020 - 11:08 |
Bonjour,
Quelques indications pour vous aiguiller :
hHeureDébut est une Heure = SAI_Heure_Début hHeureFin est une Heure = SAI_Heure_Fin
hHeureDébut..Heure++
hHeureDébut..Minute++
hHeureDébut..Minute
hHeureDébut..Heure
SAI_Heure_Début =hHeureDébut
ld est un entier = HeureDifférence(hHeureDébut,hHeureFin)
hLetempsPasse est une Heure="000000000"
hLetempsPasse..Seconde+=(ld/100)
SAI_Durée_Travail_Heure = letempsPasse
Bon dev. |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 66 messages Popularité : +0 (2 votes) |
|
Posté le 19 mars 2020 - 22:56 |
Bonjour et merci de l'aide
Pour les spins, il n'y avait plus de problème.
Pour le calcul en HEURE, ça fonctionne tant que je dépasse pas le minuit ! (ce qui pose problème) Pour le calcul en CENTIEME, je n'y arrive pas !
Merci pour l'approfondissement de votre réponse
Les SAI_Durée_Travail_Heure et SAI_Durée_Travail_Centième sont en type "Texte" avec un masque de saisie "Chiffres" Les SAI_Heure_Début et SAI_Heure_Fin sont en Type "Heure" avec un masque de saisie "Heure défini dans le projet" - Masque et valeur retournée "HH:MM"
hHeureDébut est une Heure = SAI_Heure_Début hHeureFin est une Heure = SAI_Heure_Fin
SI SAI_Heure_Début<SAI_Heure_Fin ALORS TempsTravailHeure est une Durée = hHeureFin - hHeureDébut SAI_Durée_Travail_Heure = DuréeVersChaîne(TempsTravailHeure, "HH:MM") SINON TempsTravailHeure est une Durée = hHeureDébut - hHeureFin SAI_Durée_Travail_Heure = DuréeVersChaîne(TempsTravailHeure, "HH:MM") FIN
SI SAI_Heure_Début>SAI_Heure_Fin ALORS Diff est un entier= HeureDifférence(hHeureFin,hHeureDébut) TempsTravailCentième est une Heure="000000000" TempsTravailCentième..Seconde+=(Diff/100) SAI_Durée_Travail_Centième = TempsTravailCentième SINON Diff est un entier= HeureDifférence(hHeureDébut,hHeureFin) TempsTravailCentième est une Heure="000000000" TempsTravailCentième..Seconde+=(Diff/100) SAI_Durée_Travail_Centième = TempsTravailCentième FIN
|
| |
| |
| | | |
|
| | |
| |
Membre enregistré 395 messages Popularité : +13 (13 votes) |
|
Posté le 20 mars 2020 - 10:31 |
Bonjour,
Il y a un souci dans votre algorithme.
Vous faite un HeureDifférence(hHeureDébut,hHeureFin), vous récupérez une durée en centième de secondes, que vous divisez par 100 (l'unité devient donc des secondes), puis l'ajoutez dans les secondes d'une variable de type durée initialisée à 0. Pour moi ce n'est rien d'autre qu'une façon très alambiquée de faire "SAI_Durée_Travail_Centième = hHeureFin - hHeureDebut"
Est-ce un format en centième d'heure que vous voulez afficher ? Si oui il vous manque une division par 60 (si votre unité de base est la minute) ou par 3600 (si l'unité est la seconde) quelque part dans votre code. |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 66 messages Popularité : +0 (2 votes) |
|
Posté le 20 mars 2020 - 16:22 |
Bonjour Benjamin
Quand "SAI_Durée_Travail_Heure" = "10:15" Dans "SAI_Durée_Travail_Centième", je cherche à récupérer "10:25"
Merci de l'aide |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 66 messages Popularité : +0 (2 votes) |
|
Posté le 20 mars 2020 - 16:24 |
Bonjour Benjamin
Quand "SAI_Durée_Travail_Heure" = "10:15" Dans "SAI_Durée_Travail_Centième", je cherche à récupérer "10,25"
Merci de l'aide |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 395 messages Popularité : +13 (13 votes) |
|
Posté le 20 mars 2020 - 17:22 |
Je comprends bien l'idée, et j'ai expliqué dans mon message précédent ce qu'il manquait pour y parvenir. Comme on passe du gramme au kilogramme en divisant par mille (2000g = 2000/1000 = 2kg), on passe de la minute à l'heure en divisant par 60 (15 min = 15/60 = 0.25h).
Autre solution, si vous avez déjà une variable de type Durée, utiliser directement la propriété ..EnHeures qui fait le calcul pour vous. Pratique quand on a la flemme Documentation de la propriété : https://doc.pcsoft.fr/fr-FR/?1000017296&1000017296 |
| |
| |
| | | |
|
| | |