|
| Durée dans une table et le démarré via programmation |
| Iniciado por Maxime, 27,ago. 2019 09:37 - 7 respuestas |
| |
| | | |
|
| |
Miembro registrado 106 mensajes |
|
| Publicado el 27,agosto 2019 - 09:37 |
Bonjour ,
Je possède une table comportant un certains nombre de colonne et je souhaite pouvoir via programmation démarré une durée dans ma table selon une valeur reçu notamment une valeur d'état machine ( 0 , 1 , 2 , 4 , 8 ) .
Je souhaite pouvoir démarré ma durée selon l'état 2 et 4 tant qu'on reviens pas sur l’état 1 continué et si l'état 1 surgi faire une RAZ de ma durée mais je ne sais pas trop quel fonction permet de démarré cette durée .
Avez vous des idées ?
Merci d'avance Cordialement M.P |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 4.361 mensajes |
|
| Publicado el 27,agosto 2019 - 10:16 |
Bonjour, Maxime a écrit :
je ne sais pas trop quel fonction permet de démarré cette durée .
Moi non plus, il manque des précisions. Souhaites tu enregistrer une durée ou démarrer une procédure/fonction ? Est-ce un champ table ou une table ?
-- Il y a peut être plus simple, mais, ça tourne |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 106 mensajes |
|
| Publicado el 27,agosto 2019 - 10:20 |
Bonjour ,
Pour l'instant je ne pense pas l'enregistré mais juste l'affiché pour avertir de la durée de non fonctionnement d'une machine pour intervenir dessus. ma durée est une colonne dans ma table donc je dirai un champ table . ( il y a plusieurs colonne dans cette même table 31 colonnes il me semble )
Cordialement M.P |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 4.361 mensajes |
|
| Publicado el 27,agosto 2019 - 10:23 |
Comment est rempli ton champ table ?
-- Il y a peut être plus simple, mais, ça tourne |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 106 mensajes |
|
| Publicado el 27,agosto 2019 - 10:29 |
Il est rempli via une requête qui s'actualise toutes les 10 secondes mais le champs durée est à part de cette requête. Je souhaitais le faire démarré via programmation .
Cordialement M.P |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 106 mensajes |
|
| Publicado el 27,agosto 2019 - 12:56 |
Pour être précis je souhaite faire une sorte d'indicateur de temps selon l’état de chaque machine comme un chrono mais en temps réel . SI j'ai l'état 1 le temps reste a 0 mais si j'ai l'état 2 admettons le temps s'incrémente de 1 toutes les secondes et affiche un temps en minute dans l'idéal
Cordialement M.P |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 166 mensajes |
|
| Publicado el 27,agosto 2019 - 16:27 |
Bonjour;
En utilisant les fonctions ----- HeureDifférence () ----- ou bien ----- DateHeureDifférence () ----- et Timersys()
Bon Dev |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 4.361 mensajes |
|
| Publicado el 27,agosto 2019 - 19:59 |
Dans la mesure où le rafraîchissement,donc l'affichage de la valeur de l'état, se fait toute les 10 secondes, et surtout que l'affichage de la durée est en minute, un appel de l'affichage de la durée toutes les secondes me semble inutile et vas surcharger inutilement la machine. On va au contraire profiter du rafraîchissement pour afficher la nouvelle durée. Tout va se faire dans l'affichage des lignes. Commençons par ajouter une nouvelle colonne de type durée (e.g. COL_Indisponibilité) et choisissons le masque approprié. (Afin d'éviter des affichage 0:00:00, on pensera à cocher "Mise à blanc si zéro" et "Null si vide")
Dans le code d'initialisation de la fenêtre, définissons un tableau associatif de DateHeure (e.g. gtaIndisponibilité,) c'est là que nous stockerons le début de l'indisponibilité.
Le code de Affichage d'une ligne de ... devient
nIDMachineEnCours est entier sur 8 octets dhPanne est une DateHeure sDuréePanne est une chaîne nLigneEnCours est un entier
nIDMachineEnCours=REQ_EtatMachine.PK_Machine dhPanne..PartieDate=DateDuJour() dhPanne..PartieHeure=Maintenant() nLigneEnCours=IndiceEnCours()
SELON COL_NDX_Etat CAS 0,8 COL_Indisponibilité[nLigneEnCours]..CouleurFond=CouleurDéfaut CAS 1 TableauSupprime(gtaIndisponibilité,nIDMachineEnCours) COL_Indisponibilité[nLigneEnCours]..CouleurFond=CouleurDéfaut CAS 2,4 SI PAS(gtaIndisponibilité[nIDMachineEnCours]..Existe) ALORS gtaIndisponibilité[nIDMachineEnCours]=dhPanne FIN sDuréePanne=DateHeureDifférence(gtaIndisponibilité[nIDMachineEnCours],dhPanne) COL_Indisponibilité[nLigneEnCours]=ChaîneVersDurée(sDuréePanne,duréeCentième) COL_Indisponibilité[nLigneEnCours]..CouleurFond=RougeClair
FIN
-- Il y a peut être plus simple, mais, ça tourne |
| |
| |
| | | |
|
| | | | |
| | |
|