MetaTrader 5 herunterladen

AssignArray

Kopiert Elementen aus einem anderen Array ins angegebenen Array.

bool  AssignArray(
   const CArrayObj*  src      // Ein Zeiger auf die Quelle
   )

Parameter

src

[in]  Ein Zeiger auf die Instanz der CArrayObj-Klasse, die eine Quelle von Elementen für Kopieren ist.

Rückgabewert

Gibt bei Erfolg true zurück, false wenn die Elementen nicht kopiert werden können.

Bemerkung

Wenn das Empfänger-Array vor dem Aufruf von AssignArray nicht leer ist, werden alle seine Elemente aus dem Array gelöscht werden. Wenn ein Flag von Speicherverwaltung gesetzt ist, dann wird der Speicher von gelöschten Elementen befreit werden. Das Empfänger-Array wird eine exakte Kopie von Quelle-Array. Für weitere Informationen siehe CArrayObj::AddArray(const CArrayObj*).

Beispiel:

//--- example for CArrayObj::AssignArray(const CArrayObj*)
#include <Arrays\ArrayObj.mqh>
//---
void OnStart()
  {
   CArrayObj *array=new CArrayObj;
   //---
   if(array==NULL)
     {
      printf("Object create error");
      return;
     }
   //--- create source array
   CArrayObj *src=new CArrayObj;
   if(src==NULL)
     {
      printf("Object create error");
      delete array;
      return;
     }
   //--- reset free mode flag
   src.FreeMode(false);
   //--- fill source array
   //--- . . .
   //--- assign another array
   if(!array.AssignArray(src))
     {
      printf("Array assigned error");
      delete src;
      delete array;
      return;
     }
   //--- arrays is identical
   //--- delete source array without elements
   delete src;
   //--- use array
   //--- . . .
   //--- delete array
   delete array;
  }