Salut à tous,
je vous prix de bien vouloir m'expliquer qu'est-ce que TObjectList et comment l'utiliser ?
merci infiniment !
Salut à tous,
je vous prix de bien vouloir m'expliquer qu'est-ce que TObjectList et comment l'utiliser ?
merci infiniment !
Comme une TStringList mais au lieu de chaine, tu as des objets, et avant de venir ici tu fais F1, c'est pas difficile comme objet
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Machin := TTruc.create(); List.Add(Machin); Bidule := TTruc(List.items[...]).Chose
Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !![]()
Attention Troll Méchant !
"Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
L'ignorance n'excuse pas la médiocrité !
L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
Il faut avoir le courage de se tromper et d'apprendre de ses erreurs
Et pour compléter, l'avantage de TObjectList c'est qu'il gère en interne la liberation des objets.
avec OwnsObjects=True : c'est très pratique et permet de faire un peu GarbageCollector !
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 !
Une autre utilisation intéressante est de créer une liste avec des objets typés :
Utilisation :
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 uses Contnrs; type TTruc = class public libelle : string; constructor Create(pLibelle : string); end; TListeDeTrucs = class(TObjectList) private function GetItem(Index: Integer): TTruc; procedure SetItem(Index: Integer; const Value: TTruc); public function Add(AObject: TTruc): Integer; procedure Insert(Index: Integer; AObject: TObject); // idéalement, redéfinir toutes les méthodes qui renvoient un TObject property Items[Index: Integer]: TTruc read GetItem write SetItem; default; end; { TTruc } constructor TTruc.Create(pLibelle: string); begin libelle := pLibelle; end; { TListeDeTrucs } function TListeDeTrucs.Add(AObject: TTruc): Integer; begin result := inherited Add(AObject); end; procedure TListeDeTrucs.Insert(Index: Integer; AObject: TObject); begin inherited Insert(index, AObject); end; function TListeDeTrucs.GetItem(Index: Integer): TTruc; begin result := TTruc(inherited GetItem(index)); end; procedure TListeDeTrucs.SetItem(Index: Integer; const Value: TTruc); begin inherited setItem(index, value); end;
Bloon
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 var l : TListeDeTrucs; i : integer; begin l := TListeDeTrucs.Create(true); l.Add(TTruc.Create('coucou')); l.Add(TTruc.Create('titi')); l.Add(TTruc.Create('toto')); for i := 0 to l.count - 1 do showMessage(l.items[i].libelle); l.Free; end;
C'est vrai que c'est pratique que la liste se charge de détruire ses composants.Envoyé par tourlourou
Je l'utilise souvent.
![]()
L'urgent est fait, l'impossible est en cours, pour les miracles prévoir un délai. :bug: ___ "http://club.developpez.com/regles/#LIII-A"Écrivez dans un français correct !!
C++Builder 5 - Delphi 6#2 Entreprise - Delphi 2007 Entreprise - Delphi 2010 Architecte - Delphi XE Entreprise - Delphi XE7 Entreprise - Delphi 10 Entreprise - Delphi 10.4.2 Entreprise - Delphi 11.3 Entreprise - Visual studio 2022
OpenGL 2.1 - Oracle 10g - Paradox - Interbase (XE) - PostgreSQL (15.7)
Salut,
Q : qu'est-ce que TObjectList
R : Comme une TStringList mais au lieu de chaine, tu as des objets
Partager