Diskussion zum Artikel "Bibliothek für ein leichtes und schnelles Entwickeln vom Programmen für den MetaTrader (Teil XXVII): Arbeiten mit Handelsanfragen - platzieren von Pending-Orders" - Seite 5

 
Реter Konow:
Alles funktioniert und funktioniert gut. Jedem das Seine.
Ich lese Artikel und kann den "Entitätsgenerator" nicht finden - das Prinzip, nach dem all das gemacht wird. Ich versuche zu lernen, wie ich auf diese Weise denken kann und zu verstehen, warum ich anders denke. Und was ist der Vorteil dieses Denkens (wenn überhaupt). Ich habe Artyom auch von dem Bibliotheksschema erzählt.


Im Grunde genommen ist das System so einfach wie drei Rubel. Es ist seltsam, dass es überhaupt gebraucht wird.
Aber wenn man alle Zusammenhänge aufzeichnet, verwirrt das den Leser eher. Schließlich nutzen viele Objekte die Daten ihrer Nachbarn. Aber sie liegen alle in ihren eigenen Sammlungen. Und Sammlungen sind in der Basis-CEngine. Und wenn es Benutzerfunktionen geben wird, wird es zwei Zugangspunkte zur Bibliothek geben. Und es wird noch mehr Verbindungen geben.
 
Artyom Trishkin:
Die Regelung ist so einfach wie drei Rubel. Es ist seltsam, dass es überhaupt gebraucht wird.
Aber wenn man alle Zusammenhänge einzeichnet, verwirrt das den Leser eher. Schließlich nutzen viele Objekte die Daten ihrer Nachbarn. Aber sie liegen alle in ihren eigenen Sammlungen. Und Sammlungen sind in der Basis-CEngine. Und wenn es Benutzerfunktionen geben wird, wird es zwei Zugriffspunkte auf die Bibliothek geben. Und es wird noch mehr Verbindungen geben.
Nun, lassen Sie uns lesen und die Feinheiten studieren...)
 
//+------------------------------------------------------------------+
//| CPendingReq-Objekte nach Eigenschaften vergleichen |
//+------------------------------------------------------------------+
int CPendingReq::Compare(const CObject *node,const int mode=0) const
  {
   const CPendingReq *compared_req=node;
   return
     (
      //--- Vergleich nach ID
      mode==0  ?  
      (this.ID()> compared_req.ID() ? 1 : this.ID()< compared_req.ID() ? -1 : 0)   :
      //--- Vergleich nach Typ
      (this.Type()> compared_req.Type() ? 1 : this.Type()< compared_req.Type() ? -1 : 0)
     );
  }
//+------------------------------------------------------------------+

Typ oder Id können nicht gleich sein?

 
BillionerClub:

Typ oder Id können nicht gleich sein?

Ich verstehe den Sinn der Frage nicht. Bitte klären Sie sie.

 
Artyom Trishkin:

Ich verstehe nicht, was die Frage bedeutet. Bitte klären Sie das.

Beim Vergleich gibt es immer eine Situation, in der Gleichheit möglich ist

this.Type()>=compared_req.Type()
 
BillionerClub:

Wenn Sie vergleichen, gibt es immer eine Situation, in der Gleichheit möglich ist.

Hier werden drei Bedingungen geprüft:

this.Type()>compared_req.Type() ? 1 : this.Type()<compared_req.Type() ? -1 : 0

Größer als (1), kleiner als (-1), Rest (0)

 
Artyom Trishkin:

Hier werden drei Bedingungen getestet:

Größer als (1), kleiner als (-1), Rest (0)

Mensch, ich war ein Narr und habe den Sinn des Codes nicht erkannt)))