
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
Hallo zusammen,
Angesichts der jüngsten Diskussion möchte ich vorschlagen, dass wir die Ergebnisse und Fortschritte des Projekts von Peter Konow in der "Codebase" und nicht im Forum dokumentieren. Das Forum eignet sich hervorragend für Diskussionen und unmittelbares Feedback, aber es fehlt ihm die Struktur und Kohärenz, die notwendig ist, um das Gesamtbild und die konsistente Politik des Projekts darzustellen.
Durch die Verwendung der Codebase können wir sicherstellen, dass alle relevanten Informationen organisiert und leicht zugänglich sind und einen klaren Überblick über den Stand des Projekts bieten. Dies wird nicht nur dazu beitragen, Klarheit zu schaffen, sondern auch die Zusammenarbeit und das Verständnis zwischen allen Teammitgliedern und Beteiligten zu verbessern.
Ich wäre Ihnen sehr dankbar, wenn Sie diese Anregung berücksichtigen könnten.
Durch die Verwendung einer 'Codebase' können wir sicherstellen, dass alle relevanten Informationen organisiert und leicht zugänglich sind und ein klares Bild vom Stand des Projekts vermitteln. Dies trägt nicht nur dazu bei, Klarheit zu schaffen, sondern fördert auch die Zusammenarbeit und das Verständnis zwischen allen Teammitgliedern und Beteiligten.
Ich wäre Ihnen sehr dankbar, wenn Sie diesen Vorschlag prüfen würden.
Es ist ein sehr vernünftiger Vorschlag, vielen Dank. Zweifellos ist die Codebasis sehr praktisch, um Aktualisierungen zu veröffentlichen und mit den Benutzern zu kommunizieren. Sie ist eine große Bereicherung für die Entwicklung des Projekts. Obwohl ich die Codebase in der Vergangenheit kaum genutzt habe, sehe ich jetzt den praktischen Sinn darin, die Bedingungen zu erkunden und mich an die Anforderungen anzupassen. Um eine Vorstellung von den Möglichkeiten und Grenzen dieser Plattform zu bekommen, werde ich mir Projekte von bekannten Mitgliedern der Community ansehen. Anhand ihres Beispiels werde ich das Projekt in der Codebase informativ und kompetent durchführen können.
Ich habe für heute eine Veröffentlichung geplant.
Allerdings habe ich beschlossen, den hilfreichen Rat eines Forumsmitglieds zu folgen und die neue Version in der Codebase zu veröffentlichen. Um es richtig zu machen, werde ich ein paar Tage brauchen, um Beispiele ähnlicher Veröffentlichungen zu studieren, einen Plan für den Parallelbetrieb des Projekts im Forum und dort zu erstellen. Und auch um die Moderation zu durchlaufen.
Ein paar Worte zu dieser Version:
1. Konzeption und Implementierung eines Systems der programmatischen Interaktion zwischen einem Benutzerprogramm und seiner grafischen Schnittstelle.
Mehr Details:
1. Wenn sie mit leeren Klammern aufgerufen werden, geben die Funktionen den Wert des Elementparameters mit einem der drei Typen zurück: int, double, string je nach dem Typ des Elements.
2. Beim Aufruf mit einem Wert in Klammern setzen die Funktionen den übergebenen Wert auf den Elementparameter und zeichnen ihn dann neu (der Wert wird je nach Elementtyp auf int, double oder string gesetzt).
3. Beim Aufruf mit dem Standardwert des ersten Parameters und einer Eigenschaftsnummer (aus den verfügbaren Eigenschaften) geben die Funktionen den Wert dieser Eigenschaft des Elements zurück (alle Eigenschaftsnummern sind vom Typ int, übergeben im Eigenschaftsparameter).
4 . Wenn die Funktionen mitvalue und propertyvalue in Klammernaufgerufen werden, setzen sie die übergebenen Werte auf die verfügbaren Eigenschaften des Elements. DieEigenschaftsnummer wird im Property-Parameter übergeben, der Eigenschaftswert wird imValue-Parameter übergeben.
Die Struktur der Funktions-Wrapper-Namen: w6_i_BUTTON_Start();
1. w ist der Anfangsbuchstabe aller Wrapper-Funktionen. Es ist eine Abkürzung für window.
2. 6 (oder eine andere Zahl) - die laufende Nummer des Fensters, das das Element enthält.
3. i (entweder d oder s) - bezeichnet den Typ des zurückgegebenen/eingestellten Wertes des Parameters des Elements.
4 BUTTON - Name des Elementtyps, zu dem die Wrapper-Funktion gehört. Es kann ein beliebiges anderes Element sein.
5. start - Name eines bestimmten Elements.
//----------------------------------------------------------------------------------------------------
Intelligente Anwendung des Intellisense-Systems:
Es wurde beschlossen, ein spezielles Präfix-System zu verwenden, das die Suche und das Auffinden der notwendigen Funktionen und Wrapper von Fenstern und Elementen erleichtert. Hier ist ein Beispiel:
Alle Fenster- und Element-Wrapper-Funktionen haben den Buchstaben w am Anfang. Wenn Sie jedoch einen kleinen Bindestrich nach w: _ setzen, öffnet sich ein Intellisense-Fenster mit einer Liste der Namen aller UI-Fensterfunktionen. Als Nächstes müssen Sie das Fenster mit dem gesuchten Namen in der Liste finden, sich seine Nummer ansehen (sie ist im Funktionsnamen angegeben), den Bindestrich löschen und diese Nummer hinter w setzen. Die Liste von intellisense mit den Namen der Funktionen der im Fenster enthaltenen Elemente wird sofort angezeigt. So wird es gemacht:
Dies ist ein einfacher Weg, um schnell durch die Liste der Element-Wrapper-Funktionen zu navigieren. Sie brauchen sie nicht einmal zu drucken.
//----------------------------------------------------------------------------------------------------------
//----------------------------------------------------------------------------------------------------------
Außerdem wurden Änderungen und Ergänzungen an der API-Datei vorgenommen. Jetzt stehen dem Benutzer mehr Informationen über das Element und das Fenster zur Verfügung:
Ich hoffe, dass ich diese Funktionen bald ausprobieren kann.
Ich präsentiere eine Version des Motors, die programmatisch mit der GUI interagiert.
Ich habe eine Menge getan. Es gibt etwas zu erzählen und zu zeigen.
Nach dem öffentlichen Testen werde ich es in die Codebase hochladen.
Eine interessante Sache hat sich herausgestellt...
Mehr Details morgen.
Um es gleich vorwegzunehmen: Ich habe eine sehr praktische Lösung für die Benutzer gefunden. Innerhalb ihres Codes können sie einfach durch Fenster, Elemente und Eigenschaften navigieren. Die Lösung erlaubt es ihnen, sich nicht an die Namen von Elementen oder Eigenschaften zu erinnern, sondern sie einfach zu finden und mit ihnen zu arbeiten. Gleichzeitig verfügt jedes Element über eine Liste von get/set-Eigenschaften, die nur für dieses Element und "verwandte" Elemente verfügbar sind. Da das Präfix in den Funktionsnamen des Elements eingebettet ist, ruft der Benutzer die Funktion auf und macht nicht den Fehler, eine Eigenschaft zurückzugeben oder zu setzen, die das Element nicht hat.
Die Wrapper-Funktionen haben sich als so vielseitig und einfach zu verwenden erwiesen, dass ich selbst überrascht bin. Sie geben den Wert eines Parameters zurück, wenn die Klammern leer sind, setzen ihn, wenn der Wert eins ist, geben den Wert einer Eigenschaft aus einer Liste zurück, wenn der erste Parameter leer ist und der Eigenschaftsindex im zweiten steht. Sie setzen einen Wert für eine Eigenschaft, wenn der erste Parameter einen Wert und der zweite einen Eigenschaftsindex enthält. Sie geben auch eine Ergebnismeldung zurück: 1 bei Erfolg und -1 bei Fehler (ungültiger Wert oder ungültige Eigenschaft). Die Funktionen zeichnen die Elemente selbst neu. Sie brauchen sich darum nicht zu kümmern.
Was Sie mit Wrapper-Funktionen tun können:
1. Den Wert des Elementparameters abfragen.
2. Den Wert eines Elementparameters setzen.
3. Holen Sie sich Werte von Element-Eigenschaften aus der individuellen Liste der Eigenschaften, die zu seinem Typ von Elementen gehören (aufgerufen durch das Präfix im Funktionsnamen geschrieben).
4. Setzen der Werte der Elementeigenschaften aus derselben Liste.
5. Einstellen des Zustands des Elements: neutral, aktiviert, (ein/aus), blockiert neutral, blockiert aktiviert.
6. Gibt den aktuellen Zustand des Elements zurück.
Im ersten Fall gibt die Funktion den Wert des Parameters zurück.
Im zweiten Fall gibt sie das Ergebnis zurück: erfolgreich oder Fehler. Der Fehler wird in das Protokoll ausgegeben.
Im dritten Fall gibt sie den Wert der Eigenschaft zurück.
Im vierten Fall - Ergebnis: Erfolg oder Fehler beim Setzen der Eigenschaft.
Im fünften Fall - gibt 1 oder -1 zurück.
Im sechsten Fall wird der Statusindex des Elements zurückgegeben (Details siehe unten).
Alles wird von einer Wrapper-Funktion erledigt, die automatisch gedruckt wird. Um es zu finden, geben Sie w_, die Liste der Intellisense wird geöffnet, es enthält die Namen der Fenster. In einem davon befindet sich das Element, das Sie suchen. Sie müssen sich ungefähr merken, in welchem Fenster es sich befindet. Dann löschen Sie den Teufel, tippen die Fensternummer ein und wählen das gesuchte Element aus der Liste der Elemente aus. Kein Auswendiglernen.
Auch die Eigenschaften der Elemente müssen Sie sich nicht merken. Schauen Sie sich den Namen des Elements an, sehen Sie das Präfix, um eine Liste der einzelnen Eigenschaften zu öffnen. Tippen Sie es ein, öffnen Sie es, wählen Sie die Eigenschaft aus. Sie brauchen sich überhaupt nichts zu merken. Sie müssen auch nicht tippen. Intellisense macht alles.
Windows hat auch seine eigenen Wrapper. Sie können sie öffnen und schließen. Der Rest der Funktionen ist noch nicht implementiert worden.
Ich habe ein großes Upgrade der API-Datei vorgenommen. Sie enthält jetzt eine RIESIGE Menge an nützlichen Informationen über das Element. Nämlich: Präfixe, individuelle Eigenschaften, Prototypen der Element-Wrapper-Funktion und ihres Fensters, die genaue Position des Elements (Tabelle, Canvas und Registerkarte, zu der das Element gehört, falls vorhanden), der Typ seines Parameters (int, double, string...), die Eigenschaften seines Parameters (Min.-Wert, Max.-Wert, Schritt, Anzahl der Ziffern nach dem Dezimalpunkt) werden ausgegeben. Anfangswert oder ausgewählte Option (je nach Element). Alles ist recht lesbar und verständlich gestaltet.
Ich habe die neue Funktionalität teilweise getestet und bin damit zufrieden. Alles funktioniert wie vorgesehen.
Morgen werde ich es in der Praxis zeigen.