A lona é legal! - página 62

 
Nikolai Semko:

Algo assim?



Nikolai, o código de exemplo estará disponível? :)

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

Nikolai, o código de exemplo estará disponível? :)

O código ainda está cru. Eu o fiz há um ano e meio para uma experiência, como poderia parecer.
Quando o implementar corretamente, então acrescentarei este recurso ao iCanvas, se ainda estiver no fórum até lá. Eu não tenho tempo para fazer isso agora.

Você mesmo pode tentar implementá-lo.
Para ajudar, aqui estão algumas funções da minha implementação, que são responsáveis por desenhar a janela de seleção de cores:

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);
  }
 

Parece que as únicas pessoas que restam no fórum são os queixosos e os tótós. E onde estão aqueles que estavam prontos para as explorações mql...?

Nikolay é bom! Ele demonstra muito bem as capacidades do mql. Eu acrescentaria em um título de filial - Tela é fácil!

E na verdade :) Nikolay, você tentou substituir ByteToHex() pela função StringFormat("%.2X",R) embutida?


p.s. A linguagem e o ambiente de execução alcançaram sua perfeição, e às vezes quero dizer: - Pare! :)

Документация по 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, você já tentou substituir ByteToHex() pela função StringFormat("%.2X",R) embutida?


Oh, obrigado, Yuri. Eu não sabia disso. Inventou uma bicicleta como sempre )).

 
Nikolai Semko:

O código ainda está cru. Eu o fiz há um ano e meio para uma experiência, como poderia parecer.
Quando for devidamente implementado, então acrescentarei este recurso ao iCanvas, se ainda estiver no fórum até lá. Eu não tenho tempo para fazer isso agora.

Você mesmo pode tentar implementá-lo.
Para ajudar, aqui estão algumas funções da minha implementação, que são responsáveis por desenhar a janela de seleção de cores:

Obrigado! Estou tentando implementá-lo agora mesmo.

 
TheXpert:
Diga-me por que não há programadores profissionais entre os moderadores de um recurso que leva o nome de uma linguagem de programação?

Oops

Tenho programado em C++ há 25 anos sem pausa.

MQL II - do começo ao fim

MQL4 - até 600 - do começo ao fim

MQL5 - desde o início

Eu recebo dinheiro para minha programação em C++, de modo que posso ser considerado um programador profissional.

 
Slava:
você é um membro do pessoal de metaquotas e tem pouco ou nenhum envolvimento na moderação do fórum. E honestamente, eu pensei que você tinha uma placa de identificação administrativa.
 
TheXpert:
você é um funcionário de tempo integral de metaquotas e praticamente não está moderando o fórum. E honestamente, eu pensei que você tinha uma placa de identificação administrativa.

Imagine que você tenha escrito um programa

Quem melhor para responder às perguntas do que você

 

Avanço em movimento em 3D
Amanhã vou lançar o código no QB


 
Nikolai Semko:

3D Moving Avarage
Vou lançar o código no QB amanhã

Lindo!!!

Nikolai, por favor, jogue aqui a lista de códigos da paleta de cores do arco-íris

Se estiver na forma de uma função, será ainda mais prático