Benim yaklaşımım. Çekirdek - Motor. - sayfa 11

 
Vasiliy Sokolov :

Diyelim ki adınızın altına gizlenmiş bir numaranız var (elbette vahşilik, ama varsayalım). Ancak her düğmenin bir etiketi, "İptal" gibi bir metni veya buna benzer bir metni vardır. Bu özellik nasıl belirlenir? Böyle:

Bu konuyu daha detaylı inceleyecektim.

Çok basit. dizi yapmak

string Button_names[] = {"İptal", "Tamam", "Merhaba Dünya!"...};

Ana çekirdekten bir döngü yapıyoruz ve içine metin hücrelerinin dizinlerini yerleştiriyoruz.

 
Реter Konow :

Bu, çekirdeğin boyutunun , nesnenin özelliklerinin sayısına karşılık gelmesi gerektiği anlamına gelir. Özellik sayısını değiştirirseniz ve Çekirdeğin boyutunu değiştirmezseniz, dizi sınırların ötesine geçecektir.

Yani, sürekli kod yazma sürecinde, özelliklerin sayısının ve çekirdeğin boyutunun her yerde çakıştığını kontrol etmelisiniz.

...

Sen sadece bir çeşit canavarsın :) Kendin için problemler yarat ve onları kendin çöz. :)

Dilerseniz bu "sapkınlığı" terk eder ve FKÖ'nün "dini"ni kabul edersiniz. :) O zaman her şeyi çok daha kolay, daha esnek ve genişletilebilir hale getirmenin bir yolunu bulursunuz.

 
Vitalii Ananev :

Yani, sürekli kod yazma sürecinde, özelliklerin sayısının ve çekirdeğin boyutunun her yerde çakıştığını kontrol etmelisiniz.


Kontrolle ilgili sorun nedir? Bir özellik ekliyoruz ve Çekirdek satırlarının boyutunu artırıyoruz. Bu kadar.

 

Ve bu arada, bu kod bile sizin için derlenmeyecek. Burada bir 2D 3x10 dizisi oluşturursunuz:

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

Yalnızca sekiz tanımlı özelliğiniz olmasına rağmen.

Ardından tekrar 10'dan fazla özelliği yinelersiniz:

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

Bu nasıl anlaşılmalı?

 
Vasiliy Sokolov :

Ve bu arada, bu kod bile sizin için derlenmeyecek. Burada bir 2D 3x10 dizisi oluşturursunuz:

Yalnızca sekiz tanımlı özelliğiniz olmasına rağmen.

Ardından tekrar 10'dan fazla özelliği yinelersiniz:

Bu nasıl anlaşılmalı?

Bu sadece bir örnek. Derleme için değil.

 
Реter Konow :

Bu sadece bir örnek. Derleme için değil.

Oh nasıl. Onlar. çalışmayan örnekler ilkesine göre kodunuzu bize açıklamaya çalışıyorsunuz.

 
Vasiliy Sokolov :

Oh nasıl. Onlar. çalışmayan örnekler ilkesine göre kodunuzu bize açıklamaya çalışıyorsunuz.

Kodu değil, yaklaşımı açıklıyorum.

 
Реter Konow :

Çekirdek değil, motor. Çekirdek sadece bir veri dizisidir.

EventChartCustom() aracılığıyla iletişim kurar;

Evet üzgünüm. Her zaman karıştırırım. Çekirdek ve motor sesi aynı. Terminoloji bence yanlış.
Petr, lütfen herhangi bir grafik düzenleyicide çizin, lütfen, en azından çekirdek, motor, program gövdesi ve aralarında etkileşim yollarını gösteren oklar içeren bir akış şeması çizin (Nerede küresel terminal değişkenleri aracılığıyla, nerede dosyalar aracılığıyla, nerede kullanıcı kesintileri, nerede aracılığıyla kaynaklar, gösterge arabelleği aracılığıyla vb.). Sadece görselim (sanırım tek ben değilim) ve işitsel değilim ve bu kelime ormanında kayboldum ve bulmacalarım sığmıyor.
 
Gerçekten ilgilenenler için daha sonra devam edeceğim. Mola sırasında.
 
Nikolai Semko :
Evet üzgünüm. Her zaman karıştırırım. Çekirdek ve motor sesi aynı. Terminoloji bence yanlış.
Petr, lütfen herhangi bir grafik düzenleyicide çizin, lütfen, en azından çekirdek, motor, program gövdesi ve aralarında etkileşim yollarını gösteren oklar içeren bir akış şeması çizin (Nerede küresel terminal değişkenleri aracılığıyla, nerede dosyalar aracılığıyla, nerede kullanıcı kesintileri, nerede aracılığıyla kaynaklar, gösterge arabelleği aracılığıyla vb.). Ben sadece bir görselim (sanırım tek ben değilim), işitsel biri değilim ve bu kelime ormanında kayboldum ve bulmacalarım sığmıyor.

Çekirdek bir dizidir. Motor - kod.

Çizeceğim.

Neden: