Tuval harika! - sayfa 62

 
Nikolai Semko :

Bunun gibi bir şey mi?



Nikolai, örnek kod mevcut olacak mı? :)

 
Алексей Барбашин :

Nikolai, örnek kod mevcut olacak mı? :)

Şimdiye kadar ham kod. Nasıl görünebileceğini denemek için bir buçuk yıl önce yaptı.
Normal olarak uyguladığımda, bu zamana kadar hala forumda kalırsam, bu özelliği iCanvas'a ekleyeceğim. Şu anda bunu yapmak için zaman yok.

Kendiniz uygulamayı deneyebilirsiniz.
Yardımcı olmak için, uygulamamdan renk seçiciyi çizmekten sorumlu birkaç işlev:

 void     iCanvas::DrawSetColor( int X, int Y, uint curColor= 0xFFFFFFFF )
  {
   if (!SetClr) return ;
   uchar R=GETRGBR(curColor);
   uchar G=GETRGBG(curColor);
   uchar B=GETRGBB(curColor);
   FillRectangle(X- 3 ,Y- 3 ,X+ 330 ,Y+ 273 , ColorToARGB ( 0xFFC0C0C0 ));
   FontSet( "Century Gothic" , 20 );
   TextOut (X+ 23 ,Y- 4 , "R " + string (R)+ "(#" +ByteToHex(R)+ ")" , 0xFF000000 );
   TextOut (X+ 135 ,Y- 4 , "G " + string (G)+ "(#" +ByteToHex(G)+ ")" , 0xFF000000 );
   TextOut (X+ 251 ,Y- 4 , "B " + string (B)+ "(#" +ByteToHex(B)+ ")" , 0xFF000000 );
   FillCircle(X+ 10 ,Y+ 6 , 6 ,ARGB( 255 , 255 , 255 -R, 255 -R));
   FillCircle(X+ 122 ,Y+ 6 , 6 ,ARGB( 255 , 255 -G, 255 , 255 -G));
   FillCircle(X+ 238 ,Y+ 6 , 6 ,ARGB( 255 , 255 -B, 255 -B, 255 ));
   for ( int x= 0 ; x< 256 ; x++)
       for ( int y= 0 ; y< 256 ; y++)
        {
         PixelSet(x+X,y+Y+ 15 ,ARGB( 255 ,R,x,y));
        }
   uchar rq=(R> 127 )? 0 : 255 ;
   Rectangle(G+X- 4 ,B+Y+ 11 ,G+X+ 4 ,B+Y+ 19 ,ARGB( 255 , 0 , 0 , 0 ));
   Rectangle(G+X- 3 ,B+Y+ 12 ,G+X+ 3 ,B+Y+ 18 ,ARGB( 255 , 255 , 255 , 255 ));
   Rectangle(G+X- 5 ,B+Y+ 10 ,G+X+ 5 ,B+Y+ 20 ,ARGB( 255 , 255 , 255 , 255 ));
   for ( int y= 0 ; y< 256 ; y++)
     {
       for ( int x= 0 ; x< 16 ; x++)
        {
         PixelSet(x+X+ 263 ,y+Y+ 15 ,ARGB( 255 ,y,x* 16 , 0 ));
         PixelSet(x+X+ 263 + 16 ,y+Y+ 15 ,ARGB( 255 ,y, 255 ,x* 16 ));
         PixelSet(x+X+ 263 + 32 ,y+Y+ 15 ,ARGB( 255 ,y, 255 -x* 16 , 255 ));
         PixelSet(x+X+ 263 + 48 ,y+Y+ 15 ,ARGB( 255 ,y, 0 , 255 -x* 16 ));
        }
     }
   Rectangle(X+ 260 ,Y+R+ 12 ,X+ 263 + 67 ,Y+R+ 18 , 0xFFFFFFFF );
   Rectangle(X+ 261 ,Y+R+ 13 ,X+ 263 + 66 ,Y+R+ 17 , 0xFFFFFFFF );
   Update();
  }
 string ByteToHex( int n)
  {
   string s= "" ,c;
   if (n== 0 ) return "00" ;
   int N=n;
   while (n!= 0 )
     {
       if (n% 16 < 10 )
         c= CharToString ( uchar (n% 16 + 48 ));
       else
         c= CharToString ( uchar (n% 16 + 55 ));
      s = c + s;
      n = n / 16 ;
     }
   if (N< 16 ) s= "0" +s;
   return (s);
  }
 

Görünüşe göre forumda sadece sızlananlar ve inekler kaldı. Ve mql'de açıklardan yararlanmaya hazır olanlar nerede?...

Nikolay - aferin! mql'nin yeteneklerini güzel bir şekilde gösterir. Şube adını eklerdim - Kanvas kolay!

Ve özünde :) Nikolay, ancak ByteToHex()'i yerleşik StringFormat ("%.2X",R) işleviyle değiştirmeyi denemediyseniz?


ps Dil ve uygulama ortamı mükemmelliğine ulaştı ve bazen şunu söylemek istersiniz: - Dur! :)

Документация по MQL5: Преобразование данных / StringFormat
Документация по MQL5: Преобразование данных / StringFormat
  • www.mql5.com
"SYMBOL_SWAP_MODE_INTEREST_CURRENT (в годовых процентах от цены инструмента на момент расчета свопа)" "SYMBOL_SWAP_MODE_REOPEN_CURRENT (переоткрытием позиции по цене закрытия +/- указанное количество пунктов)" "SYMBOL_SWAP_MODE_REOPEN_BID (переоткрытием позиции по текущей цене Bid +/- указанное количество пунктов)"
 
Yury Kulikov :

Nikolai, ByteToHex()'i yerleşik StringFormat ("%.2X",R) işleviyle değiştirmeyi denedin mi?


Ah teşekkür ederim Yuri. Ve bilmiyordum. Her zaman olduğu gibi, tekerleği yeniden icat etti.

 
Nikolai Semko :

Şimdiye kadar ham kod. Nasıl görünebileceğini denemek için bir buçuk yıl önce yaptı.
Normal olarak uyguladığımda, bu zamana kadar hala forumda kalırsam, bu özelliği iCanvas'a ekleyeceğim. Şu anda bunu yapmak için zaman yok.

Kendiniz uygulamayı deneyebilirsiniz.
Yardımcı olmak için, uygulamamdan renk seçiciyi çizmekten sorumlu birkaç işlev:

Teşekkür ederim! Şu anda onu uygulamaya çalışıyorum.

 
TheXpert :
Programlama dilinin adını taşıyan kaynağın moderatörleri arasında tek bir profesyonel programcı olmamasının nasıl olduğunu anlatın?

ayy

25 yıldır ara vermeden C++ ile programlama yapıyorum.

MQL II - baştan sona

600 yapıya kadar MQL4 - baştan sona

MQL5 - baştan

C++ programlamam için para alıyorum, bu yüzden profesyonel bir programcı olarak kabul edilebilirim

 
Slava :
Meta alıntıların bir üyesisiniz ve forum moderatörlüğü yapmıyorsunuz veya çok az şey yapıyorsunuz. Ve dürüst olmak gerekirse, bir yönetici isim levhanız olduğunu sanıyordum.
 
TheXpert :
Meta alıntıların bir üyesisiniz ve forum moderatörlüğü yapmıyorsunuz veya çok az şey yapıyorsunuz. Ve dürüst olmak gerekirse, bir yönetici isim levhanız olduğunu sanıyordum.

Bir program yazdığınızı düşünün.

Soruları senden daha iyi kim cevaplayabilir

 

3D Hareketli Ortalama
Kodu yarın KB'ye koyacağım


 
Nikolai Semko :

3D Hareketli Ortalama
Kodu yarın KB'ye koyacağım

Güzel !!!

Nikolai, lütfen gökkuşağı renk paletinin oluşum kodunun listesini buraya gönderin

Eğer fonksiyon şeklinde ise daha da pratik olacaktır.