GUI de origem popular. Testes beta abertos. - página 30

 
Alexandr Andreev:

Por que, também é implementável através de uma função que é chamada quando o campo é preenchido e o valor de entrada é do tipo modelo... tudo. Mesmo que seja como uma seqüência.... ainda não haverá preenchimento em alta velocidade do campo

Não se trata apenas do campo de entrada. Por exemplo, você quer obter o valor atual de uma caixa de seleção - verifique se ela está marcada ou não.
Ou, descubra qual item da lista de checkout está selecionado.
Ou, descubra em que marca está o botão deslizante.
Ou, que valor tem a barra de progresso.
E assim por diante.
Chamar os elementosfuncionais não só permite que você obtenha seu valor a qualquer momento, mas também definir um novo valor.
Você também pode definir a cor, status (pressionado, pressionado, travado). Uma chamada de função de elemento único permite qualquer uma destas ações, em qualquer ponto do código do usuário.
 
Реter Konow:
Não se trata apenas do campo de entrada. Por exemplo, você precisa obter o valor atual de uma caixa de seleção - verifique se ela está marcada ou não.
Ou, descubra qual item da lista pop-up é selecionado.
Ou, descubra em que marca está o botão deslizante.
Ou, que valor tem a barra de progresso.
E assim por diante.
As funções de elementos de chamada permitem não apenas recuperar seu valor a qualquer momento, mas também definir um novo valor.
Ou, cor, estado (pressionado, deprimido, bloqueado). Uma chamada de função de elemento único permite qualquer uma destas ações em qualquer ponto do código do usuário.

Tudo isso é fácil também por meio de uma chamada de função sobre o fato de definir e aprofundar o trabalho do programador.


Com relação ao ambiente, gostaria de ver um certo conjunto de padrões de chamada (sem mudar o nome da função - porque não sei em que parte do código posso precisar desta ou daquela função) em todos os tipos de marcadores e janelas. seleção de janelas de preferência através de Select. Assim como a seleção de estilo, mudando a cor ao pairar.

Ou seja, você tem que criar um protótipo de menu e usá-lo para criar outro no código. Se utilizássemos o ambiente...

Aqui, as metaquotas às vezes quebram as extremidades em alguns fragmentos de código.

Aqui, é desejável adicionar uma interface dinâmica adicional que aparece quando você clica / passa.... E essa é uma parte super pequena.

 
Реter Konow:
Não se trata apenas da caixa de entrada. Por exemplo, você quer obter o valor atual da caixa de seleção - verifique se a caixa de seleção está marcada ou não.
Ou, descubra qual item da lista pop-up é selecionado.
Ou, descubra em que marca está o botão deslizante.
Ou, que valor tem a barra de progresso.
E assim por diante.
As funções de elementos de chamada permitem não apenas recuperar seu valor a qualquer momento, mas também definir um novo valor.
Ou, cor, estado (pressionado, deprimido, bloqueado). Uma chamada de função de elemento único permite qualquer uma destas ações em qualquer ponto do código do usuário.

Mas, além disso, existe uma noção como asfunções de Callback, que geram eventos quando algo é mudado. Por exemplo, há uma caixa de seleção no formulário e precisamos saber quando seu estado muda. Opção 1: fazer consultas à GUI em intervalos regulares para obter este valor da caixa, e se o valor for diferente, então a caixa foi alterada. Neste caso, alguns recursos são desperdiçados em pesquisas periódicas constantes - não é rentável.

Para evitar o desperdício de recursos, inventamos as chamadas funções piggyback que dão uma notificação quando o valor do controle é alterado. Por exemplo, quando você clica em uma caixa de seleção, ela é seguida por uma mudança de estado, assim que o estado muda o evento com tipo, nome e valor do controle é gerado. E na assinatura deste evento já será executado o código necessário para esperar que o valor da caixa de seleção seja alterado. Este é o chamado modelo do evento.

 
Alexandr Andreev:

tudo isso também é fácil através de uma chamada de função sobre o fato de definir. e depois o trabalho do programador.


Com relação ao meio ambiente, eu gostaria de ver um certo conjunto de padrões para chamar (sem mudar o nome da função, pois não sei em que parte do código posso precisar desta ou daquela função) em todos os tipos de abas e janelas. Assim como a seleção de estilo, mudando a cor ao pairar.

Ou seja, você tem que criar um protótipo de menu e usá-lo para criar outro no código. Se utilizássemos o ambiente...

Aqui, as metaquotas às vezes quebram as extremidades em alguns fragmentos de código.

aqui, é desejável mudar a interface adicional que aparece quando você clica / passa.... E essa é uma parte extra pequena.

OK. Dentro de algumas horas vou dar um exemplo simples proposto por Alexey. Será muito mais claro do que o primeiro exemplo.
 
Алексей Барбашин:

Existe também uma noção como asfunções de Callback, que geram eventos quando algo muda. Por exemplo, há uma caixa de seleção no formulário e precisamos saber quando seu estado irá mudar. Opção 1: fazer consultas à GUI em intervalos regulares para obter este valor da caixa, e se o valor for diferente, então a caixa foi alterada. Neste caso, alguns recursos são desperdiçados em pesquisas periódicas constantes - não é rentável.

Para evitar o desperdício de recursos, inventamos as chamadas funções piggyback, que dão uma notificação quando o valor do controle é alterado. Por exemplo, quando você clica em uma caixa de seleção, ela é seguida por uma mudança de seu estado, assim que o estado mudou o evento com o tipo, nome e valor do controle é gerado. E na assinatura deste evento já será executado o código necessário para esperar que o valor da caixa de seleção seja alterado. Este é o chamado modelo do evento.

Bem, Alexey, você está falando de uma GUI externa, pesquisada pela EA através de um temporizador, de memória antiga. Naquela época, você precisava de callbacks. Agora, tudo acontece dentro de uma única EA e em vez da GUI externa, há uma interna. Seu próprio.

É por isso que o motor é conectado por um arquivo. Tornar a interface nativa dos Expert Advisors.

A propósito, é bom que o motor esteja escrito em russo. Você pode imaginar quantas coincidências de nomes variáveis poderiam ocorrer entre ela e o Expert Advisor ao conectar ...
 
Реter Konow:
Bem, Alexey, você está falando de uma GUI externa, pesquisada pela EA através de um temporizador, de memória antiga. Naquela época, você precisava de callbacks. Agora, tudo acontece dentro de uma única EA e em vez da GUI externa, há uma interna. Seu próprio.

Peter, na verdade, os colbecs não são uma "memória antiga", mas uma prática comum para qualquer interação, não necessariamente relacionada à GUI, independentemente de ser externa ou interna. E não importa ONDE isso acontece, o principal é COMO acontece. Colbeck não é um temporizador!

À espera do vídeo...

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

Peter, na verdade os colbikes não são uma "memória antiga", mas uma prática de trabalho comum de qualquer interação, não precisa estar relacionada à GUI, não importa se é externa ou interna. E não importa em nada ONDE acontece, o principal é COMO acontece.

À espera do vídeo...

Eu concordo. Somente dentro de uma EA não precisaremos deles.
 
Реter Konow:
Bem, Alexey, você está falando de uma GUI externa pesquisada pela EA via temporizador, de memória antiga. Naquela época, precisávamos de callbacks. Agora, tudo acontece dentro de um Expert Advisor e ao invés da GUI externa, há uma interna. Seu próprio.

É por isso que o motor está conectado com um arquivo. Para tornar a interface nativa do Expert Advisor.

É mais fácil lembrar de suas próprias variáveis do que aprender as de outra pessoa.

O código em geral deve ter um mínimo de variáveis globais todas implementadas, passando pedaços de memória e processando múltiplos valores ao mesmo tempo. Faz sentido que ..... .... .... HH tentou cortar as palavras que ligam diretamente aos objetos.

Em geral, é mais fácil usar os colobacks regulares.

 
Alexandr Andreev:

Bem, é mais fácil lembrar de suas próprias variáveis do que aprender as de outra pessoa.

Em geral, o código deve ter um mínimo de variáveis globais todas implementadas, passando pedaços de memória e processando múltiplos valores ao mesmo tempo. Faz sentido que ..... .... .... HH tentou cortar palavras relacionadas a objetos diretamente.

Em geral, é mais fácil usar os colbacks regulares.

PS você ainda tem muito trabalho de projeto para fazer lá

 
Реter Konow:
Eu concordo. Somente dentro de uma EA não precisaremos deles.

Hmmm... então uma simples pergunta: como saber se o status da caixa de seleção mudou?