Краудсорсовый GUI. Открытое бета-тестирование. - страница 25

 
Vitaly Muzichenko:

Это шедеврально :)

Если что нужно будет переделать/доделать, то через неделю не будешь помнить, что к чему относится. 

Это аналог отсылки "тот человек, на том форуме, где автарка в теме про картинки, где он в очках".))

 
Реter Konow:

Кажется, ты это имел ввиду:

Это две функции, обеспечивающие "общение" GUI с программой. Они принимают сообщения, расшифровывают и пересылают либо элементам, либо программе.

Из всего этого кода я не увидел обращения к самим элементам. Взаимодействие - это не только события, но и свойства и значения элементов управления.

Но больше всего мое внимание привлек код:

send.uint_Send[i1]

обращение через точку возможно только к сложным типам.... 

 
Алексей Барбашин:

Из всего этого кода я не увидел обращения к самим элементам. Взаимодействие - это не только события, но и свойства и значения элементов управления.

Но больше всего мое внимание привлек код:

обращение через точку возможно только к сложным типам.... 

Там повсюду обращения к элементам. Они же в матрице, - следовательно - обращение к матрице, это и есть обращение к элементу, составному объекту, окну или параметру.

Везде, где видешь "G_CORE" - это обращение к ядру. Внутри - элементы. 


Вот обращение к канвасу окна: 

G_CORE[G_CORE[cnvs[f1]][_MAIN]][_CANVAS]

А можно так:

G_CORE[КАНВАС][_X]

или

G_CORE[КАНВАС][_Y]

или

G_CORE[КАНВАС][_X_SIZE]


Есть много способов указать на конкретный элемент. Самый простой: G_CORE[ЭЛЕМЕНТ][_X].  Переменная "ЭЛЕМЕНТ" автоматически получает номер того элемента, над которым находится курсор. Я ставлю ее в массив G_CORE[ЭЛЕМЕНТ][_X] и получаю текущую Х-координату того элемента.

 

Реter Konow
:

Там по всюду обращения к элементам. Они же в матрице, - следовательно - обращение к матрице, это и есть обращение к элементу, составному объекту, окну или параметру.

Везде, где видешь "G_CORE" - это обращение к ядру. Внутри - элементы. 

Нет такого типа данных как "матрица". Петр, прояви уважение к собеседникам. Пожалуйста, называй вещи своими, общепринятыми именами, а не так как ты себе это представляешь. Если ты не знаешь как правильно назвать ту или иную сущность, тогда погугли или спроси у собеседников.

Через точку возможно обращение либо к юнитам, либо к структурам, либо к перечислениям, либо к классам. Классы ты не любишь, перечисления не могут содержать массивов, юниты могут состоять только из примитивных типов. Получается что ты в своей работе используешь структуры. 

А раз ты в своей работе используешь структуры не ясно что тебе помещало пойти дальше.

Никаких элементов внутри массива у тебя нету. У тебя есть значения в определенных ячейках. Попытки отрицать общепринятые нормы программирования, подменяя очевидные вещи своими понятиями, является открытым проявлением неуважения к собеседникам.

Все твои оппоненты тебя поддерживают, ожидают завершения тобою этого большого проекта, ты же со своей стороны всячески показываешь не только пренебрежение нормам программирования, но и терминологию полностью перевернул вверх дном.

 
Алексей Барбашин:

Нет такого типа данных как "матрица". Петр, прояви уважение к собеседникам. Пожалуйста, называй вещи своими, общепринятыми именами, а не так как ты себе это представляешь. Если ты не знаешь как правильно назвать ту или иную сущность, тогда погугли или спроси у собеседников.

Через точку возможно обращение либо к юнитам, либо к структурам, либо к перечислениям, либо к классам. Классы ты не любишь, перечисления не могут содержать массивов, юниты могут состоять только из примитивных типов. Получается что ты в своей работе используешь структуры. 

А раз ты в своей работе используешь структуры не ясно что тебе помещало пойти дальше.

Какие типы? Я не понимаю, о каких типах ты говоришь. У меня везде тип int. 

Никакие структуры я не использую. Юнионы использую только в конкретной функции ОДИН раз. Больше их нигде нет.

Юнионы нужны чтобы преобразовать данные и сохранить их в ресурсах. 

 
Реter Konow:

Какие типы? Я не понимаю, о каких типах ты говоришь. У меня везде тип int. 

Никакие структуры я не использую. Юнионы использую только в конкретной функции ОДИН раз. Больше их нигде нет.

send.uint_Send[i1] - send в данном случае не примитивный тип и не юнион
 
Алексей Барбашин:

Это только для сохранения данных в ресурсе. Все. В одной функции, один раз.

 Нет структур, нет классов, нет разных типов. Есть тип int и string. 


Насчет норм программирования. Я их уважаю. Но, программирую по своему.

Документация по MQL5: Основы языка / Типы данных / Целые типы / Типы char, short, int и long
Документация по MQL5: Основы языка / Типы данных / Целые типы / Типы char, short, int и long
  • www.mql5.com
Целый тип char занимает в памяти 1 байт (8 бит) и позволяет выразить в двоичной системе счисления 2^8 значений=256. Тип char может содержать как положительные, так и отрицательные значения. Диапазон изменения значений составляет от -128 до 127. uchar # Целый тип uchar также занимает в памяти 1 байт, как и тип char, но в отличие от него, uchar...
 
Реter Konow:

Это только для сохранения данных в ресурсе. Все. В одной функции, один раз.

 Нет структур, нет классов, нет разных типов. Есть тип int и string. 


Насчет норм программирования. Я их уважаю. Но, программирую по своему.

Какого типа переменная send?

 
Алексей Барбашин:

Какого типа переменная send?

юнион. Но она используется два раза. 

 

Петр, в одном из своих сообщений ты сослался на одного из пользователей форума: Артема Тришкина

Обрати внимание на цикл его статей о программировании торговых инструментов. Особое внимание обрати на то, что его инструментарий содержит интерфейсную часть. Эта интерфейсная часть основана на примитивных элементах.

Полагаю что всю мощь своего инструментария ты бы мог показать совместно с Артемом... Уверено что Артем с большим удовольствием пропиарил бы твой инструментарий для других программистов.... вот только боюсь что Артему будет очень трудно соединить твой подход к программированию с тем, как у него созданы торговые инструменты.