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

 
Dmitry Fedoseev:

Qu'en pensez-vous ? Qu'y a-t-il que la bibliothèque standard ne peut pas gérer ?

Ok, Dimitri. Le public ici ne veut pas abandonner. Je ne suis peut-être pas un grand artiste. Mais j'ai essayé de montrer les possibilités du designer. Ils sont assez larges. Vous pouvez créer non seulement rapidement, mais aussi magnifiquement (enfin, ça c'est pour ceux qui sont plus doués que moi en dessin).

Je vais vous montrer le code de la fenêtre de l'horloge :

//----------------------------------------------------------------------------------
NEW_WINDOW,  W_NAME, "Time limits",  W_ICON, "Schedule (16x16)",  W_TYPE, SETTINGS, ALWAYS_ON_TOP,   
MARGINS,-9,-7,
//----------------------------------------------------------------------------------
"MF",N_COLOR,(int)C'200,169,149', 
"MF",NG_LINES,56, 
"MF",NG_STEP,-1,
//----------------------------------------------------------------------------------
 GROUP, A,
//---------------------------------------
__,BOARD,"Time limits for initial trades:", W,280,_,H,30,_,FONT_SIZE,13, _,TEXT_FONT,"Arial Black",_,ADAPT_2_GRADIENT,"MF",_,text, N_COLOR,(int)C'255,255,255',
//--------------------------------------- 
 END_GROUP,
//--------------------------
 i, AT, _X2X, "MF", 33, _Y2Y, "MF", 5,
//----------------------------------------------------------------------------------

//----------------------------------------------------------------------------------
 GROUP, A,
//---------------------------------------
 __,REC,"R1", W,190,_,H,63,
//--------------------------------------- 
 END_GROUP,
//--------------------------
 i, AT, _X2W, "OFF", 10, _Y2H, "Time limits for initial trades:", 10,
 i,RECS, 
        N_FRAME,1,
        N_FRAME_COLOR,(int)C'209,173,149', 
       // FRAME_TYPE,_abc,  
        N_COLOR,(int)C'240,209,189',
       // NG_LINES,15,NG_STEP,1,
        NG_LINES,36, 
        NG_STEP,1,
        END,
//----------------------------------------------------------------------------------

//----------------------------------------------------------------------------------
 GROUP, A,
    
__, BUTTON,"OFF", W,100,_,H,65, _,P_COLOR,(int)C'250,189,179',  _,A_COLOR,(int)C'255,20,17', _,AP_COLOR,(int)C'255,60,17', _,PARAM_TYPE,_BOOL, _,N_COLOR,(int)C'240,219,189', _,FIC,
         
 END_GROUP,
//--------------------------
 i, AT, _X2X, "MF", 5, _Y2H, "Time limits for initial trades:", 10,
//--------------------------  
i,BUTTONS,  PARAM_TYPE,_BOOL,   text,_A1_,_C2C,       text,_A2_,_C2C,     FONT_SIZE,12,   N_FRAME,1,   A_FRAME,1,   NP_FRAME,1,    END,
"OFF",A_TEXT,"ON",
//-------------------------- 
"OFF",NG_LINES,65, 
"OFF",NG_STEP,-1,
"OFF",AG_LINES,65, 
"OFF",AG_STEP,-1,
"OFF",NPG_LINES,65, 
"OFF",NPG_STEP,-1,
//----------------------------------------------------------------------------------

//----------------------------------------------------------------------------------
 GROUP, A,
    
__, EDIT,"Hour to start", _,EDIT_ALIGN_CENTER, _,V_CURRENT,"1",  //_,READ_ONLY, 
    
    EDIT,"End hour",      _,EDIT_ALIGN_CENTER,_,V_CURRENT,"0",  //_,READ_ONLY, 
    
 END_GROUP,
//--------------------------
 i, AT, _X2W, "OFF", 17, _Y2H, "Time limits for initial trades:", 30,
 
 i,X_GAP,3,

 i,EDITS,  
 FRAME_TYPE,_b,
 POINTED,0,
 H,39,
 W,90,
 FONT_SIZE,20,
 N_COLOR,(int)C'240,209,189',
 NH_COLOR,(int)C'240,209,189',
 A_COLOR,(int)C'240,209,189',
 AH_COLOR,(int)C'240,209,189',
 N_FRAME_COLOR,(int)C'200,169,149',
 
 TEXT_FONT,"Arial Black",
 bar,N_FRAME,1,
 bar,A_FRAME,1,
 bar,FRAME_TYPE,_bc,
 
 bar,N_FRAME_COLOR,(int)C'200,169,149',
 bar,NH_FRAME_COLOR,(int)C'200,169,149',
 bar,A_FRAME_COLOR,(int)C'200,169,149',
 bar,AH_FRAME_COLOR,(int)C'200,169,149',
 
 bar,N_COLOR,(int)C'255,229,219',
 bar,NH_COLOR,(int)C'255,229,219',
 bar,A_COLOR,(int)C'255,229,219',
 bar,AH_COLOR,(int)C'255,229,219',
 
 bar,NG_LINES,36, 
 bar,NG_STEP,  1,
 bar,AG_LINES,36, 
 bar,AG_STEP,  1,
 
 text,N_COLOR,  (int)C'200,139,129',
 text,NH_COLOR, (int)C'200,139,129',
 text,A_COLOR,  (int)C'200,139,129',
 text,AH_COLOR, (int)C'200,139,129',
 
END,

//----------------------------------------------------------------------------------

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

__, BOARD,"Hour to start:", W_C2C,"Hour to start",0, _,ON_TOP,"Hour to start",0,  

__, BOARD,"End hour:",      W_C2C,"End hour",     0, _,ON_TOP,"End hour",     0,   

 END_GROUP,
//--------------------------
i,BOARDS, FONT_SIZE,11,ADAPT_2_GRADIENT,"MF", text,N_COLOR,(int)C'180,149,129',   END,
//----------------------------------------------------------------------------------

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

__, H_LINE,"HL3",W,188,_,N_COLOR,(int)C'255,223,199',

END_GROUP,
//----------------------
 i, AT, _X2X, "R1", 1, _Y2Y, "R1", 1,

//----------------------------------------------------------------------------------

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

__, V_LINE,"vL",H,61,_,N_COLOR,(int)C'255,223,199',

END_GROUP,
//------------------------------------
 i, AT, _X2X, "R1", 1, _Y2Y, "R1", 1,

//----------------------------------------------------------------------------------

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

__, H_LINE,"HL5",W,190,_,N_COLOR,(int)C'199,163,139',

END_GROUP,
//----------------------
 i, AT, _X2X, "R1", 1, _Y2H, "R1", 0,

//----------------------------------------------------------------------------------

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

__, V_LINE,"vL2",H,63,_,N_COLOR,(int)C'199,163,139',

END_GROUP,
//----------------------
 i, AT, _X2W, "R1", 0, _Y2Y, "R1", 1,

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

__, LABEL,A, N_LABEL,"Time (32x32)",

END_GROUP,
//--------------------------
i, AT, _X2X, "MF", 3, _Y2Y, "MF", 5,
//----------------------------------------------------------------------------------
END_WINDOW,
//***************************************************************************************************************************************** *
 

Bien sûr, le code est gros. Mais c'est extrêmement simple.

L'essentiel est que les éléments dont les propriétés sont déjà définies (taille, couleur, gradient) peuvent être simplement extraits du code et copiés dans d'autres fenêtres.

Pas de syntaxe, pas de cours, etc... Ils ont juste pris un élément, ou un groupe d'éléments, ou la fenêtre entière et l'ont collé n'importe où. En une seule pièce.

Ensuite, changez quelque chose et vous obtenez un nouvel élément, groupe d'éléments ou fenêtre.

 
Реter Konow:

...Mais j'ai essayé de montrer les possibilités du constructeur...

Ici :NEW_WINDOW, W_NAME, "Limites de temps", W_ICON, "Schedule (16x16)", W_TYPE, SETTINGS, ALWAYS_ON_TOP,

C'est ce que vous essayez de faire passer pour une OOP, seulement dans votre... à votre manière. Il s'agit essentiellement d'un appel au constructeur : new Qwerty(z,x,c).

 
Dmitry Fedoseev:

Ici :NEW_WINDOW, W_NAME, "Limites de temps", W_ICON, "Schedule (16x16)", W_TYPE, SETTINGS, ALWAYS_ON_TOP,

C'est ce que vous essayez de faire passer pour une OOP, seulement dans votre... à votre manière. Il s'agit essentiellement d'un appel au constructeur : new Qwerty(z,x,c).

Peut-être. Mais l'ordre n'a pas d'importance ici.

Par exemple :

NEW_WINDOW,  W_NAME, "Time limits",  W_ICON, "Schedule (16x16)",  W_TYPE, SETTINGS, ALWAYS_ON_TOP,

ou .

NEW_WINDOW, W_ICON, "Schedule (16x16)", W_NAME, "Time limits",     ALWAYS_ON_TOP, W_TYPE, SETTINGS,


Cela ne fait aucune différence.

Notez que les propriétés peuvent être définies pour un groupe entier du même type en une seule fois :

i,BOARDS, FONT_SIZE,11,ADAPT_2_GRADIENT,"MF", text,N_COLOR,(int)C'180,149,129',   END,
 
Реter Konow:

Peut-être. Mais l'ordre n'est pas important ici.

Par exemple :

ou


Aucune différence.

Notez que les propriétés peuvent être définies pour un groupe entier d'éléments similaires en une seule fois :

Si l'ordre n'est pas important, il n'y a pas d'infobulles. Et lorsque vous appelez une fonction ou un constructeur de classe avec des paramètres, le compilateur fait des allusions par paramètres. Et vous savez, c'est une aide très importante. L'approche standard est donc un atout indéniable.

 
Реter Konow:

Le niveau des graphiques dans la bibliothèque standard n'est pas bon, c'est le moins qu'on puisse dire. Le travail nécessaire à la création de ces fenêtres, par exemple :

Enorme. C'EST POURQUOI RIEN DE SÉRIEUX N'EST CRÉÉ.

Je doute qu'avec la bibliothèque standard vous puissiez créer de tels graphiques en principe.

Tu es juste hors de ta profondeur :(

C'est très simple et rapide. Toutes vos fenêtres peuvent être réalisées avec la bibliothèque standard. Vraiment, je ne le ferai pas :)


Dossiers :
HelloWorld1.ex5  250 kb
 
Yury Kulikov:

Tu es juste déconnecté :(

C'est très simple et rapide. Toutes vos fenêtres peuvent être réalisées avec une bibliothèque standard. Vraiment, je ne le ferai pas :)


Essayez de faire en sorte qu'en appuyant sur un bouton, un ensemble d'éléments de contrôle s'affiche, et en appuyant sur un autre, un autre élément de contrôle s'affiche. En même temps, vous pourrez minimiser et maximiser la fenêtre. On suppose également qu'il pourrait y avoir beaucoup de variantes.

Il serait intéressant de demander à Peter comment il pourrait résoudre ce problème.

 
Dmitry Fedoseev:

Essayez de faire apparaître un ensemble de contrôles lorsque vous cliquez sur un bouton, et un autre ensemble de contrôles lorsque vous cliquez sur un autre bouton. En même temps, la fenêtre peut être minimisée et maximisée. On suppose également qu'il pourrait y avoir beaucoup de variantes.

Il serait intéressant de demander à Peter comment il pourrait résoudre cette tâche.

Il y a une telle possibilité. Je peux faire en sorte qu'un élément contrôle le phénomène d'un autre élément, ou d'un groupe d'éléments. Et les onglets ordinaires fonctionnent aussi, bien sûr.

Je vais fabriquer un tel moteur aujourd'hui et vous le montrer.

 
Dmitry Fedoseev:

Essayez de faire apparaître un ensemble de contrôles lorsque vous cliquez sur un bouton, et un autre ensemble de contrôles lorsque vous cliquez sur un autre bouton. En même temps, la fenêtre peut être réduite et agrandie.

Y a-t-il un problème ? Je n'ai pas le temps d'étudier la bibliothèque standard, mais je pense que si hide/show ne résout pas le problème, vous pouvez probablement intervertir les conteneurs, les zones clients ou la boîte de dialogue elle-même.

 
Yury Kulikov:

Y a-t-il un problème ? Je n'ai pas le temps d'étudier la bibliothèque standard, mais je pense que si hide/show ne résout pas le problème, vous pouvez probablement intervertir les conteneurs, les zones clients ou la boîte de dialogue elle-même.

Je ne sais pas, j'ai essayé et ça n'a pas marché.

Raison: