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 :

[débutant]Faire appel à une action d'une ActionList


Sujet :

C++Builder

  1. #1
    Membre chevronné Avatar de petitours
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Février 2003
    Messages
    1 935
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2003
    Messages : 1 935
    Points : 2 013
    Points
    2 013
    Par défaut [débutant]Faire appel à une action d'une ActionList
    Bonjour,

    Comment peut on faire appel par code, à une action contenue dans une ActionList ?

    Je m'explique :
    Au declenchement d'un evenement, je veux ouvrir un fichier puis faire des actions sur le fichier ouvert

    J'ai donc créé une action standard OpenFile dans une ActionList et dans la methode de l'evenement j'ai placé le code que je souhaite executer une fois le fichier ouvert.

    : Comment faire appel à l'action de l'ActionList au début de la methode de l'evenement ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ActionList2-> ????? ; //je suppose que ca commence comme ca...
    merci beaucoup
    Il y a 10 sortes de personnes dans le monde : ceux qui comprennent le binaire et les autres

  2. #2
    Membre chevronné
    Avatar de Gilles Louïse
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    421
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2002
    Messages : 421
    Points : 1 911
    Points
    1 911
    Par défaut
    En principe, les actions qui se trouvent dans TActionList se connectent à des événements de composants. Or, les noms d'actions se situent dans une liste déroulante en regard de l'événement considéré. Mais peut-être n'ai-je pas compris exactement votre question. Je veux dire qu'en principe on n'appelle pas par code une action d'ActionList, on la câble simplement à un événement, les actions apparaissent dans une liste déroulante.

    À bientôt
    Gilles

  3. #3
    Membre chevronné Avatar de petitours
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Février 2003
    Messages
    1 935
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2003
    Messages : 1 935
    Points : 2 013
    Points
    2 013
    Par défaut
    Bonjour,

    J'ai bien vu que les actions de l'ActionList sont "normalement" selectionnées dans la propriété action des composant. (j'ai lu votre .pdf alinéa 58 )

    En fait c'est surement moi qui pose une question pour faire un truc qui ne se fait pas comme cela normalement...

    pour etre plus large dans la question :
    Dans mon évenement, J'ai besoin de lancer une action standard OpenFile pour recupérer le nom de fichier dans FileName ET ensuite, mais toujours dans le meme evenement, je dois executer du code qui utilise ce nom de fichier.
    : Comment dois je faire pour cela ?

    merci encore
    Il y a 10 sortes de personnes dans le monde : ceux qui comprennent le binaire et les autres

  4. #4
    Membre chevronné
    Avatar de Gilles Louïse
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    421
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2002
    Messages : 421
    Points : 1 911
    Points
    1 911
    Par défaut
    Je ne comprends pas toujours pas votre question, vous dites je dois exécuter du code qui utilise ce nom de fichier, je ne vois pas ce qui peut vous empêcher soit d'écrire le code correspondant à la suite dans l'événement, soit d'appeler une méthode susceptible de faire ce travail. Cette méthode n'étant pas à proprement parler le contenu total d'un événement n'a pas besoin de faire partie de TActionList, ce sera par exemple une méthode de la classe principale. Essayez de reposer votre question et montrez-nous un peu de code.

    À bientôt
    Gilles

  5. #5
    Membre chevronné Avatar de petitours
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Février 2003
    Messages
    1 935
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2003
    Messages : 1 935
    Points : 2 013
    Points
    2 013
    Par défaut
    voici la description de ce que je fais (petit exemple sans interet autre que demonstratif) :

    - creation d'une TActionList et dedans une action standard TFileOpen
    - création d'un bouton
    - j'affecte la propriété Action du bouton avec l'action TFileOpen

    a ce moment là, si j'execute le programme, la fenetre d'ouverture fichier s'ouvre et je peux choisir un fichier apres avoir cliqué sur le bouton, tout va bien.

    - création d'un Label
    - je place ce code dans l'evenement OnClick du bouton :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    void __fastcall TForm1::Button1Click(TObject *Sender)
    {
    Label->Caption = "ca marche !"  ;
    }

    ->a l'execution, le label affiche "ca marche !" quand je clique sur le bouton mais la fenetre de demande d'ouverture programme ne se lance plus !

    - je reaffecte l'action standard TFileOpen à la propriété Action du bouton

    ->a l'execution, la fenetre d'ouverture fichier se lance mais le label n'affiche plus rien

    - je double clique sur le bouton pour editer le code ci dessus déjà ecrit.
    - je relance l'application sans ajouter de code

    ->à l'execution, le label affiche "ca marche !" mais la fenetre d'ouverture fichier ne se lance plus

    c'est donc soit l'un (la fenetre d'ouverture fichier), soit l'autre (le label) suivant que ce c'est l'evenement Action ou l'evenement OnClick que j'ai édité en dernier.


    je souhaite faire un evenement qui lance la fenetre d'ouverture fichier (TFileOpen) et qui execute du code qui utilise le FileName resultat sans avoir à déclencher un autre evenement ;
    En prenant mon exemple simpliste je voudrais que quand on clique sur le bouton, la fenetre d'ouverture fichier se lance puis que le label affiche "ca marche !" sans avoir à cliquer sur quelquechose.

    merci encore
    Il y a 10 sortes de personnes dans le monde : ceux qui comprennent le binaire et les autres

  6. #6
    Membre chevronné Avatar de petitours
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Février 2003
    Messages
    1 935
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2003
    Messages : 1 935
    Points : 2 013
    Points
    2 013
    Par défaut
    bon ben j'ai trouvé tout seul finalement...

    Il suffisait de placer mon code dans l'evenement OnAccept de l'action standard TFileOpen

    ...mais bon ce n'est pas encore très evident pour moi ces choses là...

    merci quand meme d'avoir essayé de me suivre dans mon délir
    Il y a 10 sortes de personnes dans le monde : ceux qui comprennent le binaire et les autres

  7. #7
    Membre chevronné
    Avatar de Gilles Louïse
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    421
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2002
    Messages : 421
    Points : 1 911
    Points
    1 911
    Par défaut
    Je comprends très bien maintenant. Donc, cela prouve qu'il ne faut pas dans ce cas utiliser de fonction standard dans votre TActionList étant donné que vous avez besoin d'un complément. Il faut donc créer une action simple dans TActionList (nouvelle action et non pas nouvelle action standard), vous obtiendrez un événement C++ et vous écrirez le code qui vous convient. Vous utiliserez probablement la fonction FileOpen dans cet évenement et vous continuerez à écrire votre code.

    À bientôt
    Gilles

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

Discussions similaires

  1. Faire passer un objet d'une action a une autre
    Par piotrr dans le forum Struts 2
    Réponses: 24
    Dernier message: 26/05/2008, 17h50
  2. Faire un submit et ouvrir une popup sur une action
    Par identifiant_bidon dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 26/10/2007, 16h00
  3. Réponses: 1
    Dernier message: 19/02/2007, 16h58
  4. Appeler une action dans une action
    Par japz dans le forum Struts 1
    Réponses: 2
    Dernier message: 25/01/2007, 08h48
  5. [Struts] Appel d'une action dans une action
    Par cosmos38240 dans le forum Struts 1
    Réponses: 2
    Dernier message: 16/02/2006, 15h52

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