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

 
Maxim Kuznetsov :
belki de direktif olarak çekirdek motoru yazmak için gönderilmişti .. peki, forumun dikkati dağılmasın :-)

Bir sonraki görev, hatırladığım kadarıyla, tuval üzerine yazmaktı.

"Tuvale yazacağım, şilteye uzanacağım")))

 
Реter Konow :

George, anlamıyorum - yaklaşımım nerede? Hafif bir biçimlendirme dili tarafından oluşturulan bir GUI bağlantı arabirimi sağlıyorum. Yaklaşımımı kim incelemeli ve neden?

Önerdiğim her şey en basit MQL'den çok daha basit.

Hayır. Baktım - ve daha karmaşık olduğunu görüyorum. Tam olarak, ne, nerede, nerede ve nasıl hatırlamanız gereken birçok fırsat aynı anda sağlandığı için. Ve benim hafızam seninkinden çok daha kötü. Yani - her şeyi hatırlayanlar için - ve aslında her şey zor değil. Peki hatırlamayanlar için?

İşaretleme diliniz, "her şey her zaman mevcut olduğunda" yaklaşımınızın sadece bir örneğidir.

Ama yine de soru, bu biçimlendirme dilinin iyi olup olmadığı, yaklaşımın iyi olup olmadığı, uygulamanın iyi olup olmadığı değildir.

Asıl soru şu olmalıdır - buna kimin ihtiyacı var, hedef kitle kim.

Zaten birçok kez söyledim - onu görmüyorum. "O ortaya çıkacak" diye itiraz ettin. Peki... Bekliyoruz...

 
Sistem çöküyor. işimden biliyorum. :) Desteğin için teşekkürler. Şimdi de herkes için yasaksız talep edeceğim. (Her ihtimale karşı. Aniden yanlışlıkla. :))
 
Georgiy Merts :

Hayır. Baktım - ve daha zor olduğunu görüyorum. Tam olarak, ne, nerede, nerede ve nasıl hatırlamanız gereken birçok fırsat aynı anda sağlandığı için. Ve benim hafızam seninkinden çok daha kötü. Yani - her şeyi hatırlayanlar için - ve aslında her şey zor değil. Peki hatırlamayanlar için?

İşaretleme diliniz, "her şey her zaman mevcut olduğunda" yaklaşımınızın sadece bir örneğidir.

Ama yine de soru, bu biçimlendirme dilinin iyi olup olmadığı, yaklaşımın iyi olup olmadığı, uygulamanın iyi olup olmadığı değildir.

Asıl soru şu olmalıdır - buna kimin ihtiyacı var, hedef kitle kim.

Zaten birçok kez söyledim - onu görmüyorum. "O ortaya çıkacak" diye itiraz ettin. Peki... Bekliyoruz...

Vasili Sokolov :

Üzgünüm Peter, ama şimdiye kadar sunduğunuz tek şey, düzinelerce parametre ve bilinmeyen bir şeye çağrı içeren bir MQL programının bazı cehennemi satırları. Bu, biçimlendirme dilinizin bir prototipiyse, şimdiden korkuyorum.

Dün iki pencereli bir çözüm sundum. İşaretleme dilindeki kodlarının bir örneği:

(Dürüst olmak gerekirse burada cehennem gibi karmaşık olanı anlamıyorum)

 //-------------------------------------------------------------------------------------------------------------------- 
NEW_WINDOW,  W_NAME, "Window 1" ,  W_ICON, 98 ,   W_TYPE, SETTINGS,  OOI,
//====================================================================================================================
GROUP,A, 

__,BUTTON, "Button 1" , GAP, 30 ,  BUTTON, "Button 2" , 

__, CHECKBOX, "Checkbox 1" ,  GAP, 100 ,  EDIT, "Edit box 1" ,  W, 130 ,
__, CHECKBOX, "Checkbox 2" ,
__, CHECKBOX, "Checkbox 3" ,

END_GROUP,
//----------------------------------
i,AT,_X2X, "MF" , 10 ,  _Y2Y, "MF" , 10 ,
//----------------------------------
i,Y_GAP, 20 ,
//----------------------------------
i,BUTTONS,  PARAM_TYPE,_BOOL, W, 150 ,  H, 100 ,   N_COLOR,( int ) C'235,235,235' , END,
//----------------------------------


//-----------------------------------------------------------------
GROUP,A, 

__, BOARD, "Enter text" ,   

END_GROUP,
//----------------------------------
"Enter text" , H_C2C,   "Edit box 1" , 0 ,
"Enter text" , ON_LEFT, "Edit box 1" , - 20 ,
//-----------------------------------------------------------------


//====================================================================================================================
END_WINDOW,


//-------------------------------------------------------------------------------------------------------------------- 
NEW_WINDOW,  W_NAME, "Window 2" ,  W_ICON, 99 ,   W_TYPE, SETTINGS,  OOI,
//====================================================================================================================

GROUP, A,

__, T_BOX, "T_1" ,
             "This window's" ,
             "appearance controlled" ,
             "by user's programm." ,
             END,

END_GROUP,
//----------------------------
i,AT,_X2X, "MF" , 10 ,  _Y2Y, "MF" , 10 ,
"T_1" ,FONT_SIZE, 20 ,
"T_1" ,text,N_COLOR,( int ) C'255,110,10' ,
"T_1" ,text,TEXT_FONT, "Arial Bold" ,
"T_1" ,N_COLOR,( int ) C'240,240,240' ,

//====================================================================================================================
END_WINDOW,

Tabii ki, açıklamalar olmadan her şey net değil, ama onlarsız bile aynı anda çok şey anlayabilirsiniz (bana göründüğü gibi ...).

 

Ve sonuç:


 
Реter Konow :

Dürüst olmak gerekirse burada bu kadar karmaşık olan ne anlamıyorum

"Cehennem kadar zor" demedim. Dedim ki - çok şey hatırlaman gerekiyor.

Doğrudan proje üzerinde çalışırken, açıklamaya bakıyorsunuz ve bu çok kritik değil. Her şey bir şekilde kafada tutulur. Ama şimdi bir arayüz yaptınız, diğer alanlara geçtiniz. Ve sonra, bir ay sonra, bir şeylerin değişmesi gerekiyordu. Açıyorsun ve hiçbir şey anlamadığını fark ediyorsun ve tekrar çözmen gerekiyor.

Bu bir şeydir - açıklamanın yapısı, bir şeyi fiziksel olarak karıştıramayacağınız şekilde olduğunda. Çünkü "yanlış" bir şey yaparsanız - proje derlenmeyecektir. Ve her şeyi kolayca karıştırabildiğiniz zaman tamamen farklı bir konudur, ancak kimse sizi durduramaz, kodu gözden geçireceksiniz - “her şey yolunda görünüyor” ve sonra hata en uygunsuz anda bulunacaktır.


Ancak, tüm bunlar aslında o kadar ciddi bir sorun değil. Asıl problemin Peter, hedef kitle. O değil.

 
Georgiy Merts :

....

Ancak, tüm bunlar aslında o kadar ciddi bir sorun değil. Asıl problemin Peter, hedef kitle. O değil.

Biliyorsun George, büyük bir şey yapmaya karar verdiğim bir proje buldum. Yani tüm MQL kullanıcılarından oluşan hedef kitleye güvendim.

Belki de ben hatalıyım. Belki çok az kişinin ihtiyacı vardır. Kim bilir... Hayat gösterecek...))

 
Реter Konow :

Belki de ben hatalıyım. Belki çok az kişinin ihtiyacı vardır. Kim bilir... Hayat gösterecek...))

Bunun için "B seçeneği" gerekir.

Her zaman olduğu gibi, örnek olarak Ligimi verebilirim - ilk başta ilgileneceklerini ve optimizasyon konusunda bana yardımcı olacaklarını düşündüm. Sadece iki kişi cevap verdi. Ancak, "B seçeneği" vardı - her zaman demo üzerinde çalışan bir "araç havuzuna" sahip olmak için yeni bir bilgisayar satın aldım ve Ligi büyük ölçüde kendim için yarattığımdan birinin yardımına ihtiyaç duymayı bıraktım. . Ve şimdi elimde, gerçekten en iyilerini seçme olasılıklarını araştırıyorum.

İşte buna ihtiyacınız var - böylece projenizin sonucuna kendiniz ihtiyacınız olacak. Sonra onu kullanırsın ve üyelere hava atarsın. İlgilenen insanlar görünecek - onlarla paylaşın (veya satın). Görünmeyecek - kendine ihtiyacın var. Her iki durumda da, kazanırsın.

 
Реter Konow :

(Dürüst olmak gerekirse burada cehennem gibi karmaşık olanı anlamıyorum)

 //+------------------------------------------------------------------+
//|                                               Forum sample 2.mqh |
//|                                                      Peter Konow |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
//-------------------------------------------------------------------------------------------------------------------- 
NEW_WINDOW,  W_NAME, "Window 1" ,  W_ICON, 98 ,   W_TYPE, SETTINGS,  OOI,
//====================================================================================================================
GROUP,A, 

__,BUTTON, "Button 1" , GAP, 30 ,  BUTTON, "Button 2" , 

__, CHECKBOX, "Checkbox 1" ,  GAP, 100 ,  EDIT, "Edit box 1" ,  W, 130 ,
__, CHECKBOX, "Checkbox 2" ,
__, CHECKBOX, "Checkbox 3" ,

END_GROUP,
//----------------------------------
i,AT,_X2X, "MF" , 10 ,  _Y2Y, "MF" , 10 ,
//----------------------------------
i,Y_GAP, 20 ,
//----------------------------------
i,BUTTONS,  PARAM_TYPE,_BOOL, W, 150 ,  H, 100 ,   N_COLOR,( int ) C'235,235,235' , END,
//----------------------------------

...

Gerçekten mi soruyorsun yoksa şaka mı yapıyorsun? Tablo olarak vermek istediğiniz yüzlerce değişkeni tanımlayan bir cehennem çizginiz var. Sözde tablonun kendisi, yapısız, belirsiz kısaltmalar içeren bir eğridir.

Ama olan bu:

 void Sync_params( int ID){ for ( int a1 = 0 ; a1 < All_params; a1++){ if (( int )P_CORE[a1][_SYNC_ID] == ID){P_CORE[a1][_LAST_VALUE]    = P_CORE[a1][_CURRENT_VALUE];P_CORE[a1][_CURRENT_VALUE] = P_CORE[a1][_NEW_VALUE];}}}
void Sync_P_CORE(){ for ( int a1 = 0 ; a1 < All_params; a1++){ if (P_CORE[a1][_CURRENT_VALUE] != P_CORE[a1][_NEW_VALUE]){P_CORE[a1][_LAST_VALUE]    = P_CORE[a1][_CURRENT_VALUE];P_CORE[a1][_CURRENT_VALUE] = P_CORE[a1][_NEW_VALUE]; if (P_CORE[a1][_SYNC_ID] != NULL )Sync_params(( int )P_CORE[a1][_SYNC_ID]); EventChartCustom ( 0 ,_SYNC_P_CORE,( int )P_CORE[a1][_ELEMENT], 0 ,P_CORE[a1][_CURRENT_VALUE]);}}}

Bu biçimlendirmeyi kendin mi buldun? Tebrikler, ioccc.org'da birinci olmak için her şansınız var.

Ama dostum, öyle yazmıyorlar. GENEL OLARAK. Bu kodu kimse kullanamaz.

The International Obfuscated C Code Contest
  • ioccc.org
International Obfuscated C Code Contest
 
Vasiliy Sokolov :

Ama dostum, öyle yazmıyorlar. GENEL OLARAK. Bu kodu kimse kullanamaz.

Vasily, Peter'dan elini çek!!!

Kişiyi rahatsız etmeyin.

Hedef kitleyi görmek istiyorum !!! En azından birinin "Bu kütüphaneyi Uzman Danışmanıma verdim ve KULLANIN" demesi için