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

Bases de données Delphi Discussion :

Application.ProcessMessages dans une table


Sujet :

Bases de données Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de sondo
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Août 2004
    Messages
    540
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Burkina Faso

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Service public

    Informations forums :
    Inscription : Août 2004
    Messages : 540
    Par défaut Application.ProcessMessages dans une table
    J'ai vu code dans le faq delphi:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    procedure TForm1.ButtonMarcheClick(Sender: TObject);
    var i : integer;
    begin
      { Mise à faux de l'arrêt }
      Stop := False;
      I    := 0;
      { Traitement long }
      Repeat
        Inc(i);
        Label1.Caption := IntToStr(i);
        { Mise à jour des évènements en attente }
        Application.ProcessMessages;
      Until (i >= 100000000) or stop
    end;
    Par exemple, comment faire compter le nombre d'enregistrement dans une table en utilisant le code ci-dessus afin que l'utilisateur puisse suivre le déroulement du traitement ?
    Merci d'avance.

  2. #2
    Membre chevronné
    Inscrit en
    Octobre 2005
    Messages
    338
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 338
    Par défaut
    bonsoir

    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
     
    procedure TForm1.ButtonMarcheClick(Sender: TObject);
    var i : integer;
    begin
      i := 0;
      Stop := False;
      with tatable do begin  //  active
        first;
        while not eof and stop do begin
          inc(i);
          edit1.text := IntToStr (i);
          Application.ProcessMessages;
          next;
        end;
      end;
    en fonction de la taille de ta table ça risque d'être long et illisible
    sinon:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    procedure TForm1.ButtonMarcheClick(Sender: TObject);
    begin
       edit1.text := IntToStr (tatable.recordcount);
    end;
    sera beaucoup plus rapide!

    à plus!

  3. #3
    Membre éclairé Avatar de sondo
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Août 2004
    Messages
    540
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Burkina Faso

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Service public

    Informations forums :
    Inscription : Août 2004
    Messages : 540
    Par défaut
    Merci à toi.
    Voici ce que je constate pour le premier code :rien ne se passe quand je clique sur le bouton, le Edit1 reste vide.
    Pour le second code(Matable.recordcount), quand on clique sur le bouton, il affiche directement le nombre, sans qu'on ne voit voit l'incrémentation se dérouler dans le Edit1; comme le ferai Application.ProcessMessage;

  4. #4
    Membre chevronné
    Inscrit en
    Octobre 2005
    Messages
    338
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 338
    Par défaut
    bonjour
    ça va être dûr, car je viens de voir sur le forum delphi:

    le Application.ProcessMessages ne sert qu'a laisser passer les messages windows pour le rafraichissement de ta form et les applications à coté.
    il faut faire un essai avec un DbEdit (sans disablecontrol)

    à plus!

  5. #5
    Membre éclairé Avatar de sondo
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Août 2004
    Messages
    540
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Burkina Faso

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Service public

    Informations forums :
    Inscription : Août 2004
    Messages : 540
    Par défaut
    Alors là, ca va être difficile pour moi. Car tu viens de me parler de quelque chose de nouveau, à savoir l'usage de DBEdit(sans disablecontrol).
    Si ce n'est pas trop vous demander, pouvez-vous me donner un exemple?
    Merci.

  6. #6
    Modérateur
    Avatar de Rayek
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    5 236
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 236
    Par défaut
    Citation Envoyé par banban54
    bonjour
    ça va être dûr, car je viens de voir sur le forum delphi:
    le Application.ProcessMessages ne sert qu'a laisser passer les messages windows pour le rafraichissement de ta form et les applications à coté.
    Tient, je crois que c'est moi qui est écrit cela

    Sinon pour revenir sur le sujet, Sondo :

    - Qu'est ce que tu veux montrer à l'utilisateur ?
    - La progression du traitement quand tu fais un table.open ?
    - Afficher le nombre d'enregistrements de la table ?
    - Faire défiler les nombres dans un label de 0 jusqu'au nombre d'enregistrements de la table ?
    Modérateur Delphi

    Le guide du bon forumeur :
    __________
    Rayek World : Youtube Facebook

  7. #7
    Membre éclairé Avatar de sondo
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Août 2004
    Messages
    540
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Burkina Faso

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Service public

    Informations forums :
    Inscription : Août 2004
    Messages : 540
    Par défaut
    voilà ce que je veux en premier :
    - Faire défiler les nombres dans un label de 0 jusqu'au nombre d'enregistrements de la table.
    Deuxièmement :
    - Si possible voir La progression du traitement quand tu fais un table.open.
    Merci.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Déterminer la Valeur la plus grande dans une table
    Par arnaud_verlaine dans le forum Langage SQL
    Réponses: 9
    Dernier message: 22/08/2014, 23h35
  2. Réponses: 3
    Dernier message: 26/03/2009, 15h08
  3. Réponses: 7
    Dernier message: 29/09/2008, 15h44
  4. Recherche de donnee dans une table associée
    Par josoft dans le forum Requêtes
    Réponses: 2
    Dernier message: 14/07/2003, 15h22
  5. Comment stocker un ficher dans une table postgres
    Par josoft dans le forum Requêtes
    Réponses: 3
    Dernier message: 23/06/2003, 16h41

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