Thema: Trendlinien
Einzelnen Beitrag anzeigen
  #15 (permalink)  
Alt 12.08.17
next user next user ist offline
Premium Mitglied
 
Registriert seit: May 2015
Beiträge: 367
next user befindet sich auf einem aufstrebenden Ast
Standard

Hi Adlerauge,

mal ne kleine Anmerkung zu folgendem Codeteil
Code:
if(StringFind("obere Trendlinie " + IntegerToString(I_ZR), IntegerToString(I_ZR), 0))
   ObjectDelete("obere Trendlinie " + IntegerToString(I_ZR));

ObjectCreate(NULL,"obere Trendlinie " + IntegerToString(I_ZR), OBJ_TREND, 0, date_time_1, d_preis_1, date_time_2, d_preis_2);
1. Wenn I_ZR z.B. 2 ist, so sieht deine Abfrage so aus:
- Prüfe im String "obere Trendlinie 2", ob der String "2" vorhanden ist.
- Deine Abfrage liefert also absolut immer TRUE. Denke nicht, das das so gemeint war, oder?
- Außerdem ist die Abfrage auch sonst nicht gut formuliert, denn die Funktion StringFind(...) liefert -1, wenn der Suchstring nicht gefunden wurde.
Jetzt ist es aber so, das 0 als false, alles ungleich 0 (also auch -1) als true interpretiert wird. Somit ist deine Abfrage TRUE, wenn der Suchstring gefunden wurde,
und ebenfalls TRUE, wenn er nicht gefunden wurde.
2. Um das schon vorhandene Objekt zu löschen sollte eine vorherige Abfrage mit der Funktion ObjectFind(...) durchgeführt werden.
StringFind(...) hat hier weder echten Bezug zum Objektnamen, noch ist sie hier sinnvoll angewendet.


Das nur mal kurz am Rande...