Sie verpassen Handelsmöglichkeiten:
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Registrierung
Einloggen
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
Das Herzstück der Elemente ist die Tabelle.
Wir haben ein Proto-Kernel-Modell erstellt, das dazu dient, die anfänglichen Objektparameter eines bestimmten Elements zu speichern.
Als Nächstes müssen wir einen Haupt-Kernel erstellen und so viele Elemente wie nötig hineinschreiben.
Dann werden wir jedem Element innerhalb des Hauptkerns neue Werte zuweisen.
Danach werden wir Elemente erstellen.
Dann werden wir mit ihnen bei verschiedenen Veranstaltungen zusammenarbeiten.
Deklarieren Sie den Hauptkern:
int G_CORE[All_objects][All_properties];
Jede Zeile des Kerns nimmt ein Objekt ein.
Wir müssen bestimmen, wie viele Objekte sich insgesamt im Kern befinden werden. Dazu müssen wir die Anzahl der Elemente, die wir erstellen wollen, und die Anzahl der Objekte in jedem Element berechnen.
Nehmen wir an, wir haben 10 Schaltflächen. Also: 10 Elemente * 3 Objekte = 30 Objekte. Es gibt also 30 Zeilen.
Wir haben die Anzahl der Eigenschaften im Hauptkern erhöht, da wir zusätzlich zu den grundlegenden Parametern die Namen der Elemente und Objekte, die Verbindungen zwischen ihnen und einige andere Eigenschaften benötigen.
Wir deklarieren die Eigenschaften der Objekte neu:
Die Eigenschaft TEXT enthält einen Verweis auf ein anderes Array, das die Texte der Schaltflächen enthält.
Die Eigenschaft ELEMENT wird benötigt, um Objekte desselben Elements innerhalb des Kerns zu verknüpfen (um Verwechslungen zu vermeiden, welches Objekt zu welchem Element gehört). In dieser Eigenschaft wird die Sequenznummer des Elements festgelegt.
Es ist sehr leicht, Basis, Text und Symbol zu verwechseln. In der Beschreibung ist klar, was in diesem oder jenem Index enthalten ist. Beim echten Programmieren muss man alles im Kopf behalten. Ich weiß, dass Peter ein Titan des Gedächtnisses mit einer stark eingeschränkten Fähigkeit zu vergessen ist. Aber ich fürchte, es gibt nicht viele solcher Titanen. Ich vergesse jetzt schon, wo und was ich am nächsten Tag einpacken muss.
Wäre es nicht besser, in etwa folgendes zu haben (ich würde es so machen):
Deklarieren Sie die benötigten Elementarstrukturen.
Jetzt können wir die Basis-, Text- und Symbolschnittstellen aus dem gemeinsamen Objekt abrufen:
Und jede dieser drei Schnittstellen - setzt die entsprechende Eigenschaft. Nun, zum Beispiel Text:
Wir füllen die Positionsstruktur (X und Y), rufen die Textschnittstelle aus dem Kern auf, und von dieser Schnittstelle aus rufen wir die Funktion zur Positionsbestimmung mit unserer Struktur auf. Jede dieser Schnittstellen verfügt auch über eine Funktion zur Einstellung von Größe und Farbe. Es ist sinnvoll, sie von einer gemeinsamen rein virtuellen Schnittstelle zu erben, bei der alle Funktionen auf Null gesetzt werden.
Hier ist es viel schwieriger, die Dinge durcheinander zu bringen. Denn zu jedem Zeitpunkt haben Sie nur Zugriff auf das, was Sie für Ihre Arbeit benötigen. Und für etwas anderes muss man es aufrufen, und wenn man das nicht darf, dann kann man bei richtigem Systemdesign nicht einmal diese "verbotene" Schnittstelle aufrufen und sich so vor Fehlern schützen.
Ändern wir also zunächst die Anzahl der Eigenschaften des Prototyp-Kernels, die die gleichen waren wie im Hauptkernel. Als Nächstes wollen wir einen Zyklus zum Aufbau von G_CORE durchführen.
Nach diesem Zyklus wird der G_CORE-Kern mit Prototypen von 10 Tasten gefüllt sein. Als Nächstes müssen wir den Elementen eindeutige Namen geben und die Objekte an ihre Elemente binden, wobei jedes Element einen eindeutigen Index erhält.
Ändern wir also zunächst die Anzahl der Eigenschaften des Prototyp-Kernels, die die gleichen waren wie im Hauptkernel. Dann machen wir eine Schleife, um G_CORE zu erstellen.
Anhand dieses Codes können Sie es perfekt erkennen.
Ich habe schon vergessen, wofür a1 steht und wofür a2 steht.
Aber das ist die halbe Miete - wenn ich es vergessen habe, muss ich oben nachsehen. Aber ich kann mir sicher sein, dass ich es nicht vergessen habe, und ich kann die Elemente immer noch verwechseln. Und dann ist es gut, wenn es auf Anhieb klappt. Andernfalls handelt es sich nicht um eine Tatsache, und der Fehler kann viel später auftreten, und er wird nach dem Gesetz des Pechs an der verwundbarsten Stelle und zum ungünstigsten Zeitpunkt auftreten.
Peters Ansatz ist der eines Titanen des Auswendiglernens, was auch ganz normal ist. Aber wie viele Teilnehmer sind solche Titanen?
In der Zwischenzeit haben sogar einige ein kleines Unternehmen öffnete den Code seiner lahmen grafischen Benutzeroberfläche :-)
Sie machen wirklich die Biege... sie haben Angst vor der Konkurrenz!
Scherz, Scherz, aber jeder Interessierte kann sehen, wie die Windows-GUI von innen aufgebaut ist:
WPF ist ein .NET Core UI-Framework zur Erstellung von Windows-Desktop-Anwendungen: https://github.com/dotnet/wpf
Windows Forms ist ein .NET Core UI-Framework zum Erstellen von Windows-Desktop-Anwendungen: https://github.com/dotnet/winforms
Abwärtskompatible Versionen von Windows UI-Funktionen, einschließlich UWP XAML-Steuerelemente und Fluent-Stile und -Materialien: https://github.com/Microsoft/microsoft-ui-xaml
In der Zwischenzeit haben sogar einige ein kleines Unternehmen hat den Code seiner käsigen GUI geöffnet :-
Die grafische Benutzeroberfläche ist hier nicht das Problem. Mein Ansatz kann extrapoliert und auf jeden Zweck angewendet werden. Einschließlich AI.
Als Nächstes zeige ich Ihnen, wie Sie das machen können.
Wir müssen festlegen, wie viele Objekte sich im Kern befinden werden. Dazu müssen wir die Anzahl der Elemente, die wir erstellen wollen, und die Anzahl der Objekte in jedem Element berechnen.
Frage aus dem Publikum:
Nehmen wir an, dass wir eine Tabelle der Geschäfte des Trading Expert Advisors erstellen. Jede Zeile - eine Transaktion mit Einstiegskurs, Ausstiegskurs, Volumen, usw. Wie kann man im Voraus wissen, bevor wir kompilieren, die Anzahl der Geschäfte, die durch den Expert Advisor durchgeführt werden, um die Anzahl der Zeilen in der Tabelle korrekt zu bestimmen?
Frage aus dem Publikum:
Angenommen, wir erstellen eine Tabelle mit den Geschäften eines Trading Expert Advisors. Jede Zeile ist ein Geschäft mit Einstiegskurs, Ausstiegskurs, Volumen usw. Wie kann ich im Voraus, vor der Kompilierung, die Anzahl der Geschäfte kennen, die der Expert Advisor durchführen wird, um die Anzahl der Zeilen in der Tabelle korrekt zu bestimmen?
Fügen Sie dem Array mit ArrayResize bei jeder Transaktion eine Nummer hinzu und zeichnen Sie die Eigenschaften des Geschäfts darin auf.
Gleichzeitig werden die Eigenschaften im Voraus auf die Zellen verteilt.
Anschließend werden alle Daten geordnet.