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

Lazarus Pascal Discussion :

[Lazarus] Attendre l'appui sur un bouton [Non suivi]


Sujet :

Lazarus Pascal

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 5
    Points : 5
    Points
    5
    Par défaut [Lazarus] Attendre l'appui sur un bouton
    Bonjour,

    J'ai pas mal cherché, mais là je sèche : comment peut-on attendre que l'utilisateur appuie sur un bouton pour continuer l'execution d'une fonction ?


    Dans mon programme, j'ai une fonction Choix qui affiche un TRadioGroup et un bouton. Lorsque l'utilisateur appuie sur le bouton, la fonction renvoie l'état du TRadioGroup, ce qui permet d'avoir une fonction générique pour recueillir le choix d'un utilisateur.
    Si attendre l'appui sur le bouton n'est pas possible, comment est-ce que je pourrais m'en passer ? Je ne voit pas non plus comment faire.

  2. #2
    Membre éclairé

    Inscrit en
    Avril 2003
    Messages
    284
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 284
    Points : 773
    Points
    773
    Par défaut
    Bonjour.
    Tu peux, par exemple, ecrire ta fonction en deux parties et créer un bouton inactif.
    A la fin du traitement de ta première fonction tu actives le bouton, et tu lances la deuxième partie sur le click de ce dernier...

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 5
    Points : 5
    Points
    5
    Par défaut
    Bonjour,

    Merci de ton aide.

    J'ai réussit à me débrouiller comme tu le suggère, mais je trouve ça beaucoup moins élégant qu'une instruction permettant d'attendre : ma fonction choix peut-être appelé de plusieurs endroits différents, et ils faut donc passer des paramètre permettant de d'appeller la bonne deuxième partie de la fonction lors du clic sur le bouton. Enfin s'il n'y a pas d'autre solution...

  4. #4
    Membre éclairé
    Inscrit en
    Avril 2007
    Messages
    667
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Avril 2007
    Messages : 667
    Points : 870
    Points
    870
    Par défaut
    Bonjour,
    Je debute en Pascal mais pourquoi pas quelque chose comme ca:
    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
    var ValiderChoix:boolean;
    function ....
    ValiderChoix:=False;
    //affichage du TRadioGroup et du bouton
     
     while ValiderChoix = false do
      //rien
     end;
     
    //suite de la fonction
    end;
     
    Procedure BoutonClick...
    begin
    ValiderChoix=Not(ValiderChoix);
    end;
    Encore une fois, je debute Mais il me semble que d'un point de vue algoritmique ca se tient.

  5. #5
    Membre éclairé

    Inscrit en
    Avril 2003
    Messages
    284
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 284
    Points : 773
    Points
    773
    Par défaut
    Voici la methode pour récupérer l'état des boutons d'un Tradiogroup :
    la propriété TitemIndex contient le numero du bouton selectionné

    Voici un exemple avec un Tradiogroup contenant trois boutons, jaffiche leur état dans une TStatutBar...

    Pour se faire, j'affiche l'état à la création de la fenetre, puis à chaque click sur le TradioGroup :

    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
    20
    21
    22
    var
      Form1: TForm1; 
      RadioButonEnCours : byte;
    implementation
     
    { TForm1 }
     
    procedure RaffraichirAffichage;
    begin
        RadioButonEnCours := form1.radiogroup1.ItemIndex;
        form1.Statusbar1.panels[0].text := '   le controle en cours est le bouton '+ inttostr(RadiobutonEnCours);
    end;
     
    procedure TForm1.RadioGroup1Click(Sender: TObject);
    begin
        RaffraichirAffichage
    end;
     
    procedure TForm1.FormCreate(Sender: TObject);
    begin
        RaffraichirAffichage
    end;
    Voilà, tu sais récupérer le numéro du bouton en cours, à toi de coder la suite...

    Bonne programmation

    Clandestino
    Images attachées Images attachées  

Discussions similaires

  1. service windows et detection d'appui sur le bouton "del" du clavier?
    Par Jayceblaster dans le forum Windows Forms
    Réponses: 25
    Dernier message: 06/11/2007, 16h32
  2. Tester l'appui sur un bouton de 3s
    Par themacprod dans le forum C
    Réponses: 5
    Dernier message: 31/05/2007, 11h01
  3. Réponses: 14
    Dernier message: 25/06/2006, 19h18
  4. Intercepter l'appuie sur le bouton "Envoyer" d'Outlook
    Par Charette dans le forum API, COM et SDKs
    Réponses: 3
    Dernier message: 14/10/2005, 14h24
  5. Comment détecter quand un utilisateur appuie sur le bouton Power ?
    Par Millenod dans le forum API, COM et SDKs
    Réponses: 7
    Dernier message: 22/09/2005, 21h05

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