Interfaz gráfica de usuario de origen colectivo. Prueba beta abierta. - página 30

 
Alexandr Andreev:

Por qué, también es implementable a través de una función que se llama cuando el campo se llena y el valor de entrada es del tipo de plantilla... todo. Incluso si es como la cadena.... todavía no habrá llenado de alta velocidad del campo

No se trata sólo del campo de entrada. Por ejemplo, quiere obtener el valor actual de una casilla de verificación - comprobar si está marcada o no.
O bien, averiguar qué artículo de la lista de compra está seleccionado.
O bien, averigua en qué marca se encuentra el mando deslizante.
O, qué valor tiene la barra de progreso.
Y así sucesivamente.
Llamar a los elementos dela función no sólo permite obtener su valor en cualquier momento, sino también establecer un nuevo valor.
También puedes configurar el color, el estado (pulsado, presionado, bloqueado). Una llamada a la función de un solo elemento permite cualquiera de estas acciones, en cualquier punto del código del usuario.
 
Реter Konow:
No se trata sólo del campo de entrada. Por ejemplo, necesita obtener el valor actual de una casilla de verificación - comprobar si está marcada o no.
O bien, averiguar qué elemento de la lista emergente está seleccionado.
O bien, averigua en qué marca se encuentra el mando deslizante.
O, qué valor tiene la barra de progreso.
Y así sucesivamente.
Llamar a las funciones de los elementos no sólo permite recuperar su valor en cualquier momento, sino también establecer un nuevo valor.
O bien, el color, el estado (presionado, deprimido, bloqueado). Una llamada a la función de un solo elemento permite cualquiera de estas acciones en cualquier punto del código del usuario.

Todo esto es fácil también a través de una llamada a la función en el hecho de establecer. y más el trabajo del programador.


En cuanto al entorno, me gustaría ver un cierto conjunto de normas de llamada (sin cambiar el nombre de la función - porque no sé en qué pieza de código puedo necesitar tal o cual función) en todo tipo de marcadores y ventanas. selección de ventanas preferiblemente a través de Select. Así como la selección del estilo mediante el cambio de color al pasar el ratón por encima.

Es decir, tienes que crear un prototipo de menú y utilizarlo para crear otro en el código. Si tuviéramos que utilizar el medio ambiente...

Aquí, las metacomillas a veces rompen los extremos en algunos fragmentos de código.

En este caso, es conveniente añadir una interfaz dinámica adicional que aparezca al hacer clic/salir de .... Y eso es una parte súper pequeña.

 
Реter Konow:
No se trata sólo de la caja de entrada. Por ejemplo, quiere obtener el valor actual de la casilla de verificación - comprobar si la casilla está marcada o no.
O bien, averiguar qué elemento de la lista emergente está seleccionado.
O bien, averigua en qué marca se encuentra el mando deslizante.
O, qué valor tiene la barra de progreso.
Y así sucesivamente.
Llamar a las funciones de los elementos no sólo permite recuperar su valor en cualquier momento, sino también establecer un nuevo valor.
O bien, el color, el estado (presionado, deprimido, bloqueado). Una llamada a la función de un solo elemento permite cualquiera de estas acciones en cualquier punto del código del usuario.

Pero además de eso existe la noción deCallback-funciones, que generan eventos cuando algo cambia. Por ejemplo, hay una casilla de verificación en el formulario y necesitamos saber cuándo cambia su estado. Opción 1: hacer consultas a la GUI a intervalos regulares para obtener el valor de esta caja, y si el valor es diferente entonces la caja ha cambiado. En este caso, se desperdician algunos recursos en el sondeo periódico constante, no es rentable.

Para evitar el desperdicio de recursos hemos inventado las llamadas funciones piggyback que dan una notificación cuando el valor del control ha cambiado. Por ejemplo, cuando se hace clic en una casilla de verificación es seguido por el cambio de su estado, tan pronto como el estado cambia se genera el evento con el tipo, nombre y valor del control. Y en la suscripción a este evento ya se ejecutará el código necesario para esperar a que cambie el valor del checkbox. Esto se llama el modelo de eventos.

 
Alexandr Andreev:

Todo esto también es fácil a través de una llamada a la función en el hecho de establecer. y luego el trabajo del programador.


En cuanto al entorno, me gustaría ver un cierto conjunto de normas para llamar (sin cambiar el nombre de la función, porque no sé en qué pieza de código puedo necesitar tal o cual función) en todo tipo de pestañas y ventanas. Así como la selección del estilo mediante el cambio de color al pasar el ratón por encima.

Es decir, tienes que crear un prototipo de menú y utilizarlo para crear otro en el código. Si tuviéramos que usar el medio ambiente...

Aquí, las metacomillas a veces rompen los extremos en algunos fragmentos de código.

aquí, es deseable cambiar la interfaz adicional que aparece cuando se hace clic/hover.... Y eso es una pequeña parte extra.

DE ACUERDO. Dentro de unas horas publicaré un ejemplo sencillo sugerido por Alexey. Será mucho más claro que el primer ejemplo.
 
Алексей Барбашин:

También existe la noción deCallback-funciones, que generan eventos cuando algo cambia. Por ejemplo, hay una casilla de verificación en el formulario y necesitamos saber cuándo cambiará su estado. Opción 1: hacer consultas a la GUI a intervalos regulares para obtener el valor de esta caja, y si el valor es diferente entonces la caja ha cambiado. En este caso, se desperdician algunos recursos en el sondeo periódico constante, no es rentable.

Para evitar el desperdicio de recursos hemos inventado las llamadas funciones piggyback que dan una notificación cuando el valor del control ha cambiado. Por ejemplo, cuando se hace clic en una casilla de verificación es seguido por el cambio de su estado, tan pronto como el estado ha cambiado se genera el evento con el tipo, nombre y valor del control. Y en la suscripción a este evento ya se ejecutará el código necesario para esperar a que cambie el valor del checkbox. Esto se llama el modelo de eventos.

Bueno, Alexey, estás hablando de una GUI externa, sondeada por el EA a través de un temporizador, de la memoria antigua. En aquella época, se necesitaban las devoluciones de llamada. Ahora, todo ocurre dentro de un único EA y en lugar de la GUI externa, hay una interna. La suya propia.

Por eso el motor está conectado por un archivo. Para que la interfaz sea nativa de los Asesores Expertos.

Por cierto, es bueno que el motor esté escrito en ruso. ¿Te imaginas cuántas coincidencias de nombres de variables podrían darse entre éste y el Asesor Experto al conectar ...
 
Реter Konow:
Bueno, Alexey, estás hablando de una GUI externa, sondeada por el EA a través de un temporizador, de la memoria antigua. Por aquel entonces, se necesitaban las devoluciones de llamada. Ahora, todo ocurre dentro de un único EA y en lugar de la GUI externa, hay una interna. La suya propia.

Peter, en realidad, los colbecs no son un "recuerdo antiguo", sino una práctica común para cualquier interacción, no necesariamente relacionada con la GUI, independientemente de si es externa o interna. Y no importa DÓNDE ocurre, lo principal es CÓMO ocurre. ¡Colbeck no es un temporizador!

Esperando el video...

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

Peter, en realidad los colbiones no son un "viejo recuerdo" sino una práctica común de trabajo de cualquier interacción, no tiene por qué estar relacionada con la GUI, no importa si es externa o interna. Y no importa DÓNDE ocurre, lo principal es CÓMO ocurre.

Esperando el video...

Estoy de acuerdo. Sólo dentro de un EA no los necesitaremos.
 
Реter Konow:
Bueno, Alexey, estás hablando de una GUI externa sondeada por EA a través de un temporizador, desde la memoria antigua. En ese momento, necesitábamos que nos llamaran. Ahora, todo sucede dentro de un Asesor Experto y en lugar de la GUI externa, hay una interna. La suya propia.

Por eso el motor se conecta con un archivo. Para que la interfaz sea nativa del Asesor Experto.

Es más fácil recordar las variables propias que aprender las ajenas.

El código en general debe tener un mínimo de variables globales todas implementadas pasando trozos de memoria y procesando múltiples valores a la vez. Tiene sentido que ..... .... .... HH trató de recortar las palabras que enlazan con los objetos directamente.

En general, es más fácil utilizar colobacks normales.

 
Alexandr Andreev:

Es más fácil recordar tus propias variables que aprender las de otros.

En general, el código debe tener un mínimo de variables globales, todas implementadas pasando trozos de memoria y procesando múltiples valores a la vez. Tiene sentido que ..... .... .... HH trató de recortar las palabras relacionadas con los objetos directamente.

En general, es más fácil utilizar colbacks normales.

P.D. Todavía tienes mucho trabajo de diseño que hacer allí

 
Реter Konow:
Estoy de acuerdo. Sólo dentro de un EA no los necesitaremos.

Hmmm... entonces una simple pregunta: ¿cómo puedo saber si el estado de la casilla ha cambiado?