Listes d'objets (tech)

De Wiki1000
(Différences entre les versions)
(Méthodes)
(Méthodes)
 
Ligne 139 : Ligne 139 :
 
|[[DeleteObjects (objectlist)|DeleteObjects]]
 
|[[DeleteObjects (objectlist)|DeleteObjects]]
 
|Supprime les objets de la liste.
 
|Supprime les objets de la liste.
 +
|-
 +
|[[ToString (objectlist)|ToString]]
 +
|Retourne un attribut sérialisé sous forme chaîne.
 
|}
 
|}
  

Version actuelle en date du 25 février 2020 à 14:43

Sommaire

Introduction

Utilisez un TObjectList pour manipuler une liste d'objets. TObjectList fournit des propriétés et méthodes pour ajouter, supprimer, réorganiser, trouver, trier et accéder aux objets contenus dans la liste.

Info-20px.png Note : Les listes d'objets peuvent être utilisé comme attribut non persistant

Une liste d'objet charge ses objets en une seule requête et les conservent en mémoire. Ce fonctionnement à des avantages et des incovénients :

  • Une fois l'ordre de chargement exécuté il ni a plus d'interactions base de données.
  • Les objets sont maintenus en mémoire se qui interdit le traitement de grande quantité d'objet.
Info-20px.png Note : Grande est une notion relative, vous pouvez charger des milliers d'objet dans une liste sans problèmes mais vous aurez certainement des problèmes si vous essayer de charger des centaines de milliers ou des millions d'objets dans une liste.

Déclaration d'une variable liste d'objet

Les listes d'objets doivent être déclarée avant d'être utilisées, lorsque la classe de la liste est connue au moment de la déclaration la forme préfixé du nom de la classe métier peut être utilisée :

var ls:NomDeClassList;

Cette forme de déclaration permet au compilateur de connaitre la classe des objets de la liste.

Création d'une liste d'objet

Utilisation du ClassManager

Le ClassManager expose une fonction pour créer des listes d'objets d'une classe donnée :

function CreateObjectList(const iClassName :string) :TObjectList;

iClassName représente le nom de la classe des objets contenus dans la liste.

Exemple

var ls:TEcritureList;
begin
  ls := ClassManager.CreateObjectList('TEcriture');
end;

Utilisation du constructeur de liste d'une classe métier

Les classes métiers exposent un constructeur de liste permettant de créer une liste d'objet de la classe :

class function TObjectClass.CreateList:TObjectClassList;

Exemple

var ls:TEcritureList;
begin
  ls := TEcriture.CreateList;
end;
Info-20px.png Note : Les deux formes de code sont équivalentes, la seconde est plus claire et évite les erreurs de frappe du nom des classes

Propriétés

Nom Usage
aClassName Nom de la classe des objets contenu dans la liste.
Count Renvoie le nombre d'objets dans la liste.
OIDs [index] Accède aux identifiants des objets de la liste.
Refs [index] (itérateur) Accède aux instances des objets de la liste.
OrderValues [index] Accède aux valeurs de tri des objets de la liste.
OrderBy Indique l'attribut triant la liste
Duplicates Indique le comportement de la liste sur doublon.
AnyWhere Indique de ne pas filter les objets sur les périmètres de partage.

Méthodes

IndexOf Renvoie la position d'un objet identifié par son identifiant.
IndexByOrder Renvoie la position d'un objet identifié par sa valeur de tri.
AddOID Ajoute un objet dans la liste.
AddRef Ajoute un objet dans la liste.
Insert Insère un objet dans la liste.
RemoveOID Supprime un objet de la liste par son identifiant.
RemoveRef Supprime un objet de la liste par son instance.
Delete Supprime un élément de la liste par son index.
Assign Affecte la liste avec les objets d'une autre liste.
Clear Vide la liste.
ReleaseInstances Libère les références tenues par la liste.
AddWhere Ajoute dans la liste les objets vérifiant la condition iWhere.
RemoveWhere Supprime les objets de la liste pour lesquels la condition iWhere est satisfaite.
CountWhere Renvoie le nombre des objets de la liste pour lesquels la condition iWhere est satisfaite.
FindFirst Recherche le premier objet vérifiant la condition iWhere.
FindNext Recherche l'objet suivant iIndex vérifiant la condition iWhere.
Intersect Conserve les objets qui sont présents dans les deux listes et dont l'évaluation de la condition donne le même résultat.
Merge Ajoute les objets de la liste passé en paramètre qui ne sont pas déjà présent et qui vérifie la condition.
DeleteObjects Supprime les objets de la liste.
ToString Retourne un attribut sérialisé sous forme chaîne.


Code métierDéveloppement DSM





Whos here now:   Members 0   Guests 0   Bots & Crawlers 1
 
Outils personnels