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 :

Question concernant Procedure


Sujet :

Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2019
    Messages
    182
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2019
    Messages : 182
    Par défaut Question concernant Procedure
    salut dans la form1 j'ai deux composant (CheckBox1 , button1)
    j'ai créer une procedure testCheckBox
    Lors de l'exécution l'erreur suivant apparaît:
    " E2003 Identificateur non déclaré : 'CheckBox1' "

    voila la procedure :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    procedure  testCheckBox  ;
    begin
    if CheckBox1.Checked then
     
       showmessage('CheckBox1 is Checked (oui)')
     
    else
     showmessage('CheckBox1 is not Checked (non)');
    end
    la solution est de déclare paramètre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    procedure  testCheckBox (CheckBox1:TCheckBox) ;
    Ma question est:
    dans la procédure le composant CheckBox1 est Inconnu
    Est-il possible de résoudre des problèmes sans utiliser paramètre de procédure ?

    La raison pour laquelle je pose la question est: Si je veux utiliser un grand nombre de composant dans la procédure, par exemple, 20 composant (CheckBox,combobox.........) Ce serait beaucoup d'écrire est-il dans les paramètres
    Je me suis dit qu'il y avait peut-être un meilleur moyen que celui-ci

  2. #2
    Modérateur
    Avatar de tourlourou
    Homme Profil pro
    Biologiste ; Progr(amateur)
    Inscrit en
    Mars 2005
    Messages
    3 931
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Biologiste ; Progr(amateur)

    Informations forums :
    Inscription : Mars 2005
    Messages : 3 931
    Billets dans le blog
    6
    Par défaut
    Bonjour,
    Il y a 2 cas de figure :
    1. procédure spécifique d'une fiche, qui devrait donc connaître ses composants en en étant une méthode (procedure TForm1.TestCheckBox ) ;
    2. procédure générique, donc passage par paramètre.

    Si ta procédure est semi-générique (c'est le 3ème des 2 cas !) car ne s'intéresse qu'à une fiche à la fois, mais à tous ses composants d'un type donné, le seul paramètre à lui passer peut être la fiche, à charge pour la procédure de filtrer tous ses composants du bon type dans une boucle sur Components[ComponentCount-1].
    Delphi 5 Pro - Delphi 11.3 Alexandria Community Edition - CodeTyphon 6.90 sous Windows 10 ; CT 6.40 sous Ubuntu 18.04 (VM)
    . Ignorer la FAQ Delphi et les Cours et Tutoriels Delphi nuit gravement à notre code !

  3. #3
    Membre très actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2019
    Messages
    182
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2019
    Messages : 182
    Par défaut
    merci tourlourou pour la réponse
    Je suis intéressé par le premier cas
    J'ai essayé la méthode et cela n'a pas fonctionné:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    procedure  testCheckBox  ;
    begin
    if Form1.CheckBox1.Checked then
     
       showmessage('CheckBox1 is Checked (oui)')
     
    else
     showmessage('CheckBox1 is not Checked (non)');
    end

  4. #4
    Membre émérite
    Avatar de Cirec
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    467
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 467
    Par défaut
    Bonjour,

    tourlourou pensait plus à ceci:
    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
    23
    24
    25
    26
    type
      TForm1 = class(TForm)
        CheckBox1: TCheckBox;
        Button1: TButton;
        procedure Button1Click(Sender: TObject);
      private
        { Déclarations privées }
        procedure testCheckBox;                        // <--------- 
      public
        { Déclarations publiques }
      end;
     
    ...
     
    procedure TForm1.testCheckBox;
    begin
      if CheckBox1.Checked then
        showmessage('CheckBox1 is Checked (oui)')
      else
        showmessage('CheckBox1 is not Checked (non)');
    end;
     
    procedure TForm1.Button1Click(Sender: TObject);
    begin
      testCheckBox;
    end;
    Cordialement,

    @+

  5. #5
    Membre très actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2019
    Messages
    182
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2019
    Messages : 182
    Par défaut
    merci Cirec
    Mais où vais-je le mettre le code suivant?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if CheckBox1.Checked then
     
       showmessage('CheckBox1 is Checked (oui)')

  6. #6
    Membre Expert
    Avatar de Charly910
    Homme Profil pro
    Ingénieur TP
    Inscrit en
    Décembre 2006
    Messages
    2 510
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur TP
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 510
    Par défaut
    Bonjour,

    juste là ou Cirec l'a mis : dans la procédure TForm1.testCheckBox

    A+
    Charly

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

Discussions similaires

  1. [Débutant] Deux questions concernants les vues
    Par 13obscur dans le forum Eclipse Platform
    Réponses: 1
    Dernier message: 19/04/2005, 14h29
  2. [Servlet + Class] question concernant plusieurs connections
    Par ShinJava dans le forum Servlets/JSP
    Réponses: 6
    Dernier message: 29/11/2004, 16h39
  3. Réponses: 7
    Dernier message: 10/09/2004, 14h28
  4. [Indy] Questions concernant l'envoi de mail
    Par delphicrous dans le forum Web & réseau
    Réponses: 3
    Dernier message: 24/06/2004, 15h06
  5. Question concernant l'API "WaitforSingleObject
    Par Drooxy dans le forum API, COM et SDKs
    Réponses: 3
    Dernier message: 29/03/2003, 07h26

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