Funktion - Methode zum Sortieren eines Arrays von Strukturen. Preis 10$ - Seite 7

 
Artyom Trishkin:

1) Für Sie sind es ein paar Dutzend obskure Zeilen.
Aber für mich bedeutet das Dutzende von Arbeitstagen, die komplett für die Lokalisierung der entdeckten Probleme, deren Reproduktion, Beschreibung, Suche nach Workarounds und nicht zu vergessen das erneute Testen nach der Veröffentlichung eines neuen Builds und des Berichts verbracht wurden, damit nichts verloren ging...


2) Über die Forderung nach Verbesserungen:

Wanzen, Wanzen, Fragen

Sergey Dzyublik, 2019.05.23 13:52

Vorschläge:
"Erlaube der ArrayCopy-Funktion, Klassen und "komplexe" Strukturen zu kopieren, ähnlich wie Strukturen tiefe Kopierfunktionen für jeden Objekttyp bieten".


3) Über die gemeinsame Arbeit, die wir geleistet haben:

Wanzen, Wanzen, Fragen

Sergey Dzyublik, 2017.11.05 13:08

Problem: es ist ein Jahr der Freiberuflichkeit, verschiedene Nicht-Standard-Tricks mit WinApi usw... nützlich für die Gemeinschaft.
Aber ich sehe keinen Sinn darin, Zeit zu investieren, um sie zu finden, zu bearbeiten und in kodobase zu stellen - 0 Gewinn.

Vorschlag: Stellen Sie die Schaltfläche "Danke" in kodobase zur Verfügung, mit der Sie dem Autor für den bereitgestellten Code danken können.
Das Geld geht auf das MQL-Konto, MQ wiederum zieht einen bestimmten Prozentsatz für die erbrachte Leistung ab.

 
Sergey Dzyublik:

1) Für Sie sind es ein paar Dutzend obskurer Strings.
Aber für mich - Dutzende von Arbeitstagen, die ganz auf die Lokalisierung der erkannten Probleme, ihre Reproduktion, Beschreibung, Suche nach Workarounds, sowie nicht zu vergessen über Re-Tests nach der Veröffentlichung eines neuen Builds und Berichtserstellung, was nicht verloren gehen würde...


2) Über die Forderung nach Verbesserungen:


3) Über das Teilen Ihrer Arbeit:

  1. Ich würde nicht sagen, unverständlich, aber irrelevant. Entschuldigen Sie, aber wer zwingt Sie zu dieser Maßnahme? Hat Ihnen jemand befohlen, das alles zu tun? Oder ganz allein? Wenn Sie es selbst und aus freien Stücken getan haben, warum beschweren Sie sich dann - niemand hat Sie gezwungen.
  2. Das ist gut. Ich habe es gesehen. Manchmal verstehen Entwickler besser, warum diese oder jene "Verbesserung" verboten ist. Und das geschieht aus einer Reihe von Gründen, die der durchschnittliche "Nutzer" nicht erahnen kann.
  3. Es ist wahrscheinlich sinnvoller, sie in einem Regal verstauben zu lassen, dann geraten sie schneller in Vergessenheit. Und der Name ist derselbe Gewinn.
    Irgendwo hier im Forum haben Sie bereits geschrieben "Think deeper".
 

Wer hätte das bezweifelt. Alles, was unangenehm zu lesen ist, wird gelöscht.

Nur einige wenige dürfen sich äußern. Die Korrektheit einer Aussage wird vom Moderator je nach Stimmung und Wetterlage beurteilt.

Redet mit euch selbst.

 
Artyom Trishkin:
  1. Ich würde nicht sagen, unverständlich, aber irrelevant. Entschuldigen Sie, aber wer zwingt Sie zu dieser Maßnahme? Hat Ihnen jemand befohlen, das alles zu tun? Oder ganz allein? Wenn Sie es selbst und aus freien Stücken getan haben, warum beschweren Sie sich dann - niemand hat Sie gezwungen.
  2. Das ist gut. Ich habe es gesehen. Manchmal sehen die Entwickler besser ein, warum es ein Verbot für diese oder jene "Verbesserung" gibt. Und das geschieht aus einer Reihe von Gründen, die der durchschnittliche "Nutzer" nicht erahnen kann.
  3. Die Tatsache, dass sie bei Ihnen im Regal verstauben, ist wahrscheinlich viel sinnvoller - so geraten sie schneller in Vergessenheit. Und der Name ist derselbe Gewinn.
    Irgendwo hier im Forum haben Sie bereits geschrieben "Think deeper".
  1. Der Mann versucht, die Welt zu verbessern, und es gelingt ihm, wofür er dankbar ist.
  2. -
  3. Ehrlich gesagt, wenn morgen Sergey wird in kodobase normalen Container, mit einem Iterator, mit einem Makro, das Bereich-basierte für Logik bietet, welcher Prozentsatz der lokalen Gemeinschaft wird verstehen und schätzen es? Und die Zeit, die er damit verbracht hat... Deshalb werden solche Dinge aus purer Begeisterung gefördert, ein Teelöffel pro Jahr. Und hier sollten die Entwickler die Leute mit einer kleinen oder nicht so kleinen Kopeke anlocken, und dann werden normale Container erscheinen und eine Menge anderer interessanter Dinge...
 

Vladimir Simakov:

Ehrlich gesagt, wenn morgen Sergey wird in kodobase normalen Container, mit einem Iterator, mit einem Makro, das Bereich-basierte für Logik bietet, welcher Prozentsatz der lokalen Gemeinschaft wird verstehen und schätzen es? Und die Zeit, die er damit verbracht hat... Deshalb werden solche Dinge aus purer Begeisterung gefördert, ein Teelöffel pro Jahr. Und hier müssten die Entwickler die Leute mit einer kleinen oder nicht so kleinen Kopeke anlocken, und dann werden normale Container auftauchen und viel interessantere Dinge passieren...

alles, was es gibt, und alles funktioniert - schreiben Sie einen Artikel und erhalten belohnt, überraschend, Metaquotes ist ziemlich loyal zu dem Thema der Artikel

oder von was reden wir hier? einer Explosion des Beifalls?

imho ist die "Normalität" einer Programmlösung etwas, das nicht bewertet werden kann, man kann über die Kürze des Codes, die Lesbarkeit, den indischen Code, g...ocode schreiben und versuchen, eine Kreation zu bewerten, aber imho gibt es ein vernünftiges Kriterium für die Bewertung - die Relevanz, aber leider wird diese Bewertung erst nach der Veröffentlichung verfügbar sein.

Lassen Sie ihn kostenlos in der KB veröffentlichen oder einen Artikel schreiben, "ohne sich wie ein Mädchen aufzuspielen".

 
Igor Makanu:

alles ist da und alles funktioniert - schreiben Sie einen Artikel und werden Sie belohnt, überraschenderweise ist Metacquotes ziemlich loyal gegenüber dem Thema der Artikel

Oder reden wir hier von einem Beifallssturm?

imho ist die "Normalität" einer Programmlösung etwas, das nicht bewertet werden kann, man kann über die Kürze des Codes, die Lesbarkeit, den indischen Code, g...ocode schreiben und versuchen, eine Kreation zu bewerten, aber imho gibt es ein vernünftiges Kriterium für die Bewertung - die Relevanz, aber leider wird diese Bewertung erst nach der Veröffentlichung verfügbar sein.

Lassen Sie ihn kostenlos in der KB veröffentlichen oder einen Artikel schreiben, "ohne sich wie ein Mädchen aufzuspielen".

Sie sollten den Thread von Anfang an lesen. Es scheint, dass Sie nach den letzten Beiträgen urteilen, die nicht von Sergei geschrieben wurden.
 
Igor Makanu:

Oder reden wir hier von einem Beifallssturm?

Darüber, dass die Leute, die zum Thema und mit einem funktionierenden Code geantwortet haben, an Ort und Stelle schikaniert wurden.
Erwähnt, dass er viele Stunden mit dem Schreiben und Testen verbracht hat und deshalb die zusätzlichen Plüschtiere nicht auslegt? Nun, ja, Geizhals, sollte zur Hölle verbannt werden.

Im Allgemeinen war mit dem Thema alles in Ordnung, bis ein Moderator auftauchte und seine Sicht der Dinge darlegte.

ps: Seltsam, die zweite Nachricht wurde nicht gelöscht.

 

Ich habe den Thread seit dem ersten Tag gelesen.

das Problem ist gelöst, aber nicht so, wie es der Themenstarter aus seiner Erfahrung heraus nutzen kann

über das "Quetschen des Codes" - es ist einfach hier - entweder man teilt oder man teilt nicht.... , auch ein Moderator's "go to freelance" - letztes Jahr sah ich MQL5 Probleme in dem Thread ))))

Wenn Sie sich nicht erinnern, wir schreiben das Jahr 2020, und 99% der Lösungen für elementare Probleme sind frei verfügbar, während die Leute ins Forum kommen, um Zeit zu sparen oder das fehlende Wissen zu bekommen, aber nicht, um aufklärende und erhellende Geschichten mit moralischen Lehren zu hören... Was WIR jetzt tun)))

 

Leider funktionieren jetzt auch die Methoden, die fxsaber vorgeschlagen hat, nicht mehr.

Und ich bin auf der Suche nach Methoden zum Sortieren einer Reihe von Strukturen. Hat jemand eine funktionierende Variante?

 
Vladimir Pastushak:

Leider funktionieren jetzt auch die Methoden, die fxsaber vorgeschlagen hat, nicht mehr.

Und ich bin auf der Suche nach Methoden zum Sortieren einer Reihe von Strukturen. Hat jemand eine funktionierende Variante?

Ich persönlich habe mir eine CStructWrapper-Klasse geschrieben, die von CObject geerbt wurde (CMyObject ist eigentlich dasselbe, mit zusätzlichen Debugging-Feldern), und zum Sortieren verwende ich eine Standardfunktion.

template <typename T>
class CStructWrapper:public CMyObject
{
protected:
   T  m_tObject;

public:
   CStructWrapper() {};
   CStructWrapper(T & tObj) { m_tObject = tObj; };
   ~CStructWrapper() {};

   // Копирование
   T CopyFrom(const T &tObj) { m_tObject = tObj; return (m_tObject); };
   T operator=(const T &tObj) { return (CopyFrom(tObj)); };
   T CopyFrom(const CStructWrapper<T> &tWObj) { m_tObject = tWObj.GetCoreObject(); return (m_tObject); };
   T operator=(const CStructWrapper<T> &tWObj) { return (CopyFrom(tWObj)); };

   // Возврат объекта   
   T GetCoreObject() const { return(m_tObject); };
};


Wenn ich ein Array von Strukturen benötige, deklariere ich eine abgeleitete Klasse, die auf dieser Vorlage basiert. Darin deklariere ich eine Funktion für den Vergleich der notwendigen Felder der Struktur und verwende eine Standardklasse für ein Array von Objekten mit Sortierung.

Erstellte Objekte können mit dem Zuweisungsoperator direkt aus Strukturen kopiert werden. Wenn nötig, kopiere ich sie.