Crowdsourced GUI. Offene Betatests. - Seite 35

 
Alexandr Andreev:

In diesem Fall müssen Sie die Namen aller Elemente auswendig kennen, aber hier in der Datei ist alles bereits generiert

Wie Sie im Video sehen können, müssen Sie die Namen der Elemente auf jeden Fall kennen. Im Prinzip ist das logisch.

Aber ich verstehe nicht, wie man den Kontrollen selbst sinnvolle Namen geben kann. Offensichtlich gibt es keine Möglichkeit.

 
Alexandr Andreev:

Nun, es ist einfacher, sich seine eigenen Variablen zu merken, als die eines anderen zu lernen.

Im Allgemeinensollte derCode ein Minimum an globalen Variablen enthalten, die alle durch die Übergabe von Speicherabschnitten und die gleichzeitige Verarbeitung mehrerer Werte implementiert werden. Es ist sinnvoll, dass ..... .... .... HH hat versucht, Wörter, die sich direkt auf Gegenstände beziehen, herauszuschneiden.

In der Regel ist es einfacher, normale Backen zu verwenden.

Im Video wurde gezeigt, dass Petr ALLE mit globalen Variablen gebaut hat.

Die Nachrichtenverarbeitungsfunktion ist die einzige für das gesamte Programm und es werden nur Werte an sie gesendet.

Diese einzelne Funktion prüft, ob sich alle verfügbaren Steuerelemente im globalen Array geändert haben. Und die Beeinträchtigung dieser Funktion wächst mit der Anzahl der Elemente im Formular.

Peter erklärte, dass man sich nicht in seinen Code einarbeiten muss: Nun, das ist genau der Schlamassel, in den man sich sehr ernsthaft einarbeiten muss. Dies könnte leicht vermieden werden, wenn Peter in jedem Fall eine Standard-Ereignismethode generiert, die Typ, Name und Wert des Steuerelements übergibt. Dann ließe sich das Ganze problemlos im Hauptteil des EA behandeln.

 
Алексей Барбашин:

Wie Sie im Video sehen können, müssen Sie die Namen der Elemente ohnehin kennen. Dies ist im Prinzip sinnvoll.

Aber ich verstehe nicht, wie Sie den Kontrollen selbst sinnvolle Namen geben können. Offensichtlich gibt es keine Möglichkeit.

Elemente, die mit Text versehen sind, wie z. B. Schaltflächen, können Sie direkt beschriften (Doppelklick) oder in das zweite obere Eingabefeld des Eigenschaftsfensters eintragen. Andere - nur im Namensfeld des Eigenschaftsfensters. Dort können Sie auch den Namen des Fensters angeben (oberstes Feld).
 
Реter Konow:
Und was verstehen Sie unter Umwelt?

Auszeichnungssprache

 

Das Video hat deutlich gezeigt, dass man einen Wert nicht von einem bestimmten Steuerelement an einem bestimmten Ort abrufen kann. Der Wert kann nur zum Zeitpunkt eines Änderungsereignisses in diesem großen Blatt abgerufen werden. Und das alles, weil es nichts gibt, worauf man sich beziehen könnte, da es keine Objekte gibt...

Pjotr sagte, es würde mindestens ein Jahr dauern, um seinen Code zumindest geringfügig zu ändern... Da bin ich mir nicht so sicher. Die regelmäßige Bearbeitung von Texten, also von Code-Blöcken, ermöglicht es Ihnen, sehr schnell eine Sache durch eine andere zu ersetzen. Aber das ist ein ganz anderes Lied...

 
Um ein Element im Eigenschaftsfeld zu benennen, muss das Element im Fokus sein. Einfach ausgedrückt, muss es angeklickt werden und alle seine Eigenschaften werden im Eigenschaftsfenster angezeigt und können bearbeitet werden. Dies ist der klassische Ansatz der Visumredakteure.
 
Реter Konow:
Bei Elementen, die mit Text versehen sind, z. B. Schaltflächen, können Sie den Namen direkt darauf schreiben (Doppelklick) oder in das zweite obere Eingabefeld des Eigenschaftsfensters. Andere Elemente - nur im Namensfeld auf der Eigenschaftsleiste. Dort können Sie auch den Namen des Fensters angeben (oberstes Feld).

Ich habe mir das Video noch einmal angesehen - ja, das stimmt, tut mir leid, dass ich es nicht gleich bemerkt habe. Das ist wirklich ein klassischer Ansatz. Der Name des Elements und der Text darauf (Inhalt) dürfen nicht identisch sein.

 
Алексей Барбашин:

Das Video hat deutlich gezeigt, dass man einen Wert nicht von einem bestimmten Steuerelement an einem bestimmten Ort abrufen kann. Der Wert kann nur zum Zeitpunkt eines Änderungsereignisses in diesem großen Blatt abgerufen werden. Und das alles, weil es nichts gibt, worauf man sich beziehen könnte, da es keine Objekte gibt...

Pjotr sagte, es würde mindestens ein Jahr dauern, um seinen Code zumindest geringfügig zu ändern... Da bin ich mir nicht so sicher. Die regelmäßige Bearbeitung von Texten, also von Code-Blöcken, ermöglicht es Ihnen, sehr schnell eine Sache durch eine andere zu ersetzen. Aber das ist eine andere Geschichte...

Ich werde wohl ein weiteres Video machen müssen... Ich habe vergessen zu zeigen, wie der EA den Wert der Elemente erhält. Der gleiche Aufruf, nur mit leeren Klammern, gibt den aktuellen Wert des Elements zurück.

Es besteht auch die Möglichkeit, durch denselben Aufruf Farben und Zustände des Elements zu ändern.

Heute werde ich eine kleine Demo in einer Gifka machen.
 
Реter Konow:
Ich muss wohl noch ein Video machen... Ich habe vergessen zu zeigen, wie der EA den Wert der Elemente erhält. Der gleiche Aufruf, nur mit leeren Klammern, gibt das aktuelle Element zurück.

Wenn Sie den Editor öffnen, verstehe ich nicht, warum Sie die Panels "Eigenschaftseditor" und "Elementbibliothek" nicht bis zu den Rändern des Diagramms "ausbreiten" und warum sie sich gegenseitig überlappen? Das ist natürlich eine Kleinigkeit im globalen Fluss, aber es ist etwas, das ins Auge sticht.

 
Реter Konow:
Ich muss wohl noch ein Video machen... Ich habe vergessen zu zeigen, wie der Expert Advisor den Wert der Elemente erhält. Der gleiche Aufruf, nur mit leeren Klammern, gibt den aktuellen Wert des Elements zurück.

Es ist auch möglich, die Farben und Zustände eines Elements mit demselben Aufruf zu ändern.

Ich werde heute eine kleine Demo in einem Gif erstellen.

Ah, ja, das hätten Sie sich denken können, ich war dumm. Da alles in Ihrem Programm auf globalen Variablen basiert und es kein Konzept des Kontexts gibt, kann natürlich alles von allem an jeder beliebigen Stelle im Programm erhalten werden.