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 :

Record ou class devant contenir 2 bitmap ?


Sujet :

Langage Delphi

  1. #1
    Membre chevronné Avatar de der§en
    Homme Profil pro
    Bretagne
    Inscrit en
    Septembre 2005
    Messages
    1 048
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Bretagne
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 048
    Par défaut Record ou class devant contenir 2 bitmap ?
    Bonjour,

    Petite question philosophique

    Je doit créer un array of quelquechose et je ne sais pas s'il est mieux de coder mon quequechose comme un record ou une class, et j'aimerais avoir vos avis, la dessus.

    Mon quequechose, contiendra 4 integer, 2 stings mis surtout il doit contenir un BMP (qu'ils doivent se créer a chaque fois que je fait un setlength sur mon quequechose).

    AMHA, je pense qu'il me faille me tourner vers une class avec constructor et destructor pour les Create et les Free des 2 BMP mais peux-être que l'on peux faire la même chose avec un record.

    A Votre avis ?

  2. #2
    Expert confirmé
    Avatar de anapurna
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    3 488
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 488
    Par défaut
    salut

    le record n'est pas réellement instancié mais tu peut tout de même te servir de ceux ci




    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
     
    type
      TMonRec = record
        BMP1 : TImage;
        BMP2 : TImage;
        I1 : Integer;
        // ...
        procedure Create(aImageOwner: TComponent);
        procedure Destroy;
      end;
     
    { TMonRec }
     
    procedure TMonRec.Create(aImageOwner: TComponent);
    begin
     BMP1 := TImage.Create(aImageOwner);
     BMP2   := TImage.Create(aImageOwner);
    end;
     
    procedure TMonRec.Destroy;
    begin
      BMP1.Free;
      BMP2.Free;
    end;
     
    // ...
     
    var
      Rec: TMonRec;
    begin
      Rec.Create(Form1);
     
      // ...
     
      Rec.Destroy;
    end;

  3. #3
    Membre chevronné Avatar de der§en
    Homme Profil pro
    Bretagne
    Inscrit en
    Septembre 2005
    Messages
    1 048
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Bretagne
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 048
    Par défaut
    Ok, donc je peut faire un :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Var
    LMaListe : Array of TMonRec;
    I: integer;
    Begin
      SetLength(LMaListe, 10);
     
      For I = 0 To 9
        LMaListe[I] := TMonRec.Create(FMaScrollBox);
    End;

  4. #4
    Invité
    Invité(e)
    Par défaut
    Utilise une TObjectList c'est plus pratique

  5. #5
    Membre chevronné Avatar de der§en
    Homme Profil pro
    Bretagne
    Inscrit en
    Septembre 2005
    Messages
    1 048
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Bretagne
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 048
    Par défaut
    Pas encore testé cette bête là !

    Il existe des exemples qui se rapprocherait de mon besoin ?

  6. #6
    Membre chevronné Avatar de der§en
    Homme Profil pro
    Bretagne
    Inscrit en
    Septembre 2005
    Messages
    1 048
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Bretagne
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 048
    Par défaut
    Je pense que cet exemple devrait me permettre de répondre à mon besoin moyennant quelques petites adaptations

    http://docwiki.embarcadero.com/CodeE...tList_(Delphi)

    Merci a vous.

  7. #7
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par der§en Voir le message
    Pas encore testé cette bête là !

    Il existe des exemples qui se rapprocherait de mon besoin ?
    Avec ton exemple ça donne ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Var
      LMaListe : TObjectList<TMonRec>;
      I: integer;
    Begin
      LMaListe := TObjectList<TMonRec>.Create; 
     
      For I = 0 To 9
        LMaListe.Add(TMonRec.Create(FMaScrollBox));
    End;

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

Discussions similaires

  1. Réponses: 11
    Dernier message: 05/12/2010, 20h30
  2. Réponses: 2
    Dernier message: 20/05/2010, 11h06
  3. Records ou Classe
    Par Max.Adorable dans le forum F#
    Réponses: 12
    Dernier message: 06/08/2008, 14h04
  4. Record et classe
    Par Gweta dans le forum Débuter
    Réponses: 5
    Dernier message: 09/01/2008, 11h43
  5. [class] Ajouter class devant une fonction
    Par Pedro dans le forum Langage
    Réponses: 12
    Dernier message: 07/03/2005, 13h11

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