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

Langage Delphi Discussion :

Champ d'un record en lecture seule


Sujet :

Langage Delphi

  1. #1
    Membre actif Avatar de gibet_b
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    292
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 292
    Points : 296
    Points
    296
    Par défaut Champ d'un record en lecture seule
    Salut à tous,

    J'ai déclaré un type du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    MonType=record
      Id : integer;
      Nom : string;
      PNom : string;
    end;
    J'ai une propriété de mon objet (d'un composant exactement), qui est de ce type. Je voudrais que seule "MaPropriété.Id" soit en lecture seule. Est-ce possible et si oui bien sur comment faire ?

    Bonne journée !
    Jean-Baptiste, vieux membre éclairé à la bougie
    -----
    www.e-jbb.net : Écriture et lecture numérique
    ---
    Citation du moment : "On abdique pas l'honneur d'être une cible" - Cyrano De Bergerac

  2. #2
    Membre expérimenté

    Inscrit en
    Mai 2002
    Messages
    720
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 720
    Points : 1 594
    Points
    1 594
    Par défaut
    Pas avec un record... mais avec un classe oui .... Il suffit de declarer ID en prive, et de mettre uniquement une propriete de lecture dessus, ce qui donne qulque chose comme ca (J'ai pas delhi pour verifier) :
    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
    TTruc = class()
    private
      aid: integer;
    public
      property id: integer read aid;
    end;
     
    []
     
    with TTruc.Create do
    try
      // On suppose que le createur est override et a initialise l'ID
      A := id; // Valide
      id := 42; // Le compilateur ne voudra pas 
    finally
      Free;
    end;
    Bon developpement !

    Smortex

    Les FAQ Assembleur - Linux
    In The Beginning Was The Command Line Neal Stephenson

  3. #3
    Membre actif Avatar de gibet_b
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    292
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 292
    Points : 296
    Points
    296
    Par défaut
    Merci l'ami,

    C'est bien l'idée que j'avais eu, mais au cas où... Je doutais aussi que ce soit possible. C'était plus simple que de déclarer une classe qui ne servait pas à grand chose, mais c'était trop beau.

    lol pour le "J'ai delphi pour vérifier" :-)
    Jean-Baptiste, vieux membre éclairé à la bougie
    -----
    www.e-jbb.net : Écriture et lecture numérique
    ---
    Citation du moment : "On abdique pas l'honneur d'être une cible" - Cyrano De Bergerac

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

Discussions similaires

  1. Datagrid avec champs des tables liées en lecture seule
    Par digital prophecy dans le forum ADO.NET
    Réponses: 1
    Dernier message: 17/05/2011, 11h37
  2. [Datatable] Champ en lecture seul avec SQL fonction
    Par zoltix dans le forum Développement
    Réponses: 1
    Dernier message: 18/03/2009, 17h03
  3. Champs de type FILE en lecture seule
    Par Jumano dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 14/01/2008, 21h08
  4. Lecture seule champs formulaire
    Par cjacquel dans le forum VBA Access
    Réponses: 3
    Dernier message: 01/10/2007, 17h19
  5. un champ en lecture seul
    Par badboys206s16 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 06/07/2006, 09h32

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