29.06.21
|
|
Premium Mitglied
|
|
Registriert seit: May 2020
Ort: Bielefeld
Beiträge: 345
|
|
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
|