Compare

Vergleicht Daten eines Elements in der Liste mit den Daten eines anderen Listenelements.

virtual int  Compare(
   const CObject*  node,       // Element
   const int       mode=0      // Variante 
   ) const

Parameter

node

[in]  Zeiger auf ein Listenelement zum Vergleich

mode=0

[in]  Vergleich-Variante

Rückgabewert

0 - im Falle die Elemente in der Liste gleich sind, -1 - wenn das Element in der Liste kleiner als der Knoten zum Vergleich (node) ist, 1 - wenn das Element in der Liste größer als ein Knoten für den Vergleich (node) ist.

Hinweis

Die Vergleichsmethode Compare() in der Klasse CObject gibt immer 0 zurück und führt keine Aktionen aus. Wenn Sie Daten der abgeleiteten Klasse vergleichen möchten, kann die Vergleichsmethode Compare(...) implementiert werden. Verwenden Sie den Parameter mode, um den multivariaten Vergleich zu implementieren.

Beispiel:

//--- example for CObject::Compare(...)
#include <Object.mqh>
//---
void OnStart()
  {
   CObject *object_first,*object_second;
   //---
   object_first=new CObject;
   if(object_first==NULL)
     {
      printf("Object create error");
      return;
     }
   object_second=new CObject;
   if(object_second==NULL)
     {
      printf("Object create error");
      delete object_first;
      return;
     }
   //--- set interconnect
   object_first.Next(object_second);
   object_second.Prev(object_first);
   //--- compare objects
   int result=object_first.Compare(object_second);
   //--- delete objects
   delete object_first;
   delete object_second;
  }