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 :

Effacer des Edit d'une form à l'aide d'une procédure


Sujet :

Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre expérimenté
    Homme Profil pro
    Ancien Etudiant
    Inscrit en
    Janvier 2019
    Messages
    152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Cher (Centre)

    Informations professionnelles :
    Activité : Ancien Etudiant

    Informations forums :
    Inscription : Janvier 2019
    Messages : 152
    Par défaut Effacer des Edit d'une form à l'aide d'une procédure
    Bonjour à tous,

    J'ai une form (Form1) sur laquelle sont disposées quelques Edit.

    J'ai besoin de les effacer ainsi que réinitialiser des variables depuis plusieurs endroit. J'ai donc tenter de tout regrouper dans une procédure (écrite dans Unit1.pas), mais ... ça ne marche pas.

    voila ma procédure:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    procedure PROCRAZ;
    begin
      Edit1.text:='';
      edit2.text:='' ;
      nb:=0;
    end;
    mais j'ai le message suivant à la compilation:
    [Erreur] Unit1.pas(161): Identificateur non déclaré : 'Edit1'

    J'ai essayé avec TForm1.Edit1 mais message :[Erreur] Unit1.pas(161): Identificateur de méthode attendu

    Merci d'avance pour votre aide.

  2. #2
    Modérateur
    Avatar de tourlourou
    Homme Profil pro
    Biologiste ; Progr(amateur)
    Inscrit en
    Mars 2005
    Messages
    3 910
    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 910
    Billets dans le blog
    6
    Par défaut
    Bonjour,

    Il semble que la procédure PROCRAZ n'ait pas accès à la variable Form1 (si c'est bien son nom) qui pointe sur la fiche de type TForm1 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    procedure PROCRAZ;
    begin
      with Form1 do
      begin
        Edit1.text:='';
        edit2.text:='' ;
      end;
      nb:=0;
    end;
    Étant donné qu'elle a à connaître de Form1, peut-être même devrait-elle être une méthode du type d'objet TForm1 ? Auquel cas, elle connaîtrait automatiquement ses membres .
    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 expérimenté
    Homme Profil pro
    Ancien Etudiant
    Inscrit en
    Janvier 2019
    Messages
    152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Cher (Centre)

    Informations professionnelles :
    Activité : Ancien Etudiant

    Informations forums :
    Inscription : Janvier 2019
    Messages : 152
    Par défaut
    merci pour cette solution.

    je viens juste de trouver une autre solution en parcourant les milliers de tutos sur le net.

    et après 2 jours de recherche :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    procedure TForm1.PROCRAZ;
    begin
      Edit1.text:='';
      edit2.text:='' ;
      nb:=0;
    end;
    Pas facile de démarrer un nouveau langage (?)!!

  4. #4
    Membre Expert
    Avatar de pprem
    Homme Profil pro
    MVP Embarcadero - formateur&développeur Delphi, PHP et JS
    Inscrit en
    Juin 2013
    Messages
    1 876
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : MVP Embarcadero - formateur&développeur Delphi, PHP et JS
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 876
    Par défaut
    Il est effectivement plus pratique de créer des fonctions/procédures dans une classe directement lorsqu'on veut travailler sur les propriétés d'une instance de cette classe.

    Citation Envoyé par Algoplus Voir le message
    Pas facile de démarrer un nouveau langage (?)!!
    T'en fais pas trop, ça vient vite. Si tu veux les bases de Delphi, en français, y a toujours le vieux "Guide du langage Delphi" disponible à l'adresse http://docwiki.embarcadero.com/RADSt...Delphi_-_Index

  5. #5
    Membre expérimenté
    Homme Profil pro
    Ancien Etudiant
    Inscrit en
    Janvier 2019
    Messages
    152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Cher (Centre)

    Informations professionnelles :
    Activité : Ancien Etudiant

    Informations forums :
    Inscription : Janvier 2019
    Messages : 152
    Par défaut
    Merci pour les encouragements et la lecture !

  6. #6
    Membre Expert

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2007
    Messages
    3 527
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 527
    Par défaut
    un peu plus générique (pour l'apprentissage):

    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 proc_raz(Form: TForm);
    var
      I: Integer;
    begin
      for I := 0 to Form.ComponentCount - 1 do
        if Form.Components[I] is TEdit then
          TEdit(Form.Components[I]).Text := '';
    end;
     
    procedure TForm1.Button1Click(Sender: TObject);
    begin
      proc_raz(Self);
    end;

    ou pour un Delphi récent avec FMX :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    procedure proc_raz(Form: TForm);
    begin
      Form.EnumObjects(
        function(FmxObject: TFmxObject): TEnumControlsResult
        begin
          if TControl(FmxObject).InheritsFrom(FMX.Edit.TEdit) then
            TEdit(FmxObject).Text := '';
          Result := TEnumControlsResult.Continue;
        end);
    end;

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

Discussions similaires

  1. [XL-MAC 2011] Remplir une table en fonction d'une condition à l'aide d'une itération
    Par chou2best dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 07/11/2015, 16h29
  2. Effacement des Graphics d'un Form ?
    Par pounaid dans le forum Windows Forms
    Réponses: 7
    Dernier message: 23/03/2009, 17h19
  3. Réponses: 4
    Dernier message: 19/08/2008, 16h04
  4. Réponses: 23
    Dernier message: 04/07/2008, 00h12
  5. Réponses: 6
    Dernier message: 01/09/2006, 18h04

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