Merge (objectlist)

De Wiki1000
(Différences entre les versions)
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 la condition est vide les objets qui ne sont pas déjà présent sont ajoutés.
+
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 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:
  
 
Exemple:
 
Exemple:
Ligne 23 : Ligne 44 :
 
</source>
 
</source>
  
Voir aussi:
 
  
 
{{Footer|Listes d'objets (tech)}}
 
{{Footer|Listes d'objets (tech)}}
 
[[category:Listes d'objets]]
 
[[category:Listes d'objets]]

Version du 19 janvier 2012 à 17:04

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