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

 
Vitaly Muzichenko:

Esta é uma obra-prima :)

Se algo precisa ser refeito, em uma semana você não se lembrará do que pertence a quê.

É análogo à referência "aquele homem, naquele fórum, onde o avatar está no fio da fotografia, onde ele está usando óculos").

 
Реter Konow:

Acho que era isso que você queria dizer:

Estas são as duas funções que garantem a "comunicação" da GUI com o programa. Eles recebem mensagens, decodificam-nas e as encaminham para os elementos ou para o programa.

De todo este código, eu não vi nenhuma referência aos elementos em si. A interação não é apenas sobre eventos, mas também sobre as propriedades e valores dos controles.

Mas foi o código que mais me chamou a atenção:

send.uint_Send[i1]

somente tipos complexos podem ser acessados através de um point....

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

De todo este código, eu não vi nenhuma referência aos elementos em si. A interação não é apenas sobre eventos, mas também sobre propriedades e valores de controles.

Mas foi o código que mais me chamou a atenção:

Somente tipos complexos.... podem ser acessados através de um ponto

Há chamadas de elementos em todos os lugares. Eles estão em uma matriz - portanto, referir-se a uma matriz é referir-se a um elemento, a um objeto composto, a uma janela ou a um parâmetro.

Em todos os lugares que você vê "G_CORE" é uma referência ao núcleo. Dentro dele estão os elementos.


Esta é a referência a uma tela de janela:

G_CORE[G_CORE[cnvs[f1]][_MAIN]][_CANVAS]

E você pode fazê-lo desta maneira:

G_CORE[КАНВАС][_X]

или

G_CORE[КАНВАС][_Y]

или

G_CORE[КАНВАС][_X_SIZE]


Há muitas maneiras de se referir a um elemento específico. A mais simples é G_CORE[ELEMENT][_X]. A variável "ELEMENT" obtém automaticamente o número do elemento sobre o qual o cursor é colocado. Coloquei-o na matriz G_CORE[ELEMENT][_X] e obtenho a atual X-coordenação desse elemento.

 

Реter Konow
:

Há chamadas de elementos em todos os lugares. Eles estão em uma matriz - portanto, referir-se a uma matriz é referir-se a um elemento, objeto composto, janela ou parâmetro.

Em todos os lugares que você vê "G_CORE" é a referência ao núcleo. No interior, são elementos.

Não existe um tipo de dado como "matriz". Peter, mostre algum respeito a seus interlocutores. Por favor, chame as coisas pelos seus nomes comuns, não pela maneira como você imagina. Se você não souber o nome correto de uma entidade, procure no Google ou pergunte à outra pessoa.

Você pode se referir a unidades, estruturas, enumerações ou classes com um ponto. Você não gosta de aulas, as enumerações não podem conter matrizes, e as unidades só podem consistir em tipos primitivos. Acontece que você usa estruturas em seu trabalho.

E como você usa estruturas em seu trabalho, não está claro o que o impede de ir mais longe.

Você não tem itens dentro de uma matriz. Você tem valores em células específicas. Tentar negar normas de programação aceitas, substituindo coisas óbvias por suas próprias noções, é uma demonstração aberta de desrespeito por seus interlocutores.

Todos os seus oponentes o apóiam, esperando que você complete este grande projeto, enquanto você, por sua vez, mostra de todas as maneiras possíveis não apenas o desrespeito às normas de programação, mas também vira a terminologia completamente de cabeça para baixo.

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

Não existe tal tipo de dados como uma 'matriz'. Peter, tenha algum respeito por seus interlocutores. Por favor, chame as coisas por seus nomes comuns, não pelo que você pensa que elas são. Se você não souber o nome correto de uma entidade, procure no Google ou pergunte à outra pessoa.

Você pode se referir a unidades, estruturas, enumerações ou classes com um ponto. Você não gosta de aulas, as enumerações não podem conter matrizes, e as unidades só podem consistir em tipos primitivos. Acontece que você usa estruturas em seu trabalho.

E como você usa estruturas em seu trabalho, não está claro o que o impede de ir mais longe.

Que tipos? Eu não entendo de que tipos você está falando. Eu tenho o tipo int em todos os lugares.

Eu não utilizo nenhuma estrutura. Eu só utilizo os sindicatos uma vez em uma determinada função. Eles não são utilizados em nenhum outro lugar.

Os sindicatos são necessários para converter dados e armazená-los em recursos.

 
Реter Konow:

Que tipos? Eu não sei de que tipos você está falando. Eu tenho int tipo em todos os lugares.

Eu não utilizo nenhuma estrutura. Eu só utilizo os sindicatos em uma função específica UMA única vez. Eles não são utilizados em nenhum outro lugar.

send.uint_Send[i1] - send в данном случае не примитивный тип и не юнион
 
Алексей Барбашин:

Isto é apenas para economizar dados no recurso. Tudo. Em uma função, uma vez.

Não há estruturas, não há classes, não há tipos diferentes. Há o tipo int e o tipo string.


Sobre normas de programação. Eu os respeito. Mas eu programo à minha própria maneira.

Документация по MQL5: Основы языка / Типы данных / Целые типы / Типы char, short, int и long
Документация по MQL5: Основы языка / Типы данных / Целые типы / Типы char, short, int и long
  • www.mql5.com
Целый тип char занимает в памяти 1 байт (8 бит) и позволяет выразить в двоичной системе счисления 2^8 значений=256. Тип char может содержать как положительные, так и отрицательные значения. Диапазон изменения значений составляет от -128 до 127. uchar # Целый тип uchar также занимает в памяти 1 байт, как и тип char, но в отличие от него, uchar...
 
Реter Konow:

Isto é apenas para economizar dados no recurso. Tudo. Em uma função, uma vez.

Não há estruturas, não há classes, não há tipos diferentes. Há o tipo int e o tipo string.


Sobre normas de programação. Eu os respeito. Mas eu programo à minha própria maneira.

De que tipo é a variável de envio?

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

Que tipo de variável é enviada?

União. Mas é usado duas vezes.

 

Peter, em um de seus posts você se referiu a um dos usuários do fórum: Artem Trishkin

Preste atenção a sua série de artigos sobre programação de ferramentas comerciais. Preste atenção especial ao fato de que seu kit de ferramentas contém a parte de interface. Esta parte da interface é baseada em elementos primitivos.

Suponho que você poderia mostrar todo o poder de seu kit de ferramentas junto com a Artem. Tenho certeza que a Artem ficaria mais do que feliz em promover seu kit de ferramentas para outros programadores.... Mas receio que a Artem terá muita dificuldade em combinar sua abordagem de programação com a forma como ele criou suas ferramentas comerciais.