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 :

Propriété par défaut, oui mais


Sujet :

Delphi

  1. #1
    Membre éclairé Avatar de peter27x
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 029
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 029
    Points : 757
    Points
    757
    Par défaut Propriété par défaut, oui mais
    Dans le F1 sur TStringList on trouve ça:

    Dans Delphi, Strings est la propriété par défaut des objets liste de chaînes.Il est donc possible d'omettre l'identificateur Strings pour accéder à la propriété Strings d'un objet liste de chaînes.Par exemple,les deux lignes de code suivantes sont correctes et font la même chose:
    MaStringList.Strings[0]:='Voici la première chaîne';
    MaStringList[0]:='Voici la première chaîne';


    Alors, me demandant comment était définie une propriété par défait je suis allé voir le code de cette classe, je ne vois pas où on définit cette propriété par défaut:

    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
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
     
    { TStringList class }
     
      TStringList = class;
     
      PStringItem = ^TStringItem;
      TStringItem = record
        FString: string;
        FObject: TObject;
      end;
     
      PStringItemList = ^TStringItemList;
      TStringItemList = array[0..MaxListSize] of TStringItem;
      TStringListSortCompare = function(List: TStringList; Index1, Index2: Integer): Integer;
     
    TStringList = class(TStrings)
      private
        FList: PStringItemList;
        FCount: Integer;
        FCapacity: Integer;
        FSorted: Boolean;
        FDuplicates: TDuplicates;
        FCaseSensitive: Boolean;
        FOnChange: TNotifyEvent;
        FOnChanging: TNotifyEvent;
        procedure ExchangeItems(Index1, Index2: Integer);
        procedure Grow;
        procedure QuickSort(L, R: Integer; SCompare: TStringListSortCompare);
        procedure SetSorted(Value: Boolean);
        procedure SetCaseSensitive(const Value: Boolean);
      protected
        procedure Changed; virtual;
        procedure Changing; virtual;
        function Get(Index: Integer): string; override;
        function GetCapacity: Integer; override;
        function GetCount: Integer; override;
        function GetObject(Index: Integer): TObject; override;
        procedure Put(Index: Integer; const S: string); override;
        procedure PutObject(Index: Integer; AObject: TObject); override;
        procedure SetCapacity(NewCapacity: Integer); override;
        procedure SetUpdateState(Updating: Boolean); override;
        function CompareStrings(const S1, S2: string): Integer; override;
        procedure InsertItem(Index: Integer; const S: string; AObject: TObject); virtual;
      public
        destructor Destroy; override;
        function Add(const S: string): Integer; override;
        function AddObject(const S: string; AObject: TObject): Integer; override;
        procedure Clear; override;
        procedure Delete(Index: Integer); override;
        procedure Exchange(Index1, Index2: Integer); override;
        function Find(const S: string; var Index: Integer): Boolean; virtual;
        function IndexOf(const S: string): Integer; override;
        procedure Insert(Index: Integer; const S: string); override;
        procedure InsertObject(Index: Integer; const S: string;
          AObject: TObject); override;
        procedure Sort; virtual;
        procedure CustomSort(Compare: TStringListSortCompare); virtual;
        property Duplicates: TDuplicates read FDuplicates write FDuplicates;
        property Sorted: Boolean read FSorted write SetSorted;
        property CaseSensitive: Boolean read FCaseSensitive write SetCaseSensitive;
        property OnChange: TNotifyEvent read FOnChange write FOnChange;
        property OnChanging: TNotifyEvent read FOnChanging write FOnChanging;
      end;
    Merci à vous.

  2. #2
    Membre chevronné

    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    1 519
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 1 519
    Points : 2 153
    Points
    2 153
    Billets dans le blog
    1
    Par défaut
    Bonjour,

    Parce que la propriété Strings est définit dans la classe parent TStrings, c'est pour ça que tu ne peux pas la voir ici Faut remonter d'un cran.
    La FAQ - les Tutoriels - Le guide du développeur Delphi devant un problème

    Pas de sollicitations techniques par MP -

  3. #3
    Membre éclairé Avatar de peter27x
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 029
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 029
    Points : 757
    Points
    757
    Par défaut
    Citation Envoyé par Aka Guymelef Voir le message
    Bonjour,

    Parce que la propriété Strings est définit dans la classe parent TStrings, c'est pour ça que tu ne peux pas la voir ici Faut remonter d'un cran.
    Oui je viens de le voir ! La file est déjà marquée résolue du coup !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    TStrings = class(TPersistent)
    ...
    property Strings[Index: Integer]: string read Get write Put; default;

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 20/08/2009, 15h45
  2. propriété par défaut
    Par patbou dans le forum Macros et VBA Excel
    Réponses: 15
    Dernier message: 07/01/2008, 19h30
  3. Réponses: 10
    Dernier message: 05/11/2007, 15h46
  4. [VB.net] Propriété par défaut d'un textbox
    Par razikos18 dans le forum Windows Forms
    Réponses: 1
    Dernier message: 21/06/2006, 15h34
  5. Réponses: 9
    Dernier message: 13/06/2005, 17h56

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