Mein Ansatz. Der Kern ist der Motor. - Seite 11

 
Vasiliy Sokolov:

OK, nehmen wir an, Sie haben eine Nummer unter dem Namen (wild, natürlich, aber nehmen wir es an). Aber jede Schaltfläche hat eine Beschriftung, einen Text, zum Beispiel "Abbrechen" oder etwas Ähnliches. Wie kann man diese Eigenschaft angeben? Richtig:

Ich wollte mir das genauer ansehen.

Ganz einfach. Wir erstellen eine Reihe von

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

Wir durchlaufen den Hauptkern und ordnen die Indizes der Textzellen darin an.

 
Реter Konow:

Das bedeutet, dass die Größe des Kerns der Anzahl der Eigenschaften des Objekts entsprechen muss. Wenn Sie die Anzahl der Eigenschaften ändern, ohne die Größe des Kerns zu ändern, wird das Feld nicht mehr angezeigt.

Wenn Sie also Code schreiben, sollten Sie darauf achten, dass die Anzahl der Eigenschaften und die Größe des Kerns überall übereinstimmen.

...

Du bist ein echtes Monster :) Sie machen Ihre eigenen Probleme und lösen sie. :)

Wenn Sie diese "Ketzerei" aufgeben und sich der OOP-"Religion" anschließen würden. :) Dann hätten Sie einen Weg gefunden, alles viel einfacher, flexibler und erweiterbar zu machen.

 
Vitalii Ananev:

Das heißt, während Sie Ihren Code schreiben, müssen Sie ständig überprüfen, ob die Anzahl der Eigenschaften und die Größe des Kerns überall gleich sind.


Was ist das Problem mit der Kontrolle? Wir fügen eine Eigenschaft hinzu und erhöhen die Größe der Kernelzeilen. Das ist alles.

 

Übrigens, auch dieser Code lässt sich nicht kompilieren. Hier erstellen Sie ein zweidimensionales 3x10-Array:

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

Auch wenn Sie nur acht Eigenschaften zu definieren haben.

Dann suchen Sie erneut nach 10 Immobilien:

#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;    
  }

Was soll das überhaupt bedeuten?

 
Vasiliy Sokolov:

Übrigens, auch dieser Code lässt sich nicht kompilieren. Hier erstellen Sie ein zweidimensionales 3x10-Array:

Auch wenn Sie nur acht Eigenschaften zu definieren haben.

Dann suchen Sie erneut nach 10 Immobilien:

Was soll das denn heißen?

Dies ist nur ein Beispiel. Nicht zur Zusammenstellung.

 
Реter Konow:

Dies ist nur ein Beispiel. Nicht zur Zusammenstellung.

Ach, ja? Sie versuchen also, uns Ihren Code mit einem nicht funktionierenden Beispiel zu erklären.

 
Vasiliy Sokolov:

Oh, Mann. Sie versuchen also, uns Ihren Code anhand von Beispielen zu erklären, die nicht wirklich funktionieren.

Ich erkläre nicht den Code, ich erkläre den Ansatz.

 
Реter Konow:

Nicht der Kern, sondern der Motor. Der Kern ist einfach ein Array von Daten.

Es kommuniziert über EventChartCustom();

Ja, Entschuldigung. Ich bin ständig verwirrt. Kern und Motor klingen gleichwertig. Die Terminologie ist meiner Meinung nach unglücklich gewählt.
Peter, bitte zeichne in einem beliebigen Grafikeditor zumindest ein Blockdiagramm mit Kernel, Engine, Programmkörper und Pfeilen zwischen ihnen, die die Wege der Interaktion angeben (wo durch globale Variablen des Terminals, wo durch Dateien, wo durch Benutzerinterrupts, wo durch Ressourcen, wo durch den Indikatorpuffer, usw.). Es ist nur so, dass ich ein Visualist bin (ich glaube, ich bin nicht der Einzige), kein Audialist, und in diesem Dschungel von Wörtern verliere ich mich und meine Puzzles passen nicht zusammen.
 
Für diejenigen, die es tatsächlich interessiert, werde ich später fortfahren. Im Moment ist es eine Pause.
 
Nikolai Semko:
Ja, Entschuldigung. Ich komme immer wieder durcheinander. Kernel und Motor klingen identisch. Die Terminologie ist meiner Meinung nach unglücklich gewählt.
Peter, zeichne bitte in einem beliebigen grafischen Editor zumindest ein Blockdiagramm mit Kernel, Engine, Programmkörper und Pfeilen zwischen ihnen mit Angabe der Interaktionsmethoden (wo durch globale Variablen des Terminals, wo durch Dateien, wo durch Benutzerinterrupts, wo durch Ressourcen, wo durch Indikatorpuffer, usw.). Es ist nur so, dass ich eher ein Visualist bin (ich glaube, da bin ich nicht der Einzige) als ein Audialist, und in diesem Dschungel von Wörtern verliere ich mich, und meine Puzzles ergeben keinen Sinn.

Der Kernel ist ein Array. Der Motor ist der Code.

Ich werde es zeichnen.