Merge (objectlist)
De Wiki1000
(Différences entre les versions)
(Une révision intermédiaire par un utilisateur est masquée) | |||
Ligne 1 : | Ligne 1 : | ||
− | <source lang='delphi'>procedure Merge(ls:TObjectList; const | + | <source lang='delphi'>procedure Merge(ls:TObjectList; const iExpression:string; const iArgs:Variant);</source> |
− | Cette procédure ajoute les objets de la liste | + | Cette procédure ajoute les objets de la liste passée en paramètre pour lesquels il n'existe pas déjà un objet dans la liste retournant la même valeur pour l'expression. |
− | Si | + | Si l'expression est vide les objets qui ne sont pas déjà présent sont ajoutés. |
{|class="wikitable" | {|class="wikitable" | ||
Ligne 11 : | Ligne 11 : | ||
|- | |- | ||
|iWhere | |iWhere | ||
− | |Expression objet | + | |Expression objet retournant le critère d'ajout. |
|- | |- | ||
|iArgs | |iArgs | ||
|Paramètres des expressions objets. | |Paramètres des expressions objets. | ||
|} | |} | ||
+ | |||
+ | '''pseudo-code avec expression :''' | ||
+ | |||
+ | <pre> | ||
+ | For each ls.items[] | ||
+ | if not exists self.items[] where | ||
+ | ls.items[].Evaluate = self.items[].Evaluate | ||
+ | then Add ls.items[] | ||
+ | </pre> | ||
+ | |||
+ | '''pseudo-code sans expression :''' | ||
+ | |||
+ | <pre> | ||
+ | For each ls.items[] | ||
+ | if not exists self.items[] where | ||
+ | ls.items[].InstanceOID = self.items[].InstanceOID | ||
+ | then Add ls.items[] | ||
+ | </pre> | ||
+ | |||
+ | |||
+ | Voir aussi: | ||
+ | |||
+ | * [[Intersect (objectlist)|Intersect]] | ||
Exemple: | Exemple: | ||
Ligne 23 : | Ligne 46 : | ||
</source> | </source> | ||
− | |||
{{Footer|Listes d'objets (tech)}} | {{Footer|Listes d'objets (tech)}} | ||
[[category:Listes d'objets]] | [[category:Listes d'objets]] |
Version actuelle en date du 19 janvier 2012 à 17:09
procedure Merge(ls:TObjectList; const iExpression:string; const iArgs:Variant);
Cette procédure ajoute les objets de la liste passée en paramètre pour lesquels il n'existe pas déjà un objet dans la liste retournant la même valeur pour l'expression.
Si l'expression est vide les objets qui ne sont pas déjà présent sont ajoutés.
ls | Liste avec laquelle réaliser la fusion. |
iWhere | Expression objet retournant le critère d'ajout. |
iArgs | Paramètres des expressions objets. |
pseudo-code avec expression :
For each ls.items[] if not exists self.items[] where ls.items[].Evaluate = self.items[].Evaluate then Add ls.items[]
pseudo-code sans expression :
For each ls.items[] if not exists self.items[] where ls.items[].InstanceOID = self.items[].InstanceOID then Add ls.items[]
Voir aussi:
Exemple:
begin end;