Realización de un proyecto crowdsourced en Canvas - página 41

 
Реter Konow:

Nikolai, tu opinión siempre es interesante. He terminado el proyecto gráfico y sólo quiero dárselo a la gente. Todavía queda algo de tiempo y cualquiera probará el motor y el diseñador. Luego, continuaré con desarrollos completamente diferentes.

Alexey decidió ayudarme a traducir la matriz al formato OOP estándar. No me importa, pero francamente, lo dudo mucho. Para ser más exacto, sé con seguridad que es casi imposible. Se tardaría un año en crear un análogo equivalente. Desde mi punto de vista, lo único que tiene sentido es dar a la gente la oportunidad de editar y desarrollar el proyecto. Si lo dejo de repente, otros podrían continuar.

Lo principal es que todo sea útil para la comunidad).

Supongo que ya es hora de pasar la página y seguir adelante. Buena experiencia adquirida.
Pero, por supuesto, nadie desarrollará su proyecto. Hay que ser realista.

 
Nikolai Semko:

Creo que ya es hora de pasar la página y seguir adelante. Se ha adquirido una buena experiencia.
Pero, por supuesto, nadie desarrollará su proyecto. Hay que ser realista.

No se desarrollarán, pero se aplicarán.

 
Nikolai Semko:

Piotr, tu creación se parece más a un lenguaje de peticiones que a un lenguaje de marcas.
Y como sabemos, MQL5 ha podido trabajar recientemente con bases de datosSQLite.

¿Qué es una base de datos? Es un conjunto de tablas y las relaciones entre ellas.

Y el lenguaje de consulta (SQL - Structured QueryLanguage) trabaja con estas tablas (crear, modificar, consultar y acceder, eliminar).
No voy a dar ningún consejo. Ya me he dado cuenta de que eres el tipo de persona que no necesita los consejos de nadie.
Sólo es información para reflexionar.
Y es caro dar una solución para un formato que ya ha sido estandarizado y desarrollado.
Ahora mismo estoy estudiando Java en su interacción con una base de datos (MySQL). Java tuvo que crear herramientas especiales para ello (JPA, Hibernate, patrón de diseño DAO). Este tema está muy cerca del suyo. Estas herramientas son esencialmente clases - traductores de Java a SQL.
Mi opinión es que es mejor empezar desde el principio después de haber practicado con éxito con OOP y SQL. Y el lenguaje de marcado XML también puede ser útil.

Será muy útil. Las soluciones multiplataforma se ejecutan en una descripción declarativa de WPF, activiti en android,Xamarin, páginas web en fin - todos utilizan XML.

"Java tuvo que crear herramientas especiales para esto" - cualquier complemento y herramienta se crea para facilitar el acceso, el acceso nativo o incluso la vinculación de objetos, donde la lectura de datos de una base de datos y la adición de datos se hace sin llamar a las consultas del desarrollador final. Por supuesto que todo funciona en las consultas, sólo que todo está profundamente oculto en los complementos.

Y con Peter todo saldrá bien si tiene la voluntad de hacerlo. Hasta ahora ha abandonado su obstinada costumbre de intentar "empujar" su modelo. Yo, en cambio, intento abstraerlo de su matriz y pasar a un razonamiento general. Mientras esté obsesionado con su matriz es difícil razonar con sensatez. Pero las cosas están avanzando bien hasta ahora.

Nikolay, espero que te unas a nuestra discusión de vez en cuando.

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

...

Y todo se resolverá con Peter si tiene la voluntad de hacerlo. Hasta ahora tiene la costumbre de intentar "empujar" su modelo. Intento abstraerlo de su matriz y pasar a un razonamiento general. Mientras esté obsesionado con su matriz es difícil razonar con sensatez. Pero las cosas están avanzando bien hasta ahora.

...

Ya no trato de empujar nada). Sólo que no tengo ni idea de cómo traducirlo todo en clases. Ahora estoy totalmente centrado en la depuración, en cuanto lo publique, tú y los demás tendréis una mejor idea de lo que es. Entonces tal vez haya algún tipo de esquema. Quizá el colectivismo siga dando sus frutos en este hilo).
 
Алексей Барбашин:

Nikolai, espero que te unas a la conversación de vez en cuando.

No me importa, pero para ser honesto, ni siquiera sé cómo puedo ayudar. Lo he dicho muchas veces. Pyotr sólo necesita seguir su propio camino.

Es un hombre autosuficiente y no necesita patrocinio, pues es su propio jefe. Aunque a veces tienes la sensación de que necesita un patrocinio, pero es sólo una ilusión, un truco, una especie de señuelo :))

 
Nikolai Semko:

No me importa, pero para ser honesto, ni siquiera sé cómo puedo ayudar. Lo he dicho muchas veces. Peter necesita seguir su propio camino.

Es un tipo autosuficiente y no necesita supervisión, pues es su propio jefe. Aunque a veces tienes la sensación de que necesita un patrocinio, pero es sólo una ilusión, una especie de señuelo :))

Nikolaj, ¿crees que vale la pena dejar el intento de guiar a Peter por un camino alternativo al desarrollo de su personalidad?

P.D.: ¿Soy yo o el sitio no funcionó ayer?

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

Nikolai, ¿crees que vale la pena dejar el intento de dirigir a Peter hacia una forma alternativa de desarrollar su personalidad?

Se trata de dirigir el proyecto de forma alternativa. Su código es más fácil de reescribir que el mío).
Existe la idea de que debemos hacer una clase base CElement, y de ella - herederos - todos los tipos de elementos.

Si consideramos la lógica de los enlaces entre elementos, eso es correcto, pero si consideramos la estructura de los elementos, entonces las clases base deberían ser CRec, CImage, CText.
Así pues, todo depende de la elección del criterio de clasificación.

Podemos clasificar según la estructura física de los elementos o según sus tipos. Hay muchas variantes de clasificación y cada una ofrece una estructura de biblioteca de clases diferente. Es necesario elegir un criterio y seguirlo.
 
Реter Konow:
Se trata de orientar el proyecto en una dirección alternativa. Su código es más fácil de reescribir que el mío).
La idea es hacer una clase base CElement, y a partir de ella, todos los tipos de elementos como descendientes.

Si consideramos la lógica de las relaciones entre elementos, esto es correcto, pero si consideramos la estructura de los elementos, entonces las clases base deberían ser CRec, CImage, CText.
Así pues, todo depende de la elección del criterio de clasificación.

Podemos clasificar según la estructura física de los elementos o según sus tipos. Hay muchas variantes de clasificación y cada una ofrece una estructura de biblioteca de clases diferente. Es necesario elegir un criterio y seguirlo.

Creo que es mejor fijarse en la experiencia de los antepasados de las interfaces y los controles. No veo el sentido de reinventar la rueda o complicar demasiado las cosas. Muchas cosas se han inventado antes que nosotros y sólo hay que portarlas a mql.

No sólo he preguntado qué tienen en común estos o aquellos controles.

Ahora te pido una cosa más: Peter, publica aquí imágenes de los siguientes controles - botón con icono y leyenda, etiqueta de texto con icono y leyenda, casilla de verificación, botón de radio, combobox, panel, campo de entrada.

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

Creo que es mejor mirar la experiencia de los ancestros del diseño de interfaces y controles en este asunto. No tiene sentido reinventar la rueda o complicar demasiado las cosas. Muchas cosas se han inventado antes que nosotros y sólo hay que portarlas a mql.

No sólo he preguntado qué tienen en común estos o aquellos controles.

Ahora voy a pedir una cosa más: Peter, pon aquí imágenes de los siguientes controles - botón con icono y etiqueta, etiqueta de texto con icono y etiqueta, casilla de verificación, botón de radio, combobox, panel, campo de entrada.

Tengo la experiencia de los ancestros, pero ¿cuál funcionaría? Por ejemplo, la biblioteca del personal, o la biblioteca de Anatoly ofrecen una estructura de clases ya hecha, pero son BIBLIOTECAS. Es decir, los elementos se crean llamando a las funciones adecuadas. Tengo un lenguaje de marcas, lo que significa que puedes escribir una GUI en un archivo separado. Se trata de una tecnología completamente diferente. Si no lo tienes en cuenta, puedes crear una biblioteca normal, de las que ya tenemos dos en MQL. No necesitas otra. No se trata de si están en el lienzo o no, sino de lo fácil que es crear una interfaz sobre ellos.

Se publicarán fotos.
 
Реter Konow:
La experiencia de los ancestros está ahí, pero ¿cuál de ellos servirá? Por ejemplo, la biblioteca del personal, o la biblioteca de Anatolia ofrecen una estructura de clases ya hecha, pero son BIBLIOTECAS. Es decir, los elementos se crean llamando a las funciones adecuadas. Tengo un lenguaje de marcas, lo que significa que puedes escribir la GUI con un lenguaje especial en un archivo separado. Se trata de una tecnología completamente diferente. Si no lo tienes en cuenta, puedes crear una biblioteca normal, de las que ya tenemos dos en MQL. No necesitas otra. No se trata de si están en el lienzo o no, sino de lo fácil que es crear una interfaz sobre ellos.

Voy a publicar fotos.

Se trata de ambas cosas. Se trata de lo que se hace en el dibujo, y de lo fácil que es construir una interfaz a partir de él.

De hecho, todo es una biblioteca. Por ejemplo, ha creado un constructor de cuadros de diálogo , pero ¿en base a qué? En base a los mismos controles de la biblioteca. Por lo tanto, para que un usuario pueda soltar algo en un formulario, tiene que proporcionar estos mismos controles, es decir, puede escogerlos de ... biblioteca. Por eso se llama así. Luego se genera un archivo de marcado basado en él, que el usuario puede utilizar en mql, pero inicialmente el hecho es que el usuario seleccionará los controles de la lista disponible. Es la misma biblioteca, sólo que "vista de lado".

Razón de la queja: