Mon approche. Le noyau est le moteur. - page 73

 
Maxim Kuznetsov:
peut-être qu'on lui a demandé d'écrire le moteur du noyau... pour qu'il ne soit pas distrait par le forum :-)

La tâche suivante, pour autant que je m'en souvienne, était d'écrire sur un kanvas.

"Je vais écrire sur une toile après m'être allongé sur un matelas" ))))

 
Реter Konow:

George, je ne comprends pas - qu'est-ce que mon approche a à voir avec ça ? Je fournis une interface de connexion GUI, qui est créée avec un langage de balisage léger. Qui et pourquoi voudrait apprendre mon approche ?

Tout ce que je propose est bien plus simple que le plus simple des MQL.

Ce n'est pas le cas. Je l'ai regardé, et c'est plus compliqué. C'est parce que vous avez beaucoup d'opportunités à la fois, où vous devez vous rappeler quoi, où, où et comment. Et ma mémoire est bien pire que la tienne. Donc - pour ceux qui se souviennent de tout - ce n'est vraiment pas compliqué. Et pour ceux qui ne s'en souviennent pas ?

Votre langage de balisage n'est qu'un exemple de votre approche, lorsque "tout est toujours disponible".

Mais encore une fois, la question n'est pas de savoir si ce langage de balisage est bon, si l'approche est bonne, si la mise en œuvre est bonne.

La question principale devrait être de savoir qui en a besoin, quel est le public cible.

Je l'ai dit plus d'une fois - je ne le vois pas. Vous avez objecté qu'"il apparaîtra". Eh bien... nous attendons...

 
Le système peut mal fonctionner. Je le sais de par mon travail. :) Merci pour votre soutien. Maintenant, je vais demander que tout le monde soit débanné, aussi. (Juste au cas où. Juste au cas où par erreur. :))
 
Georgiy Merts:

Non, ça ne l'est pas. J'ai regardé - et je vois que c'est plus compliqué que ça. Précisément parce que beaucoup d'opportunités se présentent en même temps, où il faut se rappeler quoi, où, où et comment. Et ma mémoire est bien pire que la tienne. Donc - pour ceux qui se souviennent de tout - ce n'est vraiment pas compliqué. Et pour ceux qui ne s'en souviennent pas ?

Votre langage de balisage n'est qu'un exemple de votre approche, lorsque "tout est toujours disponible".

Mais encore une fois, la question n'est pas de savoir si ce langage de balisage est bon, si l'approche est bonne, si la mise en œuvre est bonne.

La question principale devrait être de savoir qui en a besoin, quel est le public cible.

Je l'ai dit plus d'une fois - je ne le vois pas. Vous avez objecté qu'"il apparaîtra". Eh bien... nous attendons...

Vasiliy Sokolov:

Désolé Piotr, mais tout ce que vous avez présenté jusqu'ici, ce sont des lignes infernales de programme MQL avec des dizaines de paramètres et d'appels de choses inconnues. Si c'est un prototype de votre langage de balisage, j'ai déjà peur.

Eh bien, voici une solution avec deux fenêtres hier. Voici un exemple de leur code en langage de balisage :

(Qu'est-ce qui est si compliqué ici, honnêtement, je ne le vois pas).

//-------------------------------------------------------------------------------------------------------------------- 
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,

Bien sûr, tout n'est pas clair sans explications, mais même sans elles, on peut comprendre beaucoup de choses à la fois (comme il me semble...).

 

Et le résultat :


 
Реter Konow:

Qu'est-ce que ça a de si compliqué, je ne le vois vraiment pas.

Je n'ai pas dit "beaucoup". J'ai dit que vous deviez mémoriser beaucoup de choses.

Tant que vous travaillez sur le projet lui-même, vous regardez la description, et ce n'est pas si critique. Tu gardes tout dans ta tête. Mais maintenant que vous avez réalisé l'interface, vous passez à d'autres domaines. Et puis, un mois plus tard, vous devez changer quelque chose. Vous l'ouvrez et vous vous rendez compte que vous ne comprenez rien, et vous devez tout recommencer.

C'est une chose lorsque la structure de la description elle-même est telle que vous ne pouvez pas physiquement mélanger les choses. Tout simplement parce que si vous faites quelque chose de "mal", le projet ne se compilera pas. Et c'est tout autre chose lorsque vous pouvez facilement mélanger les choses, mais que personne ne vous arrête, vous passez par le code - "tout semble bien", et puis l'erreur est trouvée au moment le plus inopportun.


Mais ce ne sont pas des problèmes vraiment sérieux. Votre principal problème, Peter, est le public cible. Il n'y en a pas.

 
Georgiy Merts:

....

Mais, rien de tout cela n'est vraiment un gros problème. Votre principal problème, Peter, est le public cible. Il n'y en a pas.

Tu sais, George, j'avais un projet en tête où j'ai décidé de faire quelque chose de massif. C'est-à-dire que j'espérais un public cible composé de tous les utilisateurs de MQL.

J'ai peut-être eu tort. Peut-être que peu de gens en ont besoin. Qui sait... La vie le montrera...))

 
Реter Konow:

J'ai peut-être eu tort. Peut-être que peu de gens en ont besoin. Qui sait... La vie nous le dira...))

C'est à ça que sert l'"option B".

Comme toujours, je peux citer ma propre ligue en exemple. Au début, je pensais qu'ils s'y intéresseraient et m'aideraient à l'optimiser. Seules deux personnes ont répondu. Mais j'ai eu une "option B" - j'ai acheté un nouvel ordinateur, et je n'ai plus besoin de l'aide de personne, parce que j'ai créé la Ligue pour moi-même dans une large mesure - pour toujours avoir un "pool de TS", qui travaillent sur la démo depuis un certain temps. Et je l'ai maintenant, en étudiant la possibilité de sélectionner les meilleurs d'entre eux pour de vrai.

De la même manière que vous en avez besoin - pour que le résultat de votre projet puisse vous être utile. Ensuite, vous l'utilisez et vous vous en vantez auprès des participants. Si quelqu'un se montre intéressé, vous partagez avec lui (ou vendez). S'ils ne viennent pas, vous en avez besoin vous-même. Dans tous les cas, vous gagnez.

 
Реter Konow:

(Ce qu'il y a de si infernalement compliqué là-dedans, je ne le vois franchement pas).

//+------------------------------------------------------------------+
//|                                               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,
//----------------------------------

...

Tu me le demandes vraiment, ou tu plaisantes ? Vous avez une chaîne infernale de centaines de définitions de variables que vous voulez faire passer pour une sorte de tableau. Le pseudo-tableau lui-même est tordu, sans structure, contenant des acronymes obscurs.

Et c'est ce que c'est :

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

Avez-vous trouvé ce formatage vous-même ? Tant mieux pour vous, vous avez toutes les chances de décrocher la première place à ioccc.org.

Mais mon pote, tu n'écris pas comme ça. PAS DU TOUT. Personne ne peut utiliser ce code.

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

Mais mon pote, tu n'écris pas comme ça. PAS DU TOUT. Personne ne peut utiliser ce code.

Vasiliy, bas les pattes de Peter ! !!

Ne vous mettez pas en travers du chemin de l'homme.

Je veux voir le public cible !!! Quelqu'un dira "J'ai attaché cette bibliothèque à mon conseiller expert et je l'utilise" !

Raison: