Merge (objectlist)

De Wiki1000
(Différences entre les versions)
(Nouvelle page : <source lang='delphi'>procedure Merge(ls:TObjectList; const iWhere:string; const iArgs:Variant);</source> Cette procédure ajoute les objets de la liste passé en paramètre qui ne ...)
 
 
(2 révisions intermédiaires par un utilisateur sont masquées)
Ligne 1 : Ligne 1 :
<source lang='delphi'>procedure Merge(ls:TObjectList; const iWhere:string; const iArgs:Variant);</source>
+
<source lang='delphi'>procedure Merge(ls:TObjectList; const iExpression:string; const iArgs:Variant);</source>
  
Cette procédure ajoute les objets de la liste passé en paramètre qui ne sont pas déjà présent et qui vérifie la condition.  
+
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.
  
 
{|class="wikitable"
 
{|class="wikitable"
Ligne 9 : Ligne 11 :
 
|-
 
|-
 
|iWhere
 
|iWhere
|Expression objet vérifiée par les objets à retirer.
+
|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 21 : Ligne 46 :
 
</source>
 
</source>
  
Voir aussi:
 
  
 
{{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;


Listes d'objets (tech)Développement DSM





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