Einzelnen Beitrag anzeigen
  #2 (permalink)  
Alt 29.06.21
Benutzerbild von Indikator-Trading
Indikator-Trading Indikator-Trading ist offline
Premium Mitglied
 
Registriert seit: May 2020
Ort: Bielefeld
Beiträge: 345
Indikator-Trading befindet sich auf einem aufstrebenden Ast
Standard

Hier eine Lösung mit einem zweidimensionalen Array und deinem Katzenbeispiel:

Code:
//+------------------------------------------------------------------+
//|                                                 ArrayExample.mqh |
//|                                  Copyright 2021, Trades Tech LLC |
//|                                                    a.timo@web.de |
//+------------------------------------------------------------------+
#property copyright "Copyright 2021, Traders Tech LLC"
#property link      "https://www.smarttraderstech.com"
#property version   "1.00"
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()

{
  string StringArray[][2];

  ArrayResize(StringArray, 3);
  StringArray[0][0] = "Susi";
  StringArray[0][1] = "Gefleckt";
  StringArray[1][0] = "Lilli";
  StringArray[1][1] = "Grau";
  StringArray[2][0] = "Emmi";
  StringArray[2][1] = "Schwarz";
 
  for(int i = 0 ; i < ArrayRange(StringArray,0) ; i++)
    Print("Katze Nr. ", i+1, " heißt ", StringArray[i][0], " und ist ", StringArray[i][1]);
  Print("Katze " , StringArray[1][0] , " wird jetzt aus dem Array entfernt!");
  
  RemoveArrayElement(StringArray, 1);
  
  for(int i = 0 ; i < ArrayRange(StringArray,0) ; i++)
    Print("Katze Nr. ", i+1, " heißt ", StringArray[i][0], " und ist ", StringArray[i][1]);

  return(INIT_SUCCEEDED);
}

//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void RemoveArrayElement(string &LocalStringArray[][], int ElementNumber)
{
  string TempArray[][2];
  ArrayCopy(TempArray,LocalStringArray);
  ArrayResize(LocalStringArray,ArrayRange(LocalStringArray,0)-1);
  
  int j = 0;
  for(int i = 0; i <  ArrayRange(TempArray,0) ; i++)
  {
    if(i != ElementNumber)
    {
      LocalStringArray[j][0] = TempArray[i][0];
      LocalStringArray[j][1] = TempArray[i][1];
      j++;
    }
  }
}
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
{

}
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
{

}
//+------------------------------------------------------------------+

Das wäre das Printergebnis zu diesem EA:

Katze Nr. 1 heißt Susi und ist Gefleckt
Katze Nr. 2 heißt Lilli und ist Grau
Katze Nr. 3 heißt Emmi und ist Schwarz
Katze Lilli wird jetzt aus dem Array entfernt!
Katze Nr. 1 heißt Susi und ist Gefleckt
Katze Nr. 2 heißt Emmi und ist Schwarz
Angehängte Dateien
Dateityp: mq5 ArrayExample.mq5 (5,2 KB, 1x aufgerufen)