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 :

modifier parametre objet


Sujet :

Delphi

  1. #1
    Membre à l'essai
    Homme Profil pro
    automaticien
    Inscrit en
    Mars 2012
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : automaticien
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Mars 2012
    Messages : 28
    Points : 18
    Points
    18
    Par défaut modifier parametre objet
    Bonjour,

    je suis étudiant et je débute en delphi.

    j'aimerai savoir si il est possible de modifier les parametre d'un objet (boutton, label,..) d'une unité à partir d'une autre unité.

    Par exemple ce que je voudrai faire c'est lorsque je clique sur le bouton valider présent sur une de mes fenetres cela rend invisible un bouton present sur une autre fenetre et fasse apparaitre un texte à la place.

    j'ai essayer avec ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    procedure TForm3.Buttonvalidation1Click(Sender: TObject);
    begin
      TForm1.button1.Visible := false;
      TForm1.label1.visible := true;
    end;
    mais cela na pas fonctionné, ça m'indique qui manque une méthode mais j'ai pas trouvé.

    si quelqu'un peu m'aider je suis prenneur.
    merci !

  2. #2
    Membre régulier
    Homme Profil pro
    Inscrit en
    Août 2006
    Messages
    108
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2006
    Messages : 108
    Points : 82
    Points
    82
    Par défaut
    Tu doit utiliser From1 et non TForm1, ce qui donnerait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    procedure TForm3.Buttonvalidation1Click(Sender: TObject);
    begin
      Form1.Button1.Visible := False;
      Form1.Label1.Visible := True;
    end;
    Beny

  3. #3
    Membre à l'essai
    Homme Profil pro
    automaticien
    Inscrit en
    Mars 2012
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : automaticien
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Mars 2012
    Messages : 28
    Points : 18
    Points
    18
    Par défaut
    merci Beny.

    j'ai essayé avec ton code et cela a fonctionné.

    merci.

  4. #4
    Expert éminent sénior
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Points : 28 457
    Points
    28 457
    Par défaut
    Citation Envoyé par zanbom Voir le message
    merci Beny.

    j'ai essayé avec ton code et cela a fonctionné.

    merci.
    as-tu compris la différence ?

    puis-je te demander dans quel cadre tu étudies Delphi ? choix du prof, de toi ? quel niveau d'étude ?

  5. #5
    Membre à l'essai
    Homme Profil pro
    automaticien
    Inscrit en
    Mars 2012
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : automaticien
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Mars 2012
    Messages : 28
    Points : 18
    Points
    18
    Par défaut
    Citation Envoyé par Paul TOTH Voir le message
    as-tu compris la différence ?

    puis-je te demander dans quel cadre tu étudies Delphi ? choix du prof, de toi ? quel niveau d'étude ?
    Tform1 est un type de class tform
    alors que form1 est une variable de type Tform1
    form1 contient toutes les propriete, élèments liés à la fiche
    c'est ça ?

    j'étudie delphi dans le cadre d'un stage pour ma licence pro. Je dois modifier un programme deja existant pour une supervision.

  6. #6
    Expert éminent sénior
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Points : 28 457
    Points
    28 457
    Par défaut
    Citation Envoyé par zanbom Voir le message
    Tform1 est un type de class tform
    alors que form1 est une variable de type Tform1
    form1 contient toutes les propriete, élèments liés à la fiche
    c'est ça ?
    oui Form1 est une variable qui dans le cas présent contient l'adresse d'une instance de classe de type TForm1.

  7. #7
    Membre à l'essai
    Homme Profil pro
    automaticien
    Inscrit en
    Mars 2012
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : automaticien
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Mars 2012
    Messages : 28
    Points : 18
    Points
    18
    Par défaut
    bonjour,

    voila, je rencontre une difficulté, un peu comme au debut du sujet je veux rendre invisible/visible ou inactif/actif des composant mais cette fois en fonction des étapes d'un grafcet.
    (Je travail sur une supervision d'un système automatisé.)

    Voila un bout du code que j'ai fais :
    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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
     
    unit fonction;
     
    interface
    USES
      IniFiles,
      Math,
      Controls,
      SysUtils,
      Forms,
      Dialogs,
      Graphics,
      windows,
      messages,
      StdCtrls,
      ComCtrls,
      Printers,
      Winsock,
      Registry;
      procedure MontrerCacherBp(bp:Tbutton; ConditionEnabled:boolean);
     
    implementation
    USES
      Classes;
     
    procedure MontrerCacherBp(bp:Tbutton; ConditionEnabled:boolean);
    begin
        if ConditionEnabled
        then begin
            if bp.Enabled then bp.Enabled:= false;
        end
        else begin
             if not bp.Enable then bp.Enable:=true;
        end;
     
    end;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    PROCEDURE TraitementSpecifique;
    begin
                    MontrerCacherBp(Fprincipale.bpChoix1, bit (  W(1,27),1)    );
                   // bit(W(1,27),1)-> etape 0 du g7
                    MontrerCacherBp(Fprincipale.bpChoix2, bit (  W(1,42),1)   );
                    // bit(W(1,27),1)-> etape 20 du g7
     
       end;
    Mon programme compile sans erreur mais je sais pas si ça fonctionne, je ne peux pas tester avec un automate.
    Pour simulé j'ai remplacé les bits etapes g7 par des variables booleens que je passais à 1 ou à 0 manuellement mais ça n'a pas fonctionné.
    je voulais savoir si mon code vous paraissait correcte, ou si vous connaissez d'autres methodes pour réaliser ce que je souhaite.

  8. #8
    Membre émérite
    Avatar de ALWEBER
    Homme Profil pro
    Expert Delphi
    Inscrit en
    Mars 2006
    Messages
    1 504
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Expert Delphi

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 504
    Points : 2 776
    Points
    2 776
    Billets dans le blog
    10
    Par défaut
    Ca a l'air de marcher.
    Tu peux simplifier le code de MontrerCacherBp comme suit :
    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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
     
    unit ex01a;
     
    interface
     
    uses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, ExtCtrls, StdCtrls;
     
    type
      TForm1 = class(TForm)
        Button1: TButton;
        Button2: TButton;
        Button3: TButton;
        procedure Button1Click(Sender: TObject);
      private
        { Déclarations privées }
      public
        { Déclarations publiques }
      end;
     
    var
      Form1: TForm1;
     
    implementation
     
    {$R *.dfm}
     
    procedure MontrerCacherBp(bp : Tbutton; ConditionEnabled:boolean);
    begin
      if ConditionEnabled then
        bp.Enabled := not bp.Enabled ;
    end;
     
    procedure TraitementSpecifique;
    begin
      MontrerCacherBp(Form1.Button2, true);
      MontrerCacherBp(Form1.Button3, false);
    end;
     
    procedure TForm1.Button1Click(Sender: TObject);
    begin
      TraitementSpecifique ;
    end;
     
    end.

Discussions similaires

  1. Réponses: 6
    Dernier message: 08/12/2006, 03h13
  2. [vb.net]modifier un objet dans un arrayList
    Par Golzinne dans le forum Windows Forms
    Réponses: 4
    Dernier message: 17/10/2006, 13h23
  3. modifier parametre d'intialisation
    Par nabou dans le forum Oracle
    Réponses: 7
    Dernier message: 05/07/2006, 13h46
  4. Réponses: 6
    Dernier message: 21/05/2006, 20h37
  5. Modifier un objet dhtml
    Par roger_owc dans le forum ASP
    Réponses: 1
    Dernier message: 26/08/2005, 12h52

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