Делаем краудсорсовый проект по Canvas - страница 41

 
Реter Konow:

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

Алексей решил помочь перевести матрицу в стандартный формат ООП. Я не против, но честно говоря - сильно сомневаюсь. Точнее, я совершенно точно знаю, что это почти невозможно. Уйдет год, прежде чем будет создан равноценный аналог. С моей точки зрения - это имеет только один смысл - дать возможность людям редактировать и развивать проект. Если вдруг я его остановлю, другие могли бы продолжать.   

Главное, чтобы все это пригодилось сообществу.))

Наверное, прошло время просто перевернуть страницу и идти дальше. Хороший опыт приобрел. 
Но конечно же, твой проект никто не будет развивать. Надо быть реалистом.

 
Nikolai Semko:

Наверное, прошло время просто перевернуть страницу и идти дальше. Хороший опыт приобрел. 
Но конечно же, твой проект никто не будет развивать. Надо быть реалистом.

Развивать не будут, но применять будут.  

 
Nikolai Semko:

Петр, пожалуй,твоё творение смахивает больше не на язык разметок, а на язык запросов. 
И, как уже известно, с недавнего времени в MQL5 уже есть возможность работать с базами данных SQLite

Что такое база данных?  Это набор таблиц и взаимосвязи между ними.

А язык запросов (SQL - Structured Query Language - язык структурированных запросов) - это работа с этими таблицами (создание, модификация, запросы и доступ, удаление).
Не буду давать никаких советов. Я уже понял, что ты относишься к тому типу людей, которые не нуждаются ни в чьих советах.
Просто информация для размышления.
А выдать решение под формат, который уже стандартизирован и выстрадан - это дорогого стоит.
Сейчас как раз изучаю Java во взаимодействии с БД (MySQL). Java пришлось создать специальные инструменты для этого (JPA, Hibernate, DAO Design Pattern). Эта тема очень близка твоей. Эти инструменты - по сути классы -переводчики языка Java на язык SQL.
Мое мнение - более кототкий путь начать с начала после успешной практики с OOP и SQL. А еще может быть пригодится язык разметки XML.

Еще как пригодится! Кроссплатформенные решения выполняются на декларативном описании WPF, активити в андроиде, Xamarin, веб-страницы в конце концов - все это использует XML.

"Java пришлось создать специальные инструменты для этого" - любые дополнения и инструменты создаются для облегчения доступа, нативного доступа или даже объектного связывания, когда чтение данных из базы данных и добавление в нее данных производится без вызова запросов со стороны конечного разработчика. Конечно все работает на запросах, только все это глубоко спрятано в дополнениях.

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

Николай, надеюсь время от времени и ты будешь подключаться к нашей беседе.

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

...

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

...

Да я уже ничего не пытаюсь продавить). Просто, не представляю, как все это на классы переводить. Я сейчас полностью сосредоточен на отладке, как опубликую, вам и остальным станет понятнее что это такое. Тогда, может наметится какая то схема. Может коллективизм себя еще оправдает в этой ветке.)
 
Алексей Барбашин:

Николай, надеюсь время от времени и ты будешь подключаться к нашей беседе.

Я не против, но, если честно, я даже не знаю, чем могу помочь. Все уже сказал много раз. Петру надо просто пройти свой путь. 

Он товарищ самодостаточный и не нуждается в шефстве над ним, ибо сам себе босс. Хотя иногда складывается ощущение, что он нуждается в шефстве, но это лишь иллюзия, его уловка, своеобразная замануха :))

 
Nikolai Semko:

Я не против, но, если честно, я даже не знаю, чем могу помочь. Все уже сказал много раз. Петру надо просто пройти свой путь. 

Он товарищ самодостаточный и не нуждается в шефстве над ним, ибо сам себе босс. Хотя иногда складывается ощущение, что он нуждается в шефстве, но это лишь иллюзия, его уловка, своеобразная замануха :))

Николай, считаешь что стоит оставить попытку направить Петера на альтернативный путь развития его личности?

Р.С.: вчера сайт только у меня не работал или у всех?

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

Николай, считаешь что стоит оставить попытку направить Петера на альтернативный путь развития его личности?

Речь о том, чтобы проект направить на альтернативный путь. Его код легче переписать, чем мой.)
Есть мысль, что нужно сделать один базовый класс CElement, а от него - наследники - все типы элементов.

Если рассматривать логику связей элементов, то это верно, но если рассматривать структуру элементов, тогда базовыми классами должны быть CRec, CImage, CText. 
То есть, все зависит от выбора критерия классификации. 

Либо мы классифицируем по физической структуре элементов, либо, по их типам. Вариантов классификации много, и каждый предлагает свою структуру библиотеки классов. Нужно выбрать один критерий и ему следовать.
 
Реter Konow:
Речь о том, чтобы проект направить на альтернативный путь. Его код легче переписать, чем мой.)
Есть мысль, что нужно сделать один базовый класс CElement, а от него - наследники - все типы элементов.

Если рассматривать логику связей элементов, то это верно, но если рассматривать структуру элементов, тогда базовыми классами должны быть CRec, CImage, CText. 
То есть, все зависит от выбора критерия классификации. 

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

Полагаю что в этом вопросе лучше взглянуть на опыт родоначальников построения интерфейсов и элементов управления. Не вижу смысла изобретать велосипед или что-то уж слишком усложнять. Очень многие вещи придуманы еще до нас и нужно просто их портировать в mql.

Я не просто так спросил что общего в тех или иных элементах управления.

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

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

Полагаю что в этом вопросе лучше взглянуть на опыт родоначальников построения интерфейсов и элементов управления. Не вижу смысла изобретать велосипед или что-то уж слишком усложнять. Очень многие вещи придуманы еще до нас и нужно просто их портировать в mql.

Я не просто так спросил что общего в тех или иных элементах управления.

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

Опыт родоначальников есть, но что из него подойдет? Например, штатная библиотека, или библиотека Анатолия предлагают готовую структуру классов, но это БИБЛИОТЕКИ. То есть, элементы создаются вызовами нужных функций. У меня язык разметки, что означает, что можно написать GUI специальным языком в отдельном файле. Это совсем иная технология. Если не учитываеть это, можно создать обычную библиотеку, которых у нас на MQL уже две. Еще одна не нужна. Дело ведь не в том, на канвасе они или нет, а дело в том, насколько легко на них создавать интерфейс.

Картинки выложу.
 
Реter Konow:
Опыт родоначальников есть, но что из него подойдет? Например, штатная библиотека, или библиотека Анатолия предлагают готовую структуру классов, но это БИБЛИОТЕКИ. То есть, элементы создаются вызовами нужных функций. У меня язык разметки, что означает, что можно написать GUI специальным языком в отдельном файле. Это совсем иная технология. Если не учитываеть это, можно создать обычную библиотеку, которых у нас на MQL уже две. Еще одна не нужна. Дело ведь не в том, на канвасе они или нет, а дело в том, насколько легко на них создавать интерфейс.

Картинки выложу.

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

Де факто все из себя представляет библиотеку. К примеру ты создал конструктор графического построения диалогов, но на основе чего? на основе тех же библиотечных элементов управления. То есть чтобы пользователь мог что-то накидать на форму ему необходимо предоставить эти самые элементы управления, то есть он может их выбрать из ... библиотеки. Поэтому она так и называется. Потом на основе этого ты генеришь файл разметки, который пользователь сможет воспользоваться в mql, но изначально факт остается фактом: пользователь будет выбирать элементы управления из доступного списка. Это та же библиотека, только "вид сбоку".

Причина обращения: