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 :

Comment se servir du ttimer?


Sujet :

Delphi

  1. #1
    Membre habitué Avatar de Jayceblaster
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    420
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2005
    Messages : 420
    Points : 174
    Points
    174
    Par défaut Comment se servir du ttimer?
    bonjour a tous,

    Voila je souhaite qu'entre l'exécution de 2 instructions sécoule 5 seconde... J'ai donc pris le ttimer mais je n'y arrive pas. J'arrive simplement a lui dire que toutes les 5 seconde il déclenche un événement particulier mais pas qu'il me permette d'exécuter 2 instruction en attendant 5 seconde entre les 2...

    Comment dois je faire cela?

    merci d'avance
    Heureux est l'étudiant qui, comme la rivière, arrive à suivre son cours sans sortir de son lit........

  2. #2
    Membre éclairé
    Avatar de denokan
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2002
    Messages
    434
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2002
    Messages : 434
    Points : 746
    Points
    746
    Par défaut
    voici un petit exemple qui vaut de longs discours :
    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
    18
    19
     
    procedure TForm1.disBeep;
    begin
      Beep;
      Dec(nbLancements);
      Timer1.Enabled := nbLancements > 0;
    end;
     
    procedure TForm1.Timer1Timer(Sender: TObject);
    begin
      disBeep;
    end;
     
    procedure TForm1.Button1Click(Sender: TObject);
    begin
      nbLancements := SpinEdit1.Value;
      Timer1.Enabled := True;
      disBeep;
    end;
    Donnez un poisson à un homme et il mangera pendant un jour... Apprenez-lui à pêcher et il s'assiéra dans une barque et boira de la bière toute la journée

  3. #3
    Membre expert
    Avatar de TicTacToe
    Inscrit en
    Septembre 2005
    Messages
    1 940
    Détails du profil
    Informations personnelles :
    Âge : 51

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 940
    Points : 3 575
    Points
    3 575
    Par défaut
    Sinon il y a sleep

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Instruction1
    Sleep( 5000 )
    Instruction2
    Si il n'est pas voulu d'action entre les 2 instructions
    Section Delphi
    La mine d'or: La FAQ, les Sources

    Un développement compliqué paraitra simple pour l'utilisateur, frustrant non ?
    Notre revanche ? l'inverse est aussi vrai ;-)

  4. #4
    Membre éclairé
    Avatar de denokan
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2002
    Messages
    434
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2002
    Messages : 434
    Points : 746
    Points
    746
    Par défaut
    le soucis de Sleep c'est qu'il va bloquer l'application, donc on ne pourra plus la déplacer, si elle est recouverte par autre fenêtre (Messenger par exemple) elle ne se redessinera plus, les boutons et menus seront inactifs, etc... alors qu'avec le timer l'application continue d'effectuer les autres traitements.
    Donnez un poisson à un homme et il mangera pendant un jour... Apprenez-lui à pêcher et il s'assiéra dans une barque et boira de la bière toute la journée

  5. #5
    Membre expert
    Avatar de TicTacToe
    Inscrit en
    Septembre 2005
    Messages
    1 940
    Détails du profil
    Informations personnelles :
    Âge : 51

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 940
    Points : 3 575
    Points
    3 575
    Par défaut
    Tout à fait d'accord Denokan ,

    je présentais l'alternative car il n'a peut être pas besoin que l'application continue pendant la pause, je sais pas ?

    Sinon, mieux vaut un application.ProcessMessages, avant le sleep et/ou des refresh avant la pause, tu as raison pour le ré-affichage des composants.

    mais bon, on sait pas ce qu'il veut faire avec cette pause donc ... ?
    Section Delphi
    La mine d'or: La FAQ, les Sources

    Un développement compliqué paraitra simple pour l'utilisateur, frustrant non ?
    Notre revanche ? l'inverse est aussi vrai ;-)

  6. #6
    Membre habitué Avatar de Jayceblaster
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    420
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2005
    Messages : 420
    Points : 174
    Points
    174
    Par défaut
    pourquoi quand je fais ca:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
      Edit1.text := 'bonjour';
      sleep(10000);
      Edit1.text := 'Au revoir';
    ca ne marche pas. En effet le tedit n'affiche jamais 'bonjour' apres 10 seconde il affiche simplement 'au revoir'

    le sleep pourrait convenir dans mon cas
    Heureux est l'étudiant qui, comme la rivière, arrive à suivre son cours sans sortir de son lit........

  7. #7
    Expert éminent Avatar de Graffito
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5 993
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 993
    Points : 7 903
    Points
    7 903
    Par défaut
    Bonjour,

    en mettant edit1.repaint avant le sleep, ca devrait marcher.
    " Le croquemitaine ! Aaaaaah ! Où ça ? " ©Homer Simpson

  8. #8
    Membre expert
    Avatar de TicTacToe
    Inscrit en
    Septembre 2005
    Messages
    1 940
    Détails du profil
    Informations personnelles :
    Âge : 51

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 940
    Points : 3 575
    Points
    3 575
    Par défaut
    +1 graffito
    Denokan avait raison
    c'est pour ca que

    Sinon, mieux vaut un application.ProcessMessages, avant le sleep et/ou des refresh avant la pause, tu as raison pour le ré-affichage des composants.
    Section Delphi
    La mine d'or: La FAQ, les Sources

    Un développement compliqué paraitra simple pour l'utilisateur, frustrant non ?
    Notre revanche ? l'inverse est aussi vrai ;-)

Discussions similaires

  1. Réponses: 9
    Dernier message: 09/02/2010, 23h59
  2. Réponses: 8
    Dernier message: 29/07/2006, 16h02
  3. comment se servir de dirent.h ?
    Par gronaze dans le forum C
    Réponses: 3
    Dernier message: 26/07/2006, 16h40
  4. [LoginModule][Jboss] Comment se servir des Login Module ?
    Par kurtalis dans le forum Wildfly/JBoss
    Réponses: 8
    Dernier message: 11/05/2006, 11h01
  5. Comment se servir de la tangente en c++?
    Par c++debut dans le forum C++
    Réponses: 1
    Dernier message: 08/04/2006, 11h52

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