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

 Delphi Discussion :

Temporisation pendant traitement


Sujet :

Delphi

  1. #1
    Membre à l'essai
    Inscrit en
    Septembre 2002
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 36
    Points : 17
    Points
    17
    Par défaut Temporisation pendant traitement
    Bonjour, sauriez vous m'indiquer quels seraient les meilleurs composants pour afficher un petit message à l'utilisateur pour le faire patienter lorsqu'un traitement batch s'exécute ? J'aimerais trouver un truc sympa sans forcément faire dans le trop animé si vous voyez ce que je veux dire mais pro quand même si possible. Merci d'avance pour votre aide.
    Bonne continuation
    Cordialement
    Jeff

  2. #2
    Membre éclairé
    Avatar de nostroyo
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    168
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 168
    Points : 680
    Points
    680
    Billets dans le blog
    16
    Par défaut
    L'idéal serait une progressBar puisqu'elle permets à l'utilisateur de connaitre l'avancement de la tâche en plus de le faire patienter. Surtout que les jvprogressbar peuvent avoir un look sympa et très pro.

  3. #3
    Membre expérimenté

    Homme Profil pro
    Inscrit en
    Mars 2004
    Messages
    897
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2004
    Messages : 897
    Points : 1 561
    Points
    1 561
    Par défaut
    Tu peux créer une petite animation comme le propose le site suivant:
    http://www.ajaxload.info/

    Tu la télécharges et puis tu l'incorpores à ton appli.
    Pour l'exécuter je te conseille d'utiliser le composant RxGifAnimator comme le suggère la faq delphi http://delphi.developpez.com/faq/?page=sysimage
    Pensez à utiliser les tags dans le titre.
    Avant de poser une question reportez-vous à la FAQ Delphi
    Respectez les règles du forum.

  4. #4
    Membre à l'essai
    Inscrit en
    Septembre 2002
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 36
    Points : 17
    Points
    17
    Par défaut
    Nickel je vais chercher une progressbar qui soit tip-top en espérant pouvoir la gérer correctement (j'ai toujours un peu de mal avec ce genre de composants ... ), merci pour ces bons tuyaux !

  5. #5
    Modérateur

    Homme Profil pro
    Ingénieur retraité
    Inscrit en
    Octobre 2005
    Messages
    2 396
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur retraité

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 396
    Points : 3 263
    Points
    3 263
    Par défaut
    Bonjour,

    Tu peux aussi faire plus simple : un texte disant un truc dans le genre 'Patience ça va venir' et qui défile de la droite vers la gauche comme de la pub dans un TLabel :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    //        Texte défilant dans un TLabel nommé ici labDefile
    procedure TfrmEquas.Timer1Timer(Sender: TObject); // Réduire l'interval du Timer vers 80 à 100
    Const Saut=1;
    begin     labDefile.Caption:= Copy(labDefile.Caption,Saut+1,Length(labDefile.Caption)-Saut)
                                  +Copy(labDefile.Caption,1,Saut) ;
    end;
    A+

    EDIT : Un oubli : dans mon exemple il s'agit d'un texte qui défile en permanence. Pour faire patienter uniquement le temps que dure un traitement suffit d'un boolean 'traitement_en_cours' et de modifier le code précédent comme suit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    //        Texte défilant dans un TLabel nommé ici labDefile
    var       traitement_en_cours : boolean;
    procedure TfrmEquas.Timer1Timer(Sender: TObject);
    Const Saut=1;
    begin     if traitement_en_cours 
              then labDefile.Caption:= Copy(labDefile.Caption,Saut+1,Length(labDefile.Caption)-Saut)
                                       +Copy(labDefile.Caption,1,Saut) ;
    end;
    A+
    N'oubliez pas de consulter les FAQ Delphi et les cours et tutoriels Delphi

  6. #6
    Membre à l'essai
    Inscrit en
    Septembre 2002
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 36
    Points : 17
    Points
    17
    Par défaut
    Désolé je n'en ai qu'un en stock de JvProgressBar et il n'a pas l'air si top que ça,voire pire que le ProgressBar d'origine ! Y a t'il des propriétés particulières à activer pour améliorer son rendu visuel svp ? Encore merci

  7. #7
    Membre chevronné

    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    1 519
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 1 519
    Points : 2 153
    Points
    2 153
    Billets dans le blog
    1
    Par défaut
    Essayer de modifier l'aspect visuel avec le TXPManifest ?
    La FAQ - les Tutoriels - Le guide du développeur Delphi devant un problème

    Pas de sollicitations techniques par MP -

  8. #8
    Membre à l'essai
    Inscrit en
    Septembre 2002
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 36
    Points : 17
    Points
    17
    Par défaut
    pas de trace dans mon Delphi 6 par contre j'ai trouvé JvgProgress1, JvProgressComponent, JvProgressDialog, JvWaitingGradient, JvSpecialProgress, JvWaitingProgress mais ils ne semblent pas fonctionner comme la ProgressBar avec le max et la gestion de la position !
    si quelqu'un avait un bout de code pour utiliser un de ces composents ce serait nickel ... thanks

  9. #9
    Expert éminent sénior

    Avatar de sjrd
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Juin 2004
    Messages
    4 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Suisse

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2004
    Messages : 4 517
    Points : 10 154
    Points
    10 154
    Par défaut
    Citation Envoyé par Pascal Jankowski Voir le message
    Tu peux créer une petite animation comme le propose le site suivant:
    http://www.ajaxload.info/
    Eh c'est génial ce truc Je l'adopte !
    sjrd, ancien rédacteur/modérateur Delphi.
    Auteur de Scala.js, le compilateur de Scala vers JavaScript, et directeur technique du Scala Center à l'EPFL.
    Découvrez Mes tutoriels.

  10. #10
    Membre chevronné

    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    1 519
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 1 519
    Points : 2 153
    Points
    2 153
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par Jeff on the web Voir le message
    pas de trace dans mon Delphi 6
    Ha pardon, ça doit être un composant qui n'est apparut que depuis Delphi 7. Sinon je n'ai pas ces librairies de composants donc je ne peux pas t'aider mais, en toute théorie, l'aide de la JVCL devrait pouvoir t'aider.
    La FAQ - les Tutoriels - Le guide du développeur Delphi devant un problème

    Pas de sollicitations techniques par MP -

  11. #11
    Membre à l'essai
    Inscrit en
    Septembre 2002
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 36
    Points : 17
    Points
    17
    Par défaut
    Pour l'instant j'utilise la ProgressBar normale mais quand mon traitement va trop vite (petuts fichiers de temps en temps) ça a à peine le temps de s'afficher !
    Comment pourrais je temporiser un peu la chose que l'utilisateur ait quand même le temps de voir que la machine travaille ? Une sorte de minuteur à règler quelques secondes quand même quoi sinon à quoi ça sert que Ducros ...

  12. #12
    Membre chevronné

    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    1 519
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 1 519
    Points : 2 153
    Points
    2 153
    Billets dans le blog
    1
    Par défaut
    A mon avis si ton traitement est rapide dans certaines conditions je crois que ça ne sert à rien de s'inventer du "faux" temps d'exécution juste pour que l'utilisateur en ait plein la vue. Dès que le traitement est terminé, tu remplis ta barre et tu change le message en indiquant que c'est terminé et tu offres la possibilité à l'utilisateur de cliquer pour sortir du programme ou de la fiche par exemple.
    La FAQ - les Tutoriels - Le guide du développeur Delphi devant un problème

    Pas de sollicitations techniques par MP -

  13. #13
    Membre expert
    Avatar de aityahia
    Homme Profil pro
    CIEPTAL CARS SPA
    Inscrit en
    Mars 2006
    Messages
    1 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Algérie

    Informations professionnelles :
    Activité : CIEPTAL CARS SPA
    Secteur : Transports

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 938
    Points : 3 329
    Points
    3 329
    Par défaut
    Citation Envoyé par Pascal Jankowski Voir le message
    Tu peux créer une petite animation comme le propose le site suivant:
    http://www.ajaxload.info/

    Tu la télécharges et puis tu l'incorpores à ton appli.
    Pour l'exécuter je te conseille d'utiliser le composant RxGifAnimator comme le suggère la faq delphi http://delphi.developpez.com/faq/?page=sysimage
    ou a tu déniché ce truc c'est super sympa.

    @ jef si vous pouvez vous procurer la bibliothèque TMS tu trouvera ton bonheur .

  14. #14
    Membre éclairé
    Avatar de nostroyo
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    168
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 168
    Points : 680
    Points
    680
    Billets dans le blog
    16
    Par défaut
    Ah oui, en effet, c'est pas la jvProgressBar que j'utilise mais celle de DevExpress (payant) qui permet de faire des dégradés de couleur, indiqué le pourcentage de progression... Mais bon la jv a l'air pas mal puisqu'on peut indiquer si la barre est en pause ou si une erreur s'est produite (propriété state)...

    après rien ne t'empêche de mettre une animation et une barre comme quand on installe certaine appli ou jeux, il y a des pubs qui tournent ou des explications sur ce qu'on installe. Attention tout de même a ne pas trop en faire car après ça ne fait plus pro du tout au contraire! surtout si c'est une petite attente(moins d'une minute).

  15. #15
    Expert confirmé
    Avatar de anapurna
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    3 419
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 419
    Points : 5 818
    Points
    5 818
    Par défaut
    salut

    le plus simple serais d'utiliser un thred tans que la requette ne reviens pas
    dans ce thread il te suffit de dessiner ce que tu veut

    @+ Phil
    Nous souhaitons la vérité et nous trouvons qu'incertitude. [...]
    Nous sommes incapables de ne pas souhaiter la vérité et le bonheur, et sommes incapables ni de certitude ni de bonheur.
    Blaise Pascal
    PS : n'oubliez pas le tag

Discussions similaires

  1. [VB.NET] Ignorer Clique pendant traitement
    Par b_lob dans le forum Windows Forms
    Réponses: 9
    Dernier message: 08/08/2006, 10h14
  2. [Système] page d'attente pendant traitement system
    Par Squyrrel dans le forum Langage
    Réponses: 1
    Dernier message: 24/03/2006, 22h09
  3. [JProgressBar] Mauvaise incrémentation pendant traitement
    Par nicolas.pied dans le forum AWT/Swing
    Réponses: 5
    Dernier message: 16/12/2005, 09h17
  4. [JProgressBar] Afficher barre d'attente pendant traitement
    Par Regis.C dans le forum Composants
    Réponses: 10
    Dernier message: 02/09/2005, 16h43
  5. Temporisation pendant verouillage de l'objet matable
    Par Rdjedidene dans le forum Administration
    Réponses: 14
    Dernier message: 09/06/2004, 10h52

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