Мой подход. Ядро - Движок. - страница 59

 
Один человек, делает "что то", уже 3000 лет, так и не показав свое детище, но, ему упрекают, что мол не правильной дорогой идешь :)
Петр, Петр Великий Кодер, если я правильно понял, то вы маркетолог?
 
jdjahfkahjf:
Один человек, делает "что то", уже 3000 лет, так и не показав свое детище, но, ему упрекают, что мол не правильной дорогой идешь :)
Петр, Петр Великий Кодер, если я правильно понял, то вы маркетолог?

Не показав, но при этом вполне себе четко описывая свои принципы. По ним и возражают, по ним и говорят, что "дорога неправильная".

Причем, "неправильная" она-то как раз не для автора, а для возражающих. У которых куринные мозги, и которые не могут запомнить, где и какие объекты они создали, где и кто на них ссылается, что каждая ячейка в массиве обозначает, откуда их можно менять, откуда нельзя... Понятное дело, что оппоненты и возмущены. Вместо того, чтобы тренировать свою память, чтобы с легкостью запомнить пару тысяч объектов и ссылки в программе - они, глупые, себе же обрезают права доступа, определяют какие-то разграничения, какие-то интерфейсы, какие-то полиморфные фунции... Мучают себя, как при царском режиме, эх...

 
Georgiy Merts:

Причем, "неправильная" она-то как раз не для автора, а для возражающих. У которых куринные мозги, и которые не могут запомнить, где и какие объекты они создали, где и кто на них ссылается, что каждая ячейка в массиве обозначает, откуда их можно менять, откуда нельзя... Понятное дело, что оппоненты и возмущены. Вместо того, чтобы тренировать свою память, чтобы с легкостью запомнить пару тысяч объектов и ссылки в программе - они, глупые, себе же обрезают права доступа, определяют какие-то разграничения, какие-то интерфейсы, какие-то полиморфные фунции... Мучают себя, как при царском режиме, эх...

как то так:

у топикстартера талант привлекать аудиторию, которая потом в его топике устраивает срач, за ночь успели вспомнить кто каким местом откуда вылез, обсудить психологию, помириться и выпить за здравие!

ЗЫ: За здравие поздравляю! Удачи, здоровья и долголетия!

 
Georgiy Merts:

Не показав, но при этом вполне себе четко описывая свои принципы. По ним и возражают, по ним и говорят, что "дорога неправильная".

Причем, "неправильная" она-то как раз не для автора, а для возражающих. У которых куринные мозги, и которые не могут запомнить, где и какие объекты они создали, где и кто на них ссылается, что каждая ячейка в массиве обозначает, откуда их можно менять, откуда нельзя... Понятное дело, что оппоненты и возмущены. Вместо того, чтобы тренировать свою память, чтобы с легкостью запомнить пару тысяч объектов и ссылки в программе - они, глупые, себе же обрезают права доступа, определяют какие-то разграничения, какие-то интерфейсы, какие-то полиморфные фунции... Мучают себя, как при царском режиме, эх...

Для того, чтобы хорошо запоминать, нужно на родном языке программировать. А лучше на двух языках. Тогда память на все 100 работает.

Эту простую истину понять не могут. Стереотипы мешают.


И при уменьшении правил, лучше запоминаются собственные построения в программе. Поэтому я и придумал свой подход, с ничтожным кол-вом правил. Чтобы сделать реально много.

 
Igor Makanu:

как то так:

у топикстартера талант привлекать аудиторию, которая потом в его топике устраивает срач, за ночь успели вспомнить кто каким местом откуда вылез, обсудить психологию, помириться и выпить за здравие!

ЗЫ: За здравие поздравляю! Удачи, здоровья и долголетия!

Сейчас скачиваю и устанавливаю С#.

Хочу разобраться с этим вопросом на практике.

Посмотрим, на сколько все просто.

 
Реter Konow:

Для того, чтобы хорошо запоминать, нужно на родном языке программировать. А лучше на двух языках. Тогда память на все 100 работает.

Эту простую истину понять не могут. Стереотипы мешают.

Вы всё время говорите о стереотипах. Давайте рассуждать объективно. Вот посмотрите, все будущие программисты из школьных парт изучают в основном C++, участвуют в конкурсах.

Все международные конкурсы для школьников и студентов мирового масштаба проходят на C++, Java, не знаю есть Паскаль или C# или нет. Но царит C++, не считая средства для WEB.

А как вы думали ?, всем удобно стиль C++ и ООП.  Но форекс-программистов среди программистов очень и очень мало, а также количество тех, кто занимается форексом. Многие даже не знают что такое Forex, даже американцы.

Из тысячи программистов может быть и не найдете ни одного программиста, который занимался алготрейдингом. 

 

Поставил C#. Открыл проект. Сделал форму и добавил на нее две кнопки и три чекбокса.

Вот какой код в редакторе:

/*
 * Created by SharpDevelop.
 * User: Peter Konow
 * Date: 12.12.2018
 * Time: 9:08
 * 
 * To change this template use Tools | Options | Coding | Edit Standard Headers.
 */
using System;
using System.Collections.Generic;
using System.Drawing;
using System.Windows.Forms;

namespace Test_app_1
{
        /// <summary>
        /// Description of MainForm.
        /// </summary>
        public partial class MainForm : Form
        {
                public MainForm()
                {
                        //
                        // The InitializeComponent() call is required for Windows Forms designer support.
                        //
                        InitializeComponent();
                        
                        //
                        // TODO: Add constructor code after the InitializeComponent() call.
                        //
                }
                
                void Button1Click(object sender, EventArgs e)
                {
                        
                }
        }
}

Вопрос: Почему есть функция одной кнопки и где функции второй кнопки и чекбоксов?

Нашел этот код:

/*
 * Created by SharpDevelop.
 * User: Peter Konow
 * Date: 12.12.2018
 * Time: 9:08
 * 
 * To change this template use Tools | Options | Coding | Edit Standard Headers.
 */
namespace Test_app_1
{
        partial class MainForm
        {
                /// <summary>
                /// Designer variable used to keep track of non-visual components.
                /// </summary>
                private System.ComponentModel.IContainer components = null;
                
                /// <summary>
                /// Disposes resources used by the form.
                /// </summary>
                /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
                protected override void Dispose(bool disposing)
                {
                        if (disposing) {
                                if (components != null) {
                                        components.Dispose();
                                }
                        }
                        base.Dispose(disposing);
                }
                
                /// <summary>
                /// This method is required for Windows Forms designer support.
                /// Do not change the method contents inside the source code editor. The Forms designer might
                /// not be able to load this method if it was changed manually.
                /// </summary>
                private void InitializeComponent()
                {
                        this.button1 = new System.Windows.Forms.Button();
                        this.checkBox1 = new System.Windows.Forms.CheckBox();
                        this.checkBox2 = new System.Windows.Forms.CheckBox();
                        this.checkBox3 = new System.Windows.Forms.CheckBox();
                        this.button2 = new System.Windows.Forms.Button();
                        this.SuspendLayout();
                        // 
                        // button1
                        // 
                        this.button1.Location = new System.Drawing.Point(25, 21);
                        this.button1.Name = "button1";
                        this.button1.Size = new System.Drawing.Size(131, 76);
                        this.button1.TabIndex = 0;
                        this.button1.Text = "button1";
                        this.button1.UseVisualStyleBackColor = true;
                        this.button1.Click += new System.EventHandler(this.Button1Click);
                        // 
                        // checkBox1
                        // 
                        this.checkBox1.Location = new System.Drawing.Point(25, 146);
                        this.checkBox1.Name = "checkBox1";
                        this.checkBox1.Size = new System.Drawing.Size(104, 24);
                        this.checkBox1.TabIndex = 1;
                        this.checkBox1.Text = "checkBox1";
                        this.checkBox1.UseVisualStyleBackColor = true;
                        // 
                        // checkBox2
                        // 
                        this.checkBox2.Location = new System.Drawing.Point(25, 176);
                        this.checkBox2.Name = "checkBox2";
                        this.checkBox2.Size = new System.Drawing.Size(104, 24);
                        this.checkBox2.TabIndex = 2;
                        this.checkBox2.Text = "checkBox2";
                        this.checkBox2.UseVisualStyleBackColor = true;
                        // 
                        // checkBox3
                        // 
                        this.checkBox3.Location = new System.Drawing.Point(25, 207);
                        this.checkBox3.Name = "checkBox3";
                        this.checkBox3.Size = new System.Drawing.Size(104, 24);
                        this.checkBox3.TabIndex = 3;
                        this.checkBox3.Text = "checkBox3";
                        this.checkBox3.UseVisualStyleBackColor = true;
                        // 
                        // button2
                        // 
                        this.button2.Location = new System.Drawing.Point(172, 21);
                        this.button2.Name = "button2";
                        this.button2.Size = new System.Drawing.Size(127, 76);
                        this.button2.TabIndex = 4;
                        this.button2.Text = "button2";
                        this.button2.UseVisualStyleBackColor = true;
                        // 
                        // MainForm
                        // 
                        this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
                        this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
                        this.ClientSize = new System.Drawing.Size(325, 261);
                        this.Controls.Add(this.button2);
                        this.Controls.Add(this.checkBox3);
                        this.Controls.Add(this.checkBox2);
                        this.Controls.Add(this.checkBox1);
                        this.Controls.Add(this.button1);
                        this.Name = "MainForm";
                        this.Text = "Test app 1";
                        this.ResumeLayout(false);
                }
                private System.Windows.Forms.Button button2;
                private System.Windows.Forms.CheckBox checkBox3;
                private System.Windows.Forms.CheckBox checkBox2;
                private System.Windows.Forms.CheckBox checkBox1;
                private System.Windows.Forms.Button button1;
        }
}

 И как это использовать для взаимосвязи с МТ5?

 

То есть, у меня 5 элементов управления на форме. Как дальше подключить их к МТ5?

 
Реter Konow:

 И как это использовать для взаимосвязи с МТ5?

увы, подробнее чем здесь написал уже не могу https://www.mql5.com/ru/forum/293630/page57#comment_9851502

но если знаете как работает событийная модель в Виндовс и имели опыт работы с компиляторами с дизайнерами (конструкторами) форм, то везде все одинаково устроено

ЗЫ: я Шарп втрой раз в жизни вижу, но имел большой опыт под Делфи, разницы вообще не вижу, все один в один работает, что не работает, гуглится с первого раза

Мой подход. Ядро - Движок.
Мой подход. Ядро - Движок.
  • 2018.12.11
  • www.mql5.com
В этой ветке, я хочу рассказать о своем подходе в программировании. Заранее предупреждаю, - здесь не будет обсуждений GUI...
 
Igor Makanu:

увы, подробнее чем здесь написал уже не могу https://www.mql5.com/ru/forum/293630/page57#comment_9851502

но если знаете как работает событийная модель в Виндовс и имели опыт работы с компиляторами с дизайнерами (конструкторами) форм, то везде все одинаково устроено

ЗЫ: я Шарп втрой раз в жизни вижу, но имел большой опыт под Делфи, разницы вообще не вижу, все один в один работает, что не работает, гуглится с первого раза

  1. Нужно переслать событие нажатия кнопок и чекбоксов в МТ5. 
  2. Нужно программно изменить состояние чекбокса или кнопки в форме.
Как это сделать?


PS. Программно, имеется ввиду из МТ5. Пользователь в МТ5 программе должен поменять состояние чекбокса или кнопки в форме.