#define NAME 0#define TYPE 1#define ELEMENT 2#define X 3#define X_SIZE 4#define Y 5#define Y_SIZE 6#define BG_COLOR 7#define TEXT_COLOR 7#define TEXT 8#define CORNER 9#define STATE 10//-------------------
int P_CORE[3][10] = {
//Основание кнопки.-----------------------------////NAME TYPE ELEMENT X Y X_SIZE Y_SIZE COLOR //----------------------------------------------
{ 100001, base, button, 100, 100, 200, 50, C'245,245,245'},
//---------------------------------------------- //Текст кнопки.---------------------------------////NAME TYPE ELEMENT X Y X_SIZE Y_SIZE COLOR //----------------------------------------------
{100002, text, button, 120, 120, 0, 0, C'245,0,0'},
//---------------------------------------------- //Иконка кнопки.-------------------------------- ////NAME TYPE ELEMENT X Y X_SIZE Y_SIZE COLOR
{100003, icon, button, 140, 140, 16, 16, 0},
//----------------------------------------------
};
エレメントの核となるのはテーブルです。
特定の要素の初期オブジェクトパラメータを保存するために設計された、プロトカーネルモデルを作成しました。
次に、メインのKernelを作り、そこに必要なだけの要素を書き込む必要があります。
そして、メインカーネル内の各要素に新しい値を設定する。
その後、エレメントを作成します。
そして、さまざまなイベントで一緒に活動することになります。
メインコアを宣言する。
int G_CORE[All_objects][All_properties];Coreの各列は、1つのObjectを占有することになります。
コアに入るオブジェクトの総数が何個になるかを決めなければなりません。そのためには、作成したいItemの数と、各Itemに含まれるObjectの数を計算する必要があります。
例えば、ボタンが10個あるとします。つまり、10要素×3オブジェクト=30オブジェクト。つまり、30列あるわけです。
メインコアのプロパティの数を増やしたのは、基本的なパラメータに加えて、要素やオブジェクトの名前、要素間のリンク、その他のプロパティが必要だからです。
オブジェクトのプロパティを 再宣言します。
TEXTプロパティには、ボタンテキストを格納する別の配列への参照が格納されます。
ELEMENTプロパティは、コア内で同じ要素のオブジェクトをリンクするために必要です(どのオブジェクトがどの要素に属しているかの混乱を避けるため)。このプロパティには、要素のシーケンス番号を設定する。
ベースとテキストとアイコンを混同しがちです。このインデックスとこのインデックスの中身は、説明で明確になっています。実際のプログラミングでは、すべてを頭の中に入れておかなければならない。ピーターは記憶力の巨人でありながら、忘れる能力が著しく低下していることは知っている。しかし、そんな巨人はあまりいないのではないでしょうか。もう次の日にはどこに何を入れるか忘れそうです。
大体以下のような感じで良いのではないでしょうか(私ならそうします)。
必要な素構造を宣言する。
これで、共通オブジェクトからベース、テキスト、アイコンの各インタフェースを取得できるようになりました。
そして、これら3つのインターフェースのいずれかが - 関連するプロパティを設定します。まあ、例えばテキストとかね。
位置構造(XとY)を埋めて、コアからテキストインターフェースを呼び出し、このインターフェースから、構造を使って位置設定関数を呼び出す のです。また、それぞれのインターフェースには、サイズやカラーを設定する機能があります。すべての関数がゼロに設定される、共通の純粋な仮想インターフェイスからそれらを継承することは理にかなっています。
ここでは、ミックスすることがより難しくなっています。なぜなら、どんなときでも、あなたは自分の仕事に必要なものしか手に入れることができないからです。そして何か他のもののために、それを呼び出す必要があります。もしそれが許されないのであれば、適切なシステム設計をすれば、この「禁じられた」インターフェースを呼び出すこともできないので、間違いから自分を守ることができます。
で、まずプロトタイプカーネルのプロパティの数を変えてみましょう、メインカーネルと同じでしたね。次にG_COREの構築のサイクルをやってみましょう。
この後、G_COREコアは10個のボタンのプロトタイプで埋め尽くされることになります。次に、Elementにユニークな名前をつけ、オブジェクトを そのElementにバインド し、各Elementにユニークなインデックスを与えることである。
で、まずプロトタイプカーネルのプロパティの数を変えてみましょう、メインカーネルと同じでしたね。では、G_COREを構築するループを作ってみましょう。
このコードから完璧にわかりますね。
a1が何の略で、a2が何の略なのか、もう忘れてしまったよ。
でも、面倒なのは半分で、忘れていたら上を見なければならなくなる。でも、忘れていないことは確かだし、要素が混ざっても大丈夫。 そのうえで、すぐに判明すればしめたものです。そうでなければ、まったく事実ではなく、エラーはずっと後になって、不運の法則によって、最も弱い場所で、最も都合の悪い瞬間に影響することになります。
ピーターさんのやり方は、暗記の巨人のようなもので、これもごく普通のことです。しかし、そのような巨漢の参加者はどれくらいいるのだろうか。
一方、一部でも ある小さな会社が、お粗末なGUIのコードを公開した。 :-)
彼らは本当に曲がり角に来ている...彼らは競争を恐れている!
ジョーク、ジョークですが、興味のある方はWindowsのGUIがどのように作られているのかを内部から見ることができます。
WPFは、Windowsデスクトップアプリケーションを構築するための.NET Core UIフレームワークです。: https://github.com/dotnet/wpf
Windows Formsは、Windowsデスクトップアプリケーションを構築するための.NET Core UIフレームワークです: https://github.com/dotnet/winforms
UWP XAML コントロールを含む Windows UI 機能の後方互換バージョン、および Fluent スタイルとマテリアル: https://github.com/Microsoft/microsoft-ui-xaml
一方、一部でも ある小さな会社が、その安っぽいGUIのコードを公開した。 :-
ここではGUIが問題なのではありません。私のアプローチは、あらゆる目的に外挿し、応用することが可能です。AIを含む。
次に、それがどのようにできるかを紹介します。
コアの中にいくつのオブジェクトを入れるかを決めなければなりません。そのためには、作成したいItemの数と、各Itemに含まれるObjectの数を計算する必要があります。
会場からの質問
ここでは、取引Expert Advisorの取引表を作成するとします。各行 - エントリー、出口価格、ボリュームなどを含む1つのトランザクションです。表の行数を正しく決定するために、Expert Advisorが実行する取引 回数をコンパイル前に事前に知るにはどうすればよいでしょうか。
会場からの質問
例えば、あるExpert Advisorのトレードのテーブルを作成するとします。各行には、エントリー、エグジット価格、ボリュームなどの1つのトレードがあります。テーブルの行数を正しく決定するために、エキスパートアドバイザーが実行する取引 数をコンパイル前に事前に知るにはどうすればよいですか?
各取引でArrayResizeを使用して配列に数値を追加し、取引のプロパティをそれに記録します。
同時に、プロパティをあらかじめセルに分配しておく。
その後、全データを取り寄せます。