IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

WinDev Discussion :

Affcher Timer en execution de code


Sujet :

WinDev

  1. #1
    Membre du Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Juin 2012
    Messages
    242
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2012
    Messages : 242
    Points : 56
    Points
    56
    Par défaut Affcher Timer en execution de code
    Bonjour;

    en une fenêtre windev j'avais utilisée un timer pour afficher la durée de l’exécution d'autre code et je utilise la fonction ThreadExécute("TH1", threadNormal, AFFICH_HEURE) en initialiser de fenêtre mais en affichage de fenêtre le compteur de timer reste bloquer en 0 et après l’exécution de l'autre code , le compteur retour en fonctionne et affiche le durée qui le fenêtre prendre pour exécuter l'autre code : par exemple si l'autre code prend 20 s pour s’exécuter le compteur rendre par la valeur 20.
    il y a t'il une solution pour afficher le compteur en marche pendant l’exécution d 'autre code.

    Merci.

    Ridha Ben Abdelaali.

  2. #2
    Expert confirmé
    Avatar de Voroltinquo
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Juin 2017
    Messages
    2 807
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Juin 2017
    Messages : 2 807
    Points : 5 263
    Points
    5 263
    Billets dans le blog
    1
    Par défaut
    Bonjour,
    Regarde du côté de TimerSys

    A la volée :
    ghHeureDébut aura été déclaréé GLOBAL dans ta fenêtre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    PROCEDURE Affiche_Durée()
    SAI_Durée=DuréeVersChaine((HeureSys()-ghHeureDébut),"MM:SS:LL")
    a l'appel de la fonction à chronométrer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    ghHeureDébut=HeureSys()
    TimerSys("Affiche_Durée",1,1)
    FonctionATester()
    FinTimerSys(1)
    Il y a peut-être plus simple, mais ça tourne.
    Quand tout a échoué utilisez l'option RTFM

  3. #3
    Membre du Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Juin 2012
    Messages
    242
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2012
    Messages : 242
    Points : 56
    Points
    56
    Par défaut
    bonjour ca marche sans thread mais en utilisee le Thread le fonction est bloque et retourne seulement si l'autre code executer est terminee.

    Merci.

    Ridha

  4. #4
    Expert confirmé
    Avatar de Voroltinquo
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Juin 2017
    Messages
    2 807
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Juin 2017
    Messages : 2 807
    Points : 5 263
    Points
    5 263
    Billets dans le blog
    1
    Par défaut

    je ne peux pas voir le code de ta fonction Heure-Affich car le problème vient de là
    Il y a peut-être plus simple, mais ça tourne.
    Quand tout a échoué utilisez l'option RTFM

  5. #5
    Membre du Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Juin 2012
    Messages
    242
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2012
    Messages : 242
    Points : 56
    Points
    56
    Par défaut
    bonjour;

    la Procédure est:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    PROCEDURE AFFICH_HEURE()
    BOUCLE
    d2 est une Durée=ChaîneVersDurée(LIB_Duree,duréeMillième)    
     
     
    d2..EnSecondes=d2..EnSecondes+1
     
    LIB_Duree=d2
     
    Multitâche(100)
    FIN


    Merci.

    Ridha

  6. #6
    Expert confirmé
    Avatar de Voroltinquo
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Juin 2017
    Messages
    2 807
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Juin 2017
    Messages : 2 807
    Points : 5 263
    Points
    5 263
    Billets dans le blog
    1
    Par défaut
    Outre le fait que le code de ta boucle est relativement bancal (pas de condition de sortie, déclaration de variable à l'intérieur de la boucle,) il manipule un champ de ta fenêtre. Or la doc stipule :
    Attention : il est interdit de manipuler l'interface (fenêtres, champs, ...) dans un thread secondaire.
    Lorsqu'un thread secondaire doit interagir avec l'utilisateur ou mettre à jour l'interface, il doit utiliser un traitement lancé depuis le thread principal. Ce traitement peut correspondre à :

    une procédure globale du projet ou une procédure locale (d'une fenêtre, ...) appelée par la fonction ExécuteThreadPrincipal,
    le traitement "Demande de mise à jour de l'affichage" d'une fenêtre exécuté grâce à la fonction DemandeMiseAJourIHM.
    Il y a peut-être plus simple, mais ça tourne.
    Quand tout a échoué utilisez l'option RTFM

  7. #7
    Membre du Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Juin 2012
    Messages
    242
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2012
    Messages : 242
    Points : 56
    Points
    56
    Par défaut
    Citation Envoyé par Voroltinquo Voir le message
    Outre le fait que le code de ta boucle est relativement bancal (pas de condition de sortie, déclaration de variable à l'intérieur de la boucle,) il manipule un champ de ta fenêtre. Or la doc stipule :
    Bonjour;

    mais la fonction (ExécuteThreadPrincipal) et (DemandeMiseAJourIHM) ne sont pas trouvable en windev 17.

    Merci.

    Ridha Ben Abdelaali.

  8. #8
    Expert confirmé
    Avatar de Voroltinquo
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Juin 2017
    Messages
    2 807
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Juin 2017
    Messages : 2 807
    Points : 5 263
    Points
    5 263
    Billets dans le blog
    1
    Par défaut
    D'après la doc, https://doc.pcsoft.fr/fr-FR/?1000019...hreadPrincipal, la version mini de ExecuteThreadPrincipal est la V17.
    Le code avec timersys ne s'encombre pas des contraintes des thread
    Il y a peut-être plus simple, mais ça tourne.
    Quand tout a échoué utilisez l'option RTFM

  9. #9
    Membre du Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Juin 2012
    Messages
    242
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2012
    Messages : 242
    Points : 56
    Points
    56
    Par défaut
    Citation Envoyé par Voroltinquo Voir le message
    D'après la doc, https://doc.pcsoft.fr/fr-FR/?1000019...hreadPrincipal, la version mini de ExecuteThreadPrincipal est la V17.
    Le code avec timersys ne s'encombre pas des contraintes des thread
    Bonjour;
    la fonction executethreadPrincipal est decouvert en version 18

    Merci.

    Ridha Ben Abdelaali
    Images attachées Images attachées  

  10. #10
    Expert confirmé
    Avatar de Voroltinquo
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Juin 2017
    Messages
    2 807
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Juin 2017
    Messages : 2 807
    Points : 5 263
    Points
    5 263
    Billets dans le blog
    1
    Par défaut
    En lisant correctement, dans la version 18 elle est maintenant disponible pour les applic app store et android, ce qui veut dire qu'elle est disponible pour la version windows avec une version antérieure à savoir la version 17 cf
    Nom : screenshot_04_30-03-2018.png
Affichages : 680
Taille : 35,7 Ko
    Il y a peut-être plus simple, mais ça tourne.
    Quand tout a échoué utilisez l'option RTFM

  11. #11
    Membre du Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Juin 2012
    Messages
    242
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2012
    Messages : 242
    Points : 56
    Points
    56
    Par défaut
    Bonjour;

    mais reelement cette fonction ne pas trouvee en windev 17 et lorsque j'ecrit cette fonction ,windev detectee une erreur en compilation et ne connait pas cette fonction.

    Merci.

    Ridha Ben Abdelaali.

  12. #12
    Expert confirmé
    Avatar de Voroltinquo
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Juin 2017
    Messages
    2 807
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Juin 2017
    Messages : 2 807
    Points : 5 263
    Points
    5 263
    Billets dans le blog
    1
    Par défaut
    Le seul moyen est donc de passer par TimerSys (qui par ailleurs est moins gourmand en mémoire)
    Il y a peut-être plus simple, mais ça tourne.
    Quand tout a échoué utilisez l'option RTFM

Discussions similaires

  1. Réponses: 4
    Dernier message: 15/12/2005, 18h28
  2. batch qui execute du code
    Par fbu78 dans le forum Access
    Réponses: 2
    Dernier message: 21/09/2005, 22h31
  3. Executer du code binaire au sein d'un programme
    Par Hidekii dans le forum MFC
    Réponses: 13
    Dernier message: 07/09/2005, 22h10
  4. [FLASH MX2004] Rien ne se passe qd j'execute mon code
    Par adilou1981 dans le forum Flash
    Réponses: 2
    Dernier message: 27/07/2005, 23h31
  5. [C#]Comment executer du code qui se trouve dans une string ?
    Par freddyboy dans le forum Windows Forms
    Réponses: 4
    Dernier message: 28/02/2005, 16h31

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo