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

C++Builder Discussion :

Optimisation d'un Affichage de Pourcentage


Sujet :

C++Builder

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2004
    Messages
    94
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 94
    Par défaut Optimisation d'un Affichage de Pourcentage
    Bonjour,

    J'ai une boucle dans une fonction qui est longue à faire,
    Pour cela je voudrais informer l'utilisateur par l'affichage d'un pourcentage pour connaitre l'état du process,
    Ma boucle n'a que 3 linges de code dedans mais le fait de rajouter
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Label_Pourcent->Caption = "En cours : " + AnsiString(iPoucent) + " %";
    Application->ProcessMessages();
    ralentie mon code et donc j'aurai voulu savoir si une optimisation avec un objet TTimer qui questionne la boucle toutes les secondes était plus optimisée ?
    Est-que c'est correcte ou est-ce que ça déstructure le code de rajouter un TTimer qui interrompt une boucle ?
    Y'a t-il une autre méthode mieux codée ???

    Merci de vos réponses !

  2. #2
    Membre éclairé Avatar de kurul1
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    934
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 934
    Par défaut
    Essaye avec un thread.
    Tu met ta boucle dans un thread, et pour l'affichage, il te suffit de lire ton porcentage dans ton Thread et de l'afficher.

    Ainsi cela n'interrompt pas ta boucle.

  3. #3
    Membre très actif Avatar de nirgal76
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2007
    Messages
    923
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 923
    Par défaut
    Si tu ne veux pas te lancer dans un thread, tu peux ne mettre à jour que lorsque le pourcentage à changé de manière significative (tous les 1 %).
    tu test l'écart entre l'ancienne et la nouvelle valeur et tu ne mets à jour le caption et le processMessage (ce qui prends beaucoup de temps comme tout ce qui est affichage) que s'il y a eu changement des digits entiers.
    Mais pour des questions d'affichages et de perf, le mieux est le thread bien entendu.

  4. #4
    Membre Expert

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    1 407
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 407
    Par défaut
    Salut !

    Ca reste faisable dans la boucle en traitant à partir du nombre d'itérations.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    int max ... //nombre d'itérations
    int nb = max / 100;
    int Count = 1; // pour afficher "0% accomplis"
    for(int j =0; j < max; j++)
        {
        Count--;
        if(Count ==0)
            {
            Count = nb;
            // Echo
            //...
            Application->ProcessMessages();
            }
        //Traitement
        //..
        }
    Ici, la boucle sera donc interrompue 100 fois (pour max >= 100) !
    Donc ... on peut faire moins comme on peut faire plus !

    A plus !

Discussions similaires

  1. affichage des pourcentages sur un camembert
    Par asma_tn dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 28/05/2009, 02h08
  2. [Conception] Affichage du pourcentage de réponses d'une table
    Par jehhej dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 30/08/2006, 12h24
  3. [Probleme Changé]Optimisation de l'affichage de jeu
    Par RadicalBob dans le forum Langage
    Réponses: 23
    Dernier message: 18/06/2006, 04h07
  4. Réponses: 2
    Dernier message: 01/06/2006, 12h41
  5. Affichage etiquette-pourcentage graphique
    Par alexbubs dans le forum Access
    Réponses: 1
    Dernier message: 24/10/2005, 09h30

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