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

 
Alexandr Andreev:

Bem, houve um meio exemplo. É claro que existe algum arquivo como peça de uma função de trabalho. Onde o interruptor (botões) é gerado e temos a possibilidade de escrever reações a pressionamentos de botões.

Sim, este é um semi-exemplo. Não foi possível chegar ao fim por causa daquele bug com posições.

As reações podem ser feitas a botões, caixas de seleção, caixas de entrada, controles deslizantes, dropdowns, grupos de botões de rádio.

Por enquanto, o editor permite que você crie estes elementos. Os manipuladores de eventos são criados no arquivo para eles, no qual o usuário prescreve as reações.

Além disso, as funções são impressas no arquivo através do qual o usuário acessa os elementos:

1. Obter o valor atual do elemento.
2. Estabelecer um novo valor para o elemento.

As funções são facilmente selecionadas de uma lista de intellisense que responde aos prefixos E_ (elementos) e W_ (janelas).

Haverá um exemplo completo à noite.
 
Em geral, a liberação sobre a implementação da resposta do botão é bastante viável. É apenas o projeto que precisa de algum trabalho.
 
Реter Konow:
Sim, este é um semi-exemplo. Não foi possível chegar até o fim por causa daquele bug com as posições.

As reações podem ser inscritas em botões, caixas de seleção, campos de entrada, controles deslizantes, listas suspensas, grupos de botões de rádio.

Por enquanto, o editor permite que você crie estes elementos. Os manipuladores de eventos são criados no arquivo para eles, no qual o usuário prescreve as reações.

Além disso, funções são impressas no arquivo, através das quais o usuário acessa os elementos:

1. Obtenha o valor atual do elemento.
2. Estabelecer um novo valor para o elemento.

As funções são facilmente selecionadas a partir de uma lista intelisense respondendo aos prefixos E_ (elementos) e W_(janelas).

Haverá um exemplo completo à noite.

Errar que outras funções selecionar... não há necessidade de fazer nada disso. Gerar um arquivo no qual, como eu entendo, botões válidos são atribuídos à chave. Parada completa. A partir daqui, cabe a todos chamar suas reações a este botão. Por exemplo, para salvar que foi pressionado ou algo assim. O ambiente para o feedback da pressão me parece desnecessário.

 
Alexandr Andreev:

Err, que outras características escolher... Não há necessidade de nada disso. Gerar um arquivo no qual, como eu entendo, você atribui botões válidos ao interruptor. É isso aí. Parada completa. A partir daqui, cabe a todos chamar suas reações a este botão. Por exemplo, para salvar que foi pressionado ou algo assim. O ambiente para o feedback da pressão, eu acho desnecessário.

É melhor trabalhar no projeto

 
Alexandr Andreev:

Err, que outras características escolher... Não há necessidade de nada disso. Gerar um arquivo no qual, como eu entendo, você atribui botões válidos ao interruptor. É isso aí. Parada completa. A partir daqui, cabe a todos chamar suas reações a este botão. Por exemplo, para salvar que foi pressionado ou algo assim. O ambiente para o feedback por clique acho que é desnecessário.

E aqui é melhor implementar o ambiente através de aulas. Também chamando o menu de abas, etc., etc.

 
Alexandr Andreev:

Err, que outras características escolher... Não há necessidade de nada disso. Gerar um arquivo no qual, como eu entendo, você atribui botões válidos ao interruptor. É isso aí. Parada completa. A partir daqui, cabe a todos chamar suas reações a este botão. Por exemplo, para salvar que foi pressionado ou algo assim. Penso que o ambiente para o feedback é desnecessário.

Você não entendeu.

1. Devemos inserir as reações no manipulador, à direita.

2. Se quisermos obter valor atual do elemento (por exemplo, textodo campo de entrada), chamamos sua função a partir da lista pronta.
 
Alexandr Andreev:

E o meio ambiente deve ser implementado por meio de aulas. Também chamadas de tabulação do menu, etc., etc.

Não acenemos a expressão "precisamos de aulas" na frente do nariz de Peter. Vamos esperar pelo vídeo pelo menos, depois faremos perguntas.

Já sugeri a Peter que modificasse seu "núcleo" com uma variante muito simples: usar estruturas. O diabo com estas aulas, se uma pessoa não quer se afundar nelas - isso é com ele mesmo.

Mas utilizar estruturas simplesmente facilitaria a vida do próprio Peter.

Como o "núcleo", também conhecido como matriz global, se parece agora: uma matriz multidimensional, bem pelo menos bidimensional. A segunda dimensão contém propriedades de um certo tipo de controle por índices. Os imóveis também podem ser acessados pelo nome, já que os índices são substituídos por definições e obtemos uma "pseudo-referência" pelo nome. Na verdade, tudo é construído sobre definições, como aquela "linguagem de marcação" no código de Peter.

Já sugeri que Peter implementasse uma estrutura, para que a matriz global pudesse ser feita unidimensional e as propriedades pudessem ser referidas diretamente pelo nome. O edifício "núcleo" também seria simplificado, pois bastaria acrescentar novos adereços à estrutura original e referir-se a eles pelo nome. E o próprio código poderia ser abreviado removendo a listagem de numerosas definições e métodos para utilizá-los.

Por um lado, não é uma classe, mas, por outro lado, tornaria muito mais fácil para Peter lidar com a matriz global. Além disso, Peter já tem alguma experiência em trabalhar com uma estrutura semelhante: um sindicato.

Mas Peter tem seu próprio modo de pensar e esperaremos o resultado...

 

Eu proporia o seguinte esquema como um exemplo transversal: Criar um formulário com três campos: valor comercial, preço SL e preço TP, dois botões: COMPRAR e VENDER

Criar um Expert Advisor, conectar a GUI como um inluder. Adicionar uma variável para a licitação inicial. Quando inicializado, o valor da licitação inicial é passado para o campo apropriado na GUI.

Criar na função Expert Advisor "Open Deal". Esta função deve ser chamada assim que um dos botões da GUI for clicado.

Na própria função nós "descobrimos" qual comando foi dado e também perguntamos à GUI que taxa é definida agora e com base nestes dados abrimos o negócio correspondente.

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

Eu proporia o seguinte esquema como um exemplo transversal: Criar um formulário com três campos: valor comercial, preço SL e preço TP, dois botões: COMPRAR e VENDER

Criar um Expert Advisor, conectar a GUI como um inluder. Adicionar uma variável para a licitação inicial. Quando inicializado, o valor da licitação inicial é passado para o campo apropriado na GUI.

Criar na função Expert Advisor "Open Deal". Esta função deve ser chamada assim que um dos botões da GUI for clicado.

Na própria função nós "descobrimos" qual comando foi dado e também perguntamos à GUI que taxa é definida agora e com base nestes dados abrimos o negócio correspondente.

Lote, pegar e parar + botões de compra/venda? exemplo simples e claro. Eu o farei. Vou adicionar funções para abrir pedidos e obter preços de parada.
 
Реter Konow:
Você não entendeu.

1. Escreva as reações no manipulador, à direita.

2. Se quisermos obter o valor atual de um elemento (por exemplo, texto docampo de entrada), chamamos sua função a partir da lista pronta.

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