Minha abordagem. O núcleo é o motor. - página 73

 
Maxim Kuznetsov:
talvez ele tenha sido orientado a escrever o kernel-engine... para que não se distraísse com o fórum :-)

A próxima tarefa, até onde me lembro, era escrever em um kanvas.

"Escreverei em uma tela depois de me deitar em um colchão" ))))

 
Реter Konow:

George, eu não entendo - o que minha abordagem tem a ver com isso? Estou fornecendo uma interface de conexão GUI, que é criada com uma linguagem de marcação leve. Quem e por que gostaria de aprender minha abordagem?

Tudo o que estou oferecendo é muito mais fácil do que o mais simples MQL.

Não é. Eu olhei para ele e é mais complicado. É porque você tem muitas oportunidades ao mesmo tempo, onde você tem que lembrar o quê, onde, onde e como. E minha memória é muito pior do que a sua. Portanto - para quem se lembra de tudo - não é realmente complicado. E para aqueles que não conseguem se lembrar?

Sua linguagem de marcação é apenas um exemplo de sua abordagem, quando "tudo está sempre disponível".

Mas novamente - a questão não é se esta linguagem de marcação é boa, se a abordagem é boa, se a implementação é boa.

A questão principal deve ser quem precisa dela, quem é o público alvo.

Já o disse mais de uma vez - não o vejo. Você objetou que "vai aparecer". Bem... esperamos...

 
O sistema pode funcionar incorretamente. Eu sei pelo meu trabalho. :) Obrigado por seu apoio. Agora eu vou exigir que todos também não sejam proibidos. (Só por precaução. Só por engano. :))
 
Georgiy Merts:

Não, não é. Eu olhei - e vejo que é mais complicado do que isso. Precisamente porque muitas oportunidades são apresentadas de uma só vez, onde você tem que lembrar o quê, onde, onde e como. E minha memória é muito pior do que a sua. Portanto - para quem se lembra de tudo - não é realmente complicado. E para aqueles que não conseguem se lembrar?

Sua linguagem de marcação é apenas um exemplo de sua abordagem, quando "tudo está sempre disponível".

Mas novamente - a questão não é se esta linguagem de marcação é boa, se a abordagem é boa, se a implementação é boa.

A questão principal deve ser quem precisa dela, quem é o público alvo.

Já o disse mais de uma vez - não o vejo. Você objetou que "vai aparecer". Bem... esperamos...

Vasiliy Sokolov:

Desculpe Piotr, mas tudo o que você apresentou até agora foram algumas linhas infernais do programa MQL com dezenas de parâmetros e chamadas de coisas desconhecidas. Se este é um protótipo de sua linguagem de marcação, eu já estou assustado.

Bem, aqui está uma solução com duas janelas ontem. Aqui está um exemplo de seu código na linguagem de marcação:

(O que é tão infernalmente complicado aqui, eu honestamente não vejo).

//-------------------------------------------------------------------------------------------------------------------- 
NEW_WINDOW,  W_NAME, "Window 1",  W_ICON,98,   W_TYPE, SETTINGS,  OOI,
//====================================================================================================================
GROUP,A, 

__,BUTTON, "Button 1", GAP,30,  BUTTON, "Button 2", 

__, CHECKBOX, "Checkbox 1",  GAP,100,  EDIT, "Edit box 1",  W,130,
__, CHECKBOX, "Checkbox 2",
__, CHECKBOX, "Checkbox 3",

END_GROUP,
//----------------------------------
i,AT,_X2X,"MF",10,  _Y2Y,"MF",10,
//----------------------------------
i,Y_GAP,20,
//----------------------------------
i,BUTTONS,  PARAM_TYPE,_BOOL, W,150,  H,100,   N_COLOR,(int)C'235,235,235', END,
//----------------------------------


//-----------------------------------------------------------------
GROUP,A, 

__, BOARD,"Enter text",   

END_GROUP,
//----------------------------------
"Enter text", H_C2C,  "Edit box 1", 0,
"Enter text", ON_LEFT,"Edit box 1", -20,
//-----------------------------------------------------------------


//====================================================================================================================
END_WINDOW,


//-------------------------------------------------------------------------------------------------------------------- 
NEW_WINDOW,  W_NAME, "Window 2",  W_ICON,99,   W_TYPE, SETTINGS,  OOI,
//====================================================================================================================

GROUP, A,

__, T_BOX,"T_1",
             "This window's",
             "appearance controlled",
             "by user's programm.",
             END,

END_GROUP,
//----------------------------
i,AT,_X2X,"MF",10,  _Y2Y,"MF",10,
"T_1",FONT_SIZE,20,
"T_1",text,N_COLOR,(int)C'255,110,10',
"T_1",text,TEXT_FONT,"Arial Bold",
"T_1",N_COLOR,(int)C'240,240,240',

//====================================================================================================================
END_WINDOW,

É claro que nem tudo é claro sem explicações, mas mesmo sem elas você pode entender muito de uma só vez (como me parece...).

 

E o resultado:


 
Реter Konow:

O que há de tão infernalmente complicado nisso, eu honestamente não vejo.

Eu não disse "inferno de muita coisa". Eu disse que você tem que memorizar muito.

Enquanto você estiver trabalhando no projeto em si, você olha para a descrição e ela não é tão crítica. Você mantém tudo em sua cabeça. Mas agora que você fez a interface, você muda para outras áreas. E então, um mês depois - você precisa mudar alguma coisa. Você o abre e percebe que não entende nada, e tem que descobrir tudo de novo.

Uma coisa é quando a estrutura da própria descrição é tal que você simplesmente não pode misturar fisicamente algo. Simplesmente porque, se você fizer algo "errado", o projeto não será compilado. E é outra coisa quando você pode facilmente misturar as coisas, mas ninguém vai detê-lo, você passa pelo código - "tudo parece bem", e então o erro é encontrado no momento mais inoportuno.


Mas estes não são problemas realmente sérios. Seu principal problema, Peter, é o público alvo. Não há um.

 
Georgiy Merts:

....

Mas, nada disso é realmente um grande problema. Seu principal problema, Peter, é o público alvo. Não há um.

Sabe, George, eu tinha em mente um projeto em que decidi fazer algo massivo. Ou seja, eu esperava um público alvo de todos os usuários de MQL.

Talvez eu estivesse errado. Talvez não haja tantas pessoas que precisem dele. Quem sabe... A vida vai mostrar...))

 
Реter Konow:

Talvez eu estivesse errado. Talvez não haja muita gente que precise dele. Quem sabe... A vida dirá...))

É para isso que serve a "opção B".

Como sempre, posso citar minha própria Liga como exemplo - no início pensei que eles se interessariam por ela e me ajudariam a otimizá-la. Apenas duas pessoas responderam. Mas eu tive a "opção B" - comprei um computador novo, e não preciso mais da ajuda de ninguém, porque criei a Liga para mim em grande medida - para ter sempre um "pool de TSs", que vêm trabalhando na demonstração há algum tempo. E eu tenho-o agora, estudando a possibilidade de selecionar o melhor deles de verdade.

Da mesma forma que você precisa - para que o resultado de seu projeto possa ser útil para você. Em seguida, você o usa e se gaba disso aos participantes. Se alguém demonstra interesse, você compartilha com eles (ou vende). Se eles não aparecerem - você mesmo precisa disso. Em qualquer caso, você ganha.

 
Реter Konow:

(O que há de tão infernalmente complicado nisso, eu honestamente não vejo).

//+------------------------------------------------------------------+
//|                                               Forum sample 2.mqh |
//|                                                      Peter Konow |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
//-------------------------------------------------------------------------------------------------------------------- 
NEW_WINDOW,  W_NAME, "Window 1",  W_ICON,98,   W_TYPE, SETTINGS,  OOI,
//====================================================================================================================
GROUP,A, 

__,BUTTON, "Button 1", GAP,30,  BUTTON, "Button 2", 

__, CHECKBOX, "Checkbox 1",  GAP,100,  EDIT, "Edit box 1",  W,130,
__, CHECKBOX, "Checkbox 2",
__, CHECKBOX, "Checkbox 3",

END_GROUP,
//----------------------------------
i,AT,_X2X,"MF",10,  _Y2Y,"MF",10,
//----------------------------------
i,Y_GAP,20,
//----------------------------------
i,BUTTONS,  PARAM_TYPE,_BOOL, W,150,  H,100,   N_COLOR,(int)C'235,235,235', END,
//----------------------------------

...

Você está realmente perguntando, ou está apenas brincando? Você tem uma seqüência infernal de centenas de definições de variáveis que você quer passar como uma espécie de tabela. A pseudo-mesa em si é torta, sem estrutura, contendo acrônimos obscuros.

E isso é o que é:

void Sync_params(int ID){for(int a1 = 0; a1 < All_params; a1++){if((int)P_CORE[a1][_SYNC_ID] == ID){P_CORE[a1][_LAST_VALUE]    = P_CORE[a1][_CURRENT_VALUE];P_CORE[a1][_CURRENT_VALUE] = P_CORE[a1][_NEW_VALUE];}}}
void Sync_P_CORE(){for(int a1 = 0; a1 < All_params; a1++){if(P_CORE[a1][_CURRENT_VALUE] != P_CORE[a1][_NEW_VALUE]){P_CORE[a1][_LAST_VALUE]    = P_CORE[a1][_CURRENT_VALUE];P_CORE[a1][_CURRENT_VALUE] = P_CORE[a1][_NEW_VALUE];if(P_CORE[a1][_SYNC_ID] != NULL)Sync_params((int)P_CORE[a1][_SYNC_ID]);EventChartCustom(0,_SYNC_P_CORE,(int)P_CORE[a1][_ELEMENT],0,P_CORE[a1][_CURRENT_VALUE]);}}}

Você mesmo inventou esta formatação? Ainda bem para você, você tem todas as chances de ocupar o primeiro lugar no ioccc.org.

Mas amigo, você não escreve assim. EM TODO. Ninguém pode usar este código.

The International Obfuscated C Code Contest
  • ioccc.org
International Obfuscated C Code Contest
 
Vasiliy Sokolov:

Mas amigo, você não escreve assim. EM TODO. Ninguém pode usar esse código.

Vasiliy, tire as mãos de Peter!!!

Não se meta no caminho do homem.

Quero ver o público alvo!! Alguém dirá "Eu anexei esta biblioteca ao meu consultor especializado e a utilizo"!

Razão: