Benim yaklaşımım. Çekirdek - Motor. - sayfa 57

 
Реter Konow :

Yapıcı olsaydı, ücretsiz bir sürüm yayınlardım. Ama her yerde, belirgin ve açıklanamaz bir olumsuzluk görüyorum. Ve her taraftan. Anlamaya çalıştığım fenomen bu.

Peter, bir buçuk yıl önce sana kişisel bir mesajla yazdım:

Fenomen yok. Anlamayı reddettiğinize dair kanıtlar var.
Ve bariz olan şu ki, eski programlama yöntemlerini kullanıyorsunuz ve temelde tembellik nedeniyle yeni çatı kaplama keçeleri, aşırı derecede muhafazakarlık nedeniyle çatı kaplama keçeleri veya sadece çocukluktan kaynaklanan protesto davranışı nedeniyle öğrenmek istemiyorsunuz.

 
Реter Konow :

C# bilmek gerekiyor. Bir DLL yazabilmeniz gerekir. Form ve MT uygulaması arasındaki etkileşimi organize etmek VE düşünmek gereklidir.

Tüm adımları bir araya getirelim ve her şeyin gerçekten dediğiniz kadar basit olup olmadığını görelim. Ben kendim ilgileniyorum.

Lütfen DLL kodunu gönderin.

hmm, maksimum düzeyde açıklıyor gibiyim, kötü bir öğretmenim ama çabuk öğrenirim)))

tamam, ayrıntılı olarak deneyeyim:

1. C# derleyicisini indirin, SharpDevelop'u indirdim http://www.icsharpcode.net/OpenSource/SD/Download/Default.aspx , SharpDevelop 5 için İndirilenler'i seçtim (Frameworks 2.0 ila 4.5.1) = 14 Mb

2. Yükleyin, çalıştırın

3. Yeni bir proje oluşturun: Dosya - Yeni - Çözüm - C# Klasörü - Sınıf Kitaplığı

4. Görsel bir form ekleyin: Dosya - Yeni -Yeni dosya (Proje içinde Dosya oluştur'a tıklayın) - Klasör C# - Klasör Windows Uygulamaları - Form

5. Tüm proje hazır, form tasarımcısını açın, düğmeler, onay kutuları, sekmeler, ızgaralar ekleyin... tüm Windows standart gadget'ları

6. Projemizin adının bulunduğu dosyaya ana kodu yazıyoruz:

namespace Mylib
{
         /// <summary>
         /// Description of TestClass.
         /// </summary>
         public class TestClass
{
         static Form1 f= new Form1();
         public static void Run()
   {
        f.ShowDialog();
   }
}
}

7. F8'e basın ve bitmiş .dll'niz için projenizin klasöründeki diske bakın.

MT5'te formu arayacak bir uzman yazıyoruz:

 #import "Mylib.dll"
#import
//+------------------------------------------------------------------+
int OnInit ()
  {
   TestClass::Run();
   return ( INIT_SUCCEEDED );
  }
//+------------------------------------------------------------------+
void OnTick ()
  {
  }
//+------------------------------------------------------------------+

başlatırız, kontrolleri olan hazır bir pencere kullanırız, sonra MQL'de (OnTick() veya OnTimer()'da uygun olduğu yerde) düğme işleyicileri ve C#'da kullanıcının istek üzerine tıkladıklarını bize döndürecek bir sınıf yaparız

buraya uzman ve .dll'nin kaynak kodunu ekledim bugün bilgisayar başına oturamayacak kadar tembelim yarın bu formun neden test cihazında çalışmak istemediğini çözeceğim ama yazdığım gibi var ağda çok fazla bilgi var, kişisel kullanım için daha kolay hayal bile edemezsiniz;)

Dosyalar:
MQL5.zip  11 kb
 
Igor Makanu :

hmm, maksimum düzeyde açıklıyor gibiyim, kötü bir öğretmenim ama çabuk öğrenirim)))

tamam, ayrıntılı olarak deneyeyim:

1. Derleyiciyi indirin ///

Sence bunu öğrenmek için buna ihtiyacı var mı (bu arada, kısa ve kesin talimatlar için teşekkürler)?

Şimdi yaklaşımının neden daha iyi olduğunu açıklamaya başlayacak, ancak bu iyi değil.

 
Dmitry Fedoseev :

Sence bunu öğrenmek için buna ihtiyacı var mı (bu arada, kısa ve kesin talimatlar için teşekkürler)?

Şimdi yaklaşımının neden daha iyi olduğunu açıklamaya başlayacak, ancak bu iyi değil.

Ah, bilmiyorum bile, belki de haklısın!

ama en az direnç yolunu tuttum... Kafamda kötü düşünceler tutmadım, kendime bir soru gördüm, aldım ve cevapladım, forumlarda her zaman böyle bir kural vardır: sen söyle, ben söyleyeyim sen)))

 
Vitalii Ananev :
Neden Peter, aynı şeyi OOP kullanarak yaparsın. Neden özelliklerini kullanmadığınızı anlamıyorum ve OOP'nin ilkelerini anlamaya bile çalışmıyorsunuz. Bir BT uzmanının mesleği, bu uzmanın sürekli olarak kendi kendine eğitimle meşgul olduğu anlamına gelir. Teknoloji dur durak bilmedikçe, yeni programlama dilleri ortaya çıktıkça, PC'nin gücü de artıyor. Genel olarak, ilerleme durmaz. Ve sen programlama tarzınla 2000'ler düzeyinde takılıp kalıyorsun ve diğer programcıları o tüylü yılların düzeyine geri dönmeye davet ediyorsun. Birçok kez tekrarladım ve tekrar edeceğim. Tüm bunları OPP kullanarak yapmaya çalışın.

Ama ne fark eder ki - OOP olsun ya da olmasın, aynı şey yapılacaktır. Zaten ne yapıldı

 
Nikolai Semko :

Peter, bir buçuk yıl önce sana kişisel bir mesajla yazdım:

Fenomen yok. Anlamayı reddettiğinize dair kanıtlar var.
Ve bariz olan şu ki, eski programlama yöntemlerini kullanıyorsunuz ve temelde tembellik nedeniyle yeni çatı kaplama keçeleri, aşırı derecede muhafazakarlık nedeniyle çatı kaplama keçeleri veya sadece çocukluktan kaynaklanan protesto davranışı nedeniyle öğrenmek istemiyorsunuz.

Nikolai, kendini kaptırdın ve neden belli değil. Tahmin edebiliyorum:

1. Psikiyatrist niteliklerine sahipsiniz, ancak Hipokrat yemini etmediniz.

2. Kendinizi kaptırdınız ve tamamen etik olmayan bir karar için Peter'dan özür dilemeye hazırsınız.

 
Алексей Тарабанов :

Nikolai, kendini kaptırdın ve neden belli değil. Tahmin edebiliyorum:

1. Psikiyatrist niteliklerine sahipsiniz, ancak Hipokrat yemini etmediniz.

2. Kendinizi kaptırdınız ve tamamen etik olmayan bir karar için Peter'dan özür dilemeye hazırsınız.

Bu nedenle, dünyanın medeni ülkelerinde, nüfusun çok yüksek düzeyde psikolojikleşmesi (psikolojiye ilgi ve anlayışı anlamında) vardır. genel olarak, bir kişi başka bir kişinin davranışını anlamaya çalıştığında ve onun hakkında konuştuğunda özel bir şey yoktur ve genel olarak tüm davranış özelliklerinin çocuklukta kök saldığı bir sır değildir, bu kimseyi şaşırtmaz veya rahatsız etmez ve herkes bu konuda sakindir.

 
Алексей Тарабанов :

Ama ne fark eder ki - OOP olsun ya da olmasın, aynı şey yapılacaktır. Zaten ne yapıldı

Genel olarak, yaklaşımınızın tüm avantajlarını ve OOP'nin prensipte tamamen başarısızlığını çılgınca kanıtlamaya çalışmazsanız, farketmez.

 
Dmitry Fedoseev :

Bu nedenle, dünyanın medeni ülkelerinde, nüfusun çok yüksek düzeyde psikolojikleşmesi (psikolojiye ilgi ve anlayışı anlamında) vardır. genel olarak, bir kişi başka bir kişinin davranışını anlamaya çalıştığında ve onun hakkında konuştuğunda özel bir şey yoktur ve genel olarak tüm davranış özelliklerinin çocuklukta kök saldığı bir sır değildir, bu kimseyi şaşırtmaz veya rahatsız etmez ve herkes bu konuda sakindir.

Ayrıca gelecekte iyi bir insanın nerede doğduğunu, örneğin Nikolai Semko'yu ve onda neyin zarar gördüğünü tartışalım. Biz uygar bir ülkeyiz.

 
Dmitry Fedoseev :

Genel olarak, yaklaşımınızın tüm avantajlarını ve OOP'nin prensipte tamamen başarısızlığını çılgınca kanıtlamaya çalışmazsanız, farketmez.

Denersen bir fark olur mu? Tablo - OOP nerede?

Hadi farklı yapalım, sıcak OOP adamları. 2 tablo yapın. İlk - OOP olmadan, ikincisi - onunla. Ana şey - karıştırmayın.

Neden: