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 :

procedure pour bloquer des boutons


Sujet :

Delphi

  1. #21
    Rédacteur
    Avatar de evarisnea
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Juin 2005
    Messages
    1 957
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : Transports

    Informations forums :
    Inscription : Juin 2005
    Messages : 1 957
    Points : 4 384
    Points
    4 384
    Par défaut
    ok je viens de voir d'où vient le problème, le paramètre Sender est de type TObject, mais les propriétés Components et ComponentCount apparaissent à partir de TComponent.
    il faut donc modifier le code comme ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    procedure DisableTousLesBouton(Sender: TObject; bEtat: Boolean);
    var
      i: integer;
    begin
      if Sender is TComponent then//Components et ComponentCount disponibles pour les descendants de la classe TComponent
      with TComponent(Sender) do
        For i:=0 to ComponentCount-1 do 
           if Components[i] is Tbutton Then
             Tbutton (Components[i]).enabled := bEtat;
    end;
    et pour illustrer tout cela un petit projet
    Fichiers attachés Fichiers attachés

  2. #22
    Aos
    Aos est déconnecté
    Membre habitué

    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    189
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 189
    Points : 187
    Points
    187
    Par défaut
    bien bien bien bien bien joué!!!
    Franchement, je sechais sur le truc, je ne cherchais pas du tout dans la bonne direction

    Merci beaucoup en tout cas!

  3. #23
    Rédacteur
    Avatar de evarisnea
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Juin 2005
    Messages
    1 957
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : Transports

    Informations forums :
    Inscription : Juin 2005
    Messages : 1 957
    Points : 4 384
    Points
    4 384
    Par défaut

  4. #24
    Aos
    Aos est déconnecté
    Membre habitué

    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    189
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 189
    Points : 187
    Points
    187
    Par défaut
    Par contre, je mets quoi a la place de Sender quand j'appel la procedure ?
    J'ai betement mis maProcedure(sender,false); et ça ne marche pas.

  5. #25
    Rédacteur
    Avatar de evarisnea
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Juin 2005
    Messages
    1 957
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : Transports

    Informations forums :
    Inscription : Juin 2005
    Messages : 1 957
    Points : 4 384
    Points
    4 384
    Par défaut
    tout composant qui contiendra des boutons.
    dans l'exemple que j'ai posté, il s'agit de Formes, mais tu peux aussi mettre des Panels, des ScrollBox, etc...

  6. #26
    Aos
    Aos est déconnecté
    Membre habitué

    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    189
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 189
    Points : 187
    Points
    187
    Par défaut
    donc par exemple :
    modifieEtatDesBoutons(form1,true);
    ou
    modifieEtatDesBoutons(form1,false);
    d'apres ton exemple
    Mais moi ça n'agit pas

  7. #27
    Rédacteur
    Avatar de evarisnea
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Juin 2005
    Messages
    1 957
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : Transports

    Informations forums :
    Inscription : Juin 2005
    Messages : 1 957
    Points : 4 384
    Points
    4 384
    Par défaut
    ça te donne quoi comme message d'erreur ?
    tu peux poster ton code ?

  8. #28
    Aos
    Aos est déconnecté
    Membre habitué

    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    189
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 189
    Points : 187
    Points
    187
    Par défaut
    ça m'embete lol parce que ton exemple est nickel et complet, je fais pareil
    et il delire je cherche je cherche

  9. #29
    Aos
    Aos est déconnecté
    Membre habitué

    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    189
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 189
    Points : 187
    Points
    187
    Par défaut
    La procedure dans une unité "uniteDeTri".

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    procedure modifieEtatDesBoutons(Sender: TObject; bEtat: Boolean);
    var
      i: integer;
    begin
      if Sender is TComponent then//Components et ComponentCount disponibles pour les descendants de la classe TComponent
      with TComponent(Sender) do
        For i:=0 to ComponentCount-1 do
           if Components[i] is Tbutton Then
             Tbutton (Components[i]).enabled := bEtat;
    end;
    Ensuite, dans une form, je fais uses uniteDeTri et tout ce que j'ai besoin d'autre et je fais betement

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    procedure TForm1.BitBtn5Click(Sender: TObject);
    begin
      modifieEtatDesBoutons(form1,true);
    end;
    Et je n'ai pas de message d'erreur, ça n'agit pas c'est tout

  10. #30
    Rédacteur
    Avatar de evarisnea
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Juin 2005
    Messages
    1 957
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : Transports

    Informations forums :
    Inscription : Juin 2005
    Messages : 1 957
    Points : 4 384
    Points
    4 384
    Par défaut
    et ......
    il active tes boutons non ?

    pour les désactiver c'est bEtat à False;

  11. #31
    Aos
    Aos est déconnecté
    Membre habitué

    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    189
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 189
    Points : 187
    Points
    187
    Par défaut
    oui oui evidement

    Je viens de trouver la raison.
    Ca me parait bizzarre (mais je suis sur qu'a toi non )

    merci a+

  12. #32
    Aos
    Aos est déconnecté
    Membre habitué

    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    189
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 189
    Points : 187
    Points
    187
    Par défaut
    Je plaisante evidemment, je vais expliquer

    Normalement, si je ne charge pas ce dont j'ai besoin dans mon uses, le compilateur refuse de compiler.
    "Forms" etait absent dans mon unité, pourtant elle compilait correctement mais ne fonctionnait pas. Je viens de rajouter le form et la tout marche nickel.

    voili voulou
    bizzarre or not ?

  13. #33
    Rédacteur
    Avatar de evarisnea
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Juin 2005
    Messages
    1 957
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : Transports

    Informations forums :
    Inscription : Juin 2005
    Messages : 1 957
    Points : 4 384
    Points
    4 384
    Par défaut
    Citation Envoyé par Aos
    Je plaisante evidemment, je vais expliquer

    Normalement, si je ne charge pas ce dont j'ai besoin dans mon uses, le compilateur refuse de compiler.
    "Forms" etait absent dans mon unité, pourtant elle compilait correctement mais ne fonctionnait pas. Je viens de rajouter le form et la tout marche nickel.

    voili voulou
    bizzarre or not ?
    absolument pas.
    dans l'unité, il est fait référence à une classe nommée TForm. il faut donc au compilo les informations concernant cette classe, et ces infos se trouvent dans l'unité Forms. pareil pour toutes les autres classes et symboles utilisés.

  14. #34
    Aos
    Aos est déconnecté
    Membre habitué

    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    189
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 189
    Points : 187
    Points
    187
    Par défaut
    Bah oui mais par exemple, si je ne charge rien dans une unité et que je fais un
    inttostr(), il va refuser de compiler si je ne mets pas sysutils.
    Il genere une erreur genre : identificateur non declarés (en parlant de inttostr).

    C'est pour ça que le fait qu'il n'y ait pas d'erreur de compilation sans uses Forms; m'a parut bizzarre. M'enfin, ça doit etre un truc que j'ai compris qu'a moitié

  15. #35
    Rédacteur
    Avatar de evarisnea
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Juin 2005
    Messages
    1 957
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : Transports

    Informations forums :
    Inscription : Juin 2005
    Messages : 1 957
    Points : 4 384
    Points
    4 384
    Par défaut
    bizarre en effet, chez moi il me l'a réclamé pourtant.

    quelqu'un de plus éclairé aurait'il une explication ?

  16. #36
    Aos
    Aos est déconnecté
    Membre habitué

    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    189
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 189
    Points : 187
    Points
    187
    Par défaut
    Alors la c'est le ponpon, je viens de l'enlever mon uses Forms et tout marche quand meme.

    vraiment incomprehensible...

  17. #37
    Rédacteur
    Avatar de evarisnea
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Juin 2005
    Messages
    1 957
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : Transports

    Informations forums :
    Inscription : Juin 2005
    Messages : 1 957
    Points : 4 384
    Points
    4 384
    Par défaut
    une minute !

    ton unité fait elle référence à la classe TForm ?
    s'il s'agit du code de la procédure plus haut (avec Sender, Tcomponent et tout...) elle n'utilise cette classe à aucun moment

  18. #38
    Aos
    Aos est déconnecté
    Membre habitué

    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    189
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 189
    Points : 187
    Points
    187
    Par défaut
    Alors je viens d'enlever mes unités au fur et a mesure.
    J'ai effectivement pas besoin de Forms finalement. Seule strCtrls(pour le type TBUtton et Classes sont nécessaire.

    Et d'ailleurs dans ton exemple, Unit2 n'en a pas besoin non plus, il compile et fonctionne

    ouff... on va bien finir par y arriver

  19. #39
    Rédacteur
    Avatar de evarisnea
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Juin 2005
    Messages
    1 957
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : Transports

    Informations forums :
    Inscription : Juin 2005
    Messages : 1 957
    Points : 4 384
    Points
    4 384
    Par défaut
    Citation Envoyé par Aos
    Et d'ailleurs dans ton exemple, Unit2 n'en a pas besoin non plus, il compile et fonctionne
    oui je m'en suis rendu compte lors de mon post précédent

    alors, résolu ?

  20. #40
    Aos
    Aos est déconnecté
    Membre habitué

    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    189
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 189
    Points : 187
    Points
    187
    Par défaut
    Yes yes resolu

    RerereMerci beaucoup!

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 3 PremièrePremière 123 DernièreDernière

Discussions similaires

  1. Regrouper les procédure pour appeler des boutons
    Par Nanit6 dans le forum Excel
    Réponses: 11
    Dernier message: 09/08/2007, 10h35
  2. variable globale pour griser des boutons de commande
    Par ben5985 dans le forum Access
    Réponses: 5
    Dernier message: 24/11/2006, 11h34
  3. Site pour télécharger des boutons
    Par joquetino dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 20/06/2006, 11h25
  4. Réponses: 7
    Dernier message: 17/05/2006, 14h49
  5. utiliser des morceaux d'une image pour faire des boutons
    Par Battosaiii dans le forum Interfaces Graphiques en Java
    Réponses: 7
    Dernier message: 14/12/2005, 00h05

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