Il mio approccio. Il nucleo è il motore. - pagina 134

 
Реter Konow:

Abbastanza giusto. L'OOP è un wrapper. Aiuta qualcuno a pensare e ad organizzare i propri pensieri. Come le rotaie del tram aiutano i tram a correre sulle strade. Sono in una macchina "fuoristrada")).

Scusa, stai cavalcando un asino. Indietro e avanti.
 
Реter Konow:

Abbastanza giusto. L'OOP è un wrapper. Aiuta qualcuno a pensare e ad organizzare i propri pensieri. Come le rotaie del tram aiutano i tram a correre sulle strade. Sto guidando un "fuoristrada")).

Sì, osservate chiaramente questo SUV nella forma della 21a colonna della tabella.

 
Nikolai Semko:
Peter, non varresti il prezzo se non fosse per il tuo comportamento di protesta verso lo studio delle tecnologie moderne che milioni di programmatori hanno sofferto.
Tu programmi come un cinese (che i cinesi mi perdonino). Un programmatore che ha lavorato per molti anni in un'azienda americana che impiegava molti indiani e cinesi mi ha detto molto accuratamente dei cinesi: "... non programmano. Non programmano, fanno cazzate. Nessuno capisce come abbiano fatto in così poco tempo, ma funziona, anche se sbuffa, fischia e vibra con la sensazione che stia per cadere a pezzi...".

Nikolai, parliamo concretamente. Prendete, per esempio, la classe CCanvas che ho trattato prima. Così, l'ho preso e ho rimosso tutte le sue funzioni. Li ha resi indipendenti dal wrapper della classe. In che modo è peggio ora? È diventato più facile lavorare con loro. Ho fatto un'animazione usando queste funzioni. Prima di questo, non ho quasi mai visto animazioni con questa classe.

Allora perché questo involucro?

Anche tu stai disegnando su una tela. Si potrebbe semplicemente chiamare una funzione specifica e disegnare. Ma no. Avvolgi e avvolgi e avvolgi. Allora spiegami, perché?

 
Реter Konow:

Nikolay, parliamo dell'argomento. Prendete la classe CCanvas, per esempio, che ho già trattato. Così, ho eliminato tutte le funzioni da esso. Li ha resi indipendenti dal wrapper della classe. Come può essere peggio? È diventato più facile lavorare con loro. Ho fatto un'animazione usando queste funzioni. Prima di questo, non ho quasi mai visto animazioni con questa classe.

Allora perché questo involucro?

Anche tu stai disegnando su una tela. Si potrebbe semplicemente chiamare una funzione specifica e disegnare. Ma no. Avvolgi e avvolgi e avvolgi. Allora spiegami - perché?

 
Реter Konow:

Questo è in realtà ciò che succede alla tabella quando vi si inseriscono i nomi di altri elementi.

GROUP,"Orders table", IS_TABLE,  

__,     T_HEADER, "#",W,20,_,H,30, C_HEADER, "Order",     C_HEADER, "Opening Time",W,90, C_HEADER, "Type", W,90,  C_HEADER, "Volume", W,90,  C_HEADER, "Symbol", W,90, 
                               C_HEADER, "Price",       W,90,    
                               C_HEADER, "Comission",   W,90, C_HEADER, "Swap", W,90,  C_HEADER, "PnL",    W,90,  C_HEADER, "Close",  W,40,

__,     R_HEADER,"1", CELL, A,  C_LIST, A,  H_SLIDER, A,   CHECKBOX, A,  P_BAR, A,   S_EDIT, A, CELL, A, R_BUTTON, A, CELL, A,  I_BUTTON, A,     
__,     R_HEADER,"2",CELL, A,   C_LIST, A,  H_SLIDER, A,   CHECKBOX, A,  P_BAR, A,   S_EDIT, A, CELL, A, R_BUTTON, A, CELL, A,  I_BUTTON, A, 
__,     R_HEADER,"3",CELL, A,   C_LIST, A,  H_SLIDER, A,   CHECKBOX, A,  P_BAR, A,   S_EDIT, A, CELL, A, R_BUTTON, A, CELL, A,  I_BUTTON, A, 
__,     R_HEADER,"4",CELL, A,   C_LIST, A,  H_SLIDER, A,   CHECKBOX, A,  P_BAR, A,   S_EDIT, A, CELL, A, R_BUTTON, A, CELL, A,  I_BUTTON, A, 
__,     R_HEADER,"5",CELL, A,   C_LIST, A,  H_SLIDER, A,   CHECKBOX, A,  P_BAR, A,   S_EDIT, A, CELL, A, R_BUTTON, A, CELL, A,  I_BUTTON, A, 
__,     R_HEADER,"6",CELL, A,   C_LIST, A,  H_SLIDER, A,   CHECKBOX, A,  P_BAR, A,   S_EDIT, A, CELL, A, R_BUTTON, A, CELL, A,  I_BUTTON, A, 
__,     R_HEADER,"7",CELL, A,   C_LIST, A,  H_SLIDER, A,   CHECKBOX, A,  P_BAR, A,   S_EDIT, A, CELL, A, R_BUTTON, A, CELL, A,  I_BUTTON, A, 
__,     R_HEADER,"8",CELL, A,   C_LIST, A,  H_SLIDER, A,   CHECKBOX, A,  P_BAR, A,   S_EDIT, A, CELL, A, R_BUTTON, A, CELL, A,  I_BUTTON, A, 
__,     R_HEADER,"9",CELL, A,   C_LIST, A,  H_SLIDER, A,   CHECKBOX, A,  P_BAR, A,   S_EDIT, A, CELL, A, R_BUTTON, A, CELL, A,  I_BUTTON, A, 
__,     R_HEADER,"10",CELL, A,  C_LIST, A,  H_SLIDER, A,   CHECKBOX, A,  P_BAR, A,   S_EDIT, A, CELL, A, R_BUTTON, A, CELL, A,  I_BUTTON, A, 
__,     R_HEADER,"11",CELL, A,  C_LIST, A,  H_SLIDER, A,   CHECKBOX, A,  P_BAR, A,   S_EDIT, A, CELL, A, R_BUTTON, A, CELL, A,  I_BUTTON, A, 
__,     R_HEADER,"12",CELL, A,  C_LIST, A,  H_SLIDER, A,   CHECKBOX, A,  P_BAR, A,   S_EDIT, A, CELL, A, R_BUTTON, A, CELL, A,  I_BUTTON, A, 
__,     R_HEADER,"13",CELL, A,  C_LIST, A,  H_SLIDER, A,   CHECKBOX, A,  P_BAR, A,   S_EDIT, A, CELL, A, R_BUTTON, A, CELL, A,  I_BUTTON, A, 
__,     R_HEADER,"14",CELL, A,  C_LIST, A,  H_SLIDER, A,   CHECKBOX, A,  P_BAR, A,   S_EDIT, A, CELL, A, R_BUTTON, A, CELL, A,  I_BUTTON, A, 
__,     R_HEADER,"15",CELL, A,  C_LIST, A,  H_SLIDER, A,   CHECKBOX, A,  P_BAR, A,   S_EDIT, A, CELL, A, R_BUTTON, A, CELL, A,  I_BUTTON, A, 
__,     R_HEADER,"16",CELL, A,  C_LIST, A,  H_SLIDER, A,   CHECKBOX, A,  P_BAR, A,   S_EDIT, A, CELL, A, R_BUTTON, A, CELL, A,  I_BUTTON, A, 
__,     R_HEADER,"17",CELL, A,  C_LIST, A,  H_SLIDER, A,   CHECKBOX, A,  P_BAR, A,   S_EDIT, A, CELL, A, R_BUTTON, A, CELL, A,  I_BUTTON, A, 
__,     R_HEADER,"18",CELL, A,  C_LIST, A,  H_SLIDER, A,   CHECKBOX, A,  P_BAR, A,   S_EDIT, A, CELL, A, R_BUTTON, A, CELL, A,  I_BUTTON, A, 
__,     R_HEADER,"19",CELL, A,  C_LIST, A,  H_SLIDER, A,   CHECKBOX, A,  P_BAR, A,   S_EDIT, A, CELL, A, R_BUTTON, A, CELL, A,  I_BUTTON, A, 
__,     R_HEADER,"20",CELL, A,  C_LIST, A,  H_SLIDER, A,   CHECKBOX, A,  P_BAR, A,   S_EDIT, A, CELL, A, R_BUTTON, A, CELL, A,  I_BUTTON, A, 
__,     R_HEADER,"21",CELL, A,  C_LIST, A,  H_SLIDER, A,   CHECKBOX, A,  P_BAR, A,   S_EDIT, A, CELL, A, R_BUTTON, A, CELL, A,  I_BUTTON, A, 
 
END_GROUP,
//------------------------------------

Peter, questo codice è all'interno del tuo motore, se ho capito bene?

Cosa vi impedisce di rendere dinamico questo array, in modo da poter aggiungere nuove righe alla tabella quando necessario senza alcuna restrizione?

 
Vasiliy Sokolov:

Peter, questo codice è all'interno del tuo motore?

Cosa vi impedisce di rendere dinamico questo array, in modo da poter aggiungere nuove righe alla tabella quando necessario senza alcuna restrizione?

No. È codice esterno, che è scritto per il costruttore. Questo riproduce la tabella. Poi clicco sul pulsante e tutti i file di connessione e il kernel di avvio del motore vengono stampati. Allora tutto funziona.

 
Реter Konow:

No. Questo è codice esterno scritto per il costruttore. Questo riproduce la tabella. Poi premo il pulsante e tutti i file di connessione e il kernel di avvio del motore vengono stampati. Allora tutto funziona.

C'è un altro problema. La limitazione degli elementi di base e dei parametri. So quale dovrebbe essere la soluzione. Non ho ancora avuto il tempo di farlo.

 
Si può anche capire San Sanych - che è contro l'OLP. Ha, cosa, probabilmente 70 o più anni - è difficile cambiare la propria mentalità. Ma qui? Qual è il problema? Non solo resistere, ma anche fare il buffone.
 
Vasiliy Sokolov:


Vasily, il tuo tavolo funziona?

 
Реter Konow:

Vasiliy, il tuo tavolo funziona?

Non ho ancora controllato.