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

 
Vasiliy Sokolov:

OK, diciamo che avete un numero sotto il nome (selvaggio, naturalmente, ma supponiamo che sia così). Ma ogni pulsante ha una didascalia, un testo, per esempio "Annulla" o qualcosa del genere. Come si specifica questa proprietà? Giusto:

Avevo intenzione di approfondire la questione.

Molto semplice. Facciamo un array di

stringa Button_names[] = {"Cancel", "Ok", "Hello World!"...};

Eseguiamo un ciclo attraverso il kernel principale e sistemiamo gli indici delle celle di testo in esso.

 
Реter Konow:

Questo significa che la dimensione del kernel deve corrispondere al numero di proprietà dell'oggetto. Se cambiate il numero di proprietà e non cambiate la dimensione del kernel, sarete fuori dalla matrice.

Quindi, mentre scrivete il codice, dovreste controllare che il numero di proprietà e la dimensione del kernel coincidano ovunque.

...

Sei un vero mostro :) Tu crei i tuoi problemi e li risolvi. :)

Se tu abbandonassi questa "eresia" e abbracciassi la "religione" OOP. :) Allora avresti trovato un modo per rendere tutto molto più semplice, flessibile ed espandibile.

 
Vitalii Ananev:

Cioè, mentre scrivete il vostro codice, dovete costantemente controllare che il numero di proprietà e la dimensione del kernel siano gli stessi ovunque.


Qual è il problema del controllo? Aggiungiamo una proprietà e aumentiamo la dimensione delle righe del kernel. Questo è tutto.

 

E comunque, anche questo codice non compilerà per voi. Qui state creando una matrice bidimensionale 3x10:

int P_CORE[3][10] = {
//Основание кнопки.-----------------------------
//
//1)NAME   2)TYPE  3)ELEMENT    4)X    5)Y     6)X_SIZE  7)Y_SIZE       8)COLOR
//----------------------------------------------
{ 100001,  base,  button,    100, 100,    200,    50,    C'245,245,245'}, 
//---------------------------------------------- 
//Текст кнопки.---------------------------------
//
//NAME    TYPE   ELEMENT   X    Y     X_SIZE  Y_SIZE       COLOR 
//----------------------------------------------
{100002,  text,  button,  120, 120,     0,      0,       C'245,0,0'},
//---------------------------------------------- 
//Иконка кнопки.-------------------------------- 
//
//NAME    TYPE     ELEMENT   X    Y     X_SIZE  Y_SIZE       COLOR 
{100003,  icon,    button,  140, 140,     16,     16,           0},

Anche se avete solo otto proprietà da definire.

Poi fai di nuovo una ricerca per 10 proprietà:

#define  All_objects     30
#define  All_properties  10
//Далее, строим G_CORE:
//--------------------------------------
int q = 0;
//--------------
for(int a1 = 0; a1 < All_objects; a1++)
  {
   for(int a2 = 0; a2 < All_properties; a2++)
    {
     G_CORE[a1][a2] = P_CORE[q][a2];
    }
     q++;
     if(q == 3)q = 0;    
  }

Cosa significa questo?

 
Vasiliy Sokolov:

E comunque, anche questo codice non compilerà per voi. Qui state creando una matrice bidimensionale 3x10:

Anche se avete solo otto proprietà da definire.

Poi fai di nuovo una ricerca per 10 proprietà:

Cosa dovrebbe significare?

Questo è solo un esempio. Non per la compilazione.

 
Реter Konow:

Questo è solo un esempio. Non per la compilazione.

Oh, sì. Quindi stai cercando di spiegarci il tuo codice con un esempio non funzionante.

 
Vasiliy Sokolov:

Oh, cavolo. Quindi stai cercando di spiegarci il tuo codice, usando esempi che non funzionano davvero.

Non sto spiegando il codice, sto spiegando l'approccio.

 
Реter Konow:

Non il kernel, il motore. Il nucleo è semplicemente un array di dati.

Comunica tramite EventChartCustom();

Sì, scusate. Mi confondo sempre. Il nucleo e il suono del motore sono equivalenti. La terminologia è infelice secondo me.
Peter, per favore disegna in un qualsiasi editor grafico, almeno un diagramma a blocchi con kernel, motore, corpo del programma e frecce tra loro, indicando i modi di interazione (dove attraverso le variabili globali del terminale, dove attraverso i file, dove attraverso gli interrupt dell'utente, dove attraverso le risorse, dove attraverso il buffer degli indicatori, ecc.) È solo che sono un visualista (penso di non essere l'unico), non un audialista, e in questa giungla di parole mi perdo e i miei puzzle non si incastrano.
 
Per coloro che sono effettivamente interessati, continuerò più tardi. Per ora, è una pausa.
 
Nikolai Semko:
Sì, scusate. Continuo a confondermi. Kernel e motore sembrano gli stessi. La terminologia è infelice secondo me.
Peter, per favore disegna in un qualsiasi editor grafico almeno un diagramma a blocchi con kernel, motore, corpo del programma e frecce tra di loro con indicazione dei metodi di interazione (dove attraverso le variabili globali del terminale, dove attraverso i file, dove attraverso gli interrupt dell'utente, dove attraverso le risorse, dove attraverso il buffer dell'indicatore, ecc.) È solo che io sono un visualista (penso di non essere l'unico) piuttosto che un audialista, e in questa giungla di parole mi perdo e i miei puzzle non quadrano.

Il kernel è un array. Il motore è il codice.

Lo disegnerò.