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

 
Alexandr Andreev:

Bueno, había un medio ejemplo. Está claro que hay algún archivo como pieza de una función de trabajo. Donde se genera el interruptor (botones) y tenemos la posibilidad de escribir reacciones a las pulsaciones de los botones.

Sí, esto es un semiejemplo. No he podido llegar al final por culpa de ese fallo con las posiciones.

Se pueden hacer reacciones a botones, casillas de verificación, cuadros de entrada, deslizadores, desplegables, grupos de botones de radio.

Por ahora, el editor permite crear estos elementos. En el archivo se crean manejadores de eventos para ellos, en los que el usuario prescribe las reacciones.

Además, las funciones se imprimen en el archivo a través del cual el usuario accede a los elementos:

1. Obtener el valor actual del elemento.
2. Establece un nuevo valor para el elemento.

Las funciones se seleccionan fácilmente de una lista de intellisense que responde a los prefijos E_ (elementos) y W_ (ventanas).

Habrá un ejemplo completo por la noche.
 
En general, el comunicado sobre la aplicación de la respuesta del botón es bastante viable. Es sólo el diseño el que necesita algo de trabajo.
 
Реter Konow:
Sí, esto es un medio ejemplo. No pude llegar al final por culpa de ese error con las posiciones.

Las reacciones pueden inscribirse en botones, casillas de verificación, campos de entrada, deslizadores, listas desplegables y grupos de botones de radio.

Por ahora, el editor permite crear estos elementos. En el archivo se crean manejadores de eventos para ellos, en los que el usuario prescribe las reacciones.

También se imprimen en el archivo las funciones a través de las cuales el usuario accede a los elementos a:

1. Obtiene el valor actual del elemento.
2. Establece un nuevo valor para el elemento.

Las funciones se seleccionan fácilmente de una lista intellisense que responde a los prefijos E_ (elementos) y W_(ventanas).

Habrá un ejemplo completo por la noche.

Err qué otras funciones seleccionar... no es necesario hacer nada de esto. Generar un archivo en el que, según entiendo, se asignan los botones válidos al interruptor.Eso es todo. Punto y aparte. A partir de aquí, cada uno debe expresar sus reacciones a este botón. Por ejemplo para guardar que fue presionado o algo así. El entorno para la retroalimentación de la presión creo que es innecesario.

 
Alexandr Andreev:

Err, qué otras características elegir... No hay necesidad de nada de eso. Generar un archivo en el que, según entiendo, se asignan los botones válidos al interruptor.Eso es todo. Punto y aparte. A partir de aquí, cada uno debe expresar sus reacciones a este botón. Por ejemplo para guardar que fue presionado o algo así. El entorno para la retroalimentación de la presión creo que es innecesario.

Es mejor trabajar en el diseño

 
Alexandr Andreev:

Err, qué otras características elegir... No hay necesidad de nada de eso. Generar un archivo en el que, según tengo entendido, se asignan botones válidos al interruptor.Eso es todo. Punto y aparte. A partir de aquí, cada uno debe expresar sus reacciones a este botón. Por ejemplo, para guardar que fue presionado o algo así. El entorno para la retroalimentación de los clics creo que es innecesario.

Y aquí es mejor implementar el entorno a través de las clases. También llamar al menú de pestañas, etc. etc.

 
Alexandr Andreev:

Err, qué otras características elegir... No hay necesidad de nada de eso. Generar un archivo en el que, según entiendo, se asignan los botones válidos al interruptor.Eso es todo. Punto y aparte. A partir de aquí, cada uno debe expresar sus reacciones a este botón. Por ejemplo para guardar que fue presionado o algo así. Creo que el entorno para la retroalimentación es innecesario.

No lo entiendes.

1. Deberíamos introducir las reacciones en el manipulador, bien.

2. Si queremos obtener el valor actual de un elemento (por ejemplo, el textode un campo de entrada), llamamos a su función desde la lista de opciones.
 
Alexandr Andreev:

Y el entorno debe implementarse a través de las clases. También las llamadas al menú de pestañas, etc.

No agitemos la expresión "necesitamos clases" delante de las narices de Peter. Esperemos al menos el vídeo, luego haremos preguntas.

Ya he sugerido a Peter que modifique su "núcleo" con una variante muy sencilla: utilizar estructuras. Al diablo con estas clases, si una persona no quiere hundirse en ellas - es su propio negocio.

Pero el uso de estructuras simplemente facilitaría la vida del propio Peter.

El aspecto del "núcleo", también conocido como array global, es ahora: un array multidimensional, bueno, al menos bidimensional. La segunda dimensión contiene propiedades de un determinado tipo de control por índices. También se puede acceder a las propiedades por su nombre, ya que los índices se sustituyen por definiciones y obtenemos una "pseudo-referencia" por su nombre. De hecho, todo se construye sobre defines, como ese "lenguaje de marcas" en el código de Peter.

Ya he sugerido que Peter debería implementar una estructura, por lo que la matriz global podría ser unidimensional y las propiedades podrían ser referidas directamente por su nombre. También se simplificaría el "núcleo" del edificio, ya que bastaría con añadir nuevos puntales a la estructura original y referirse a ellos por su nombre. Y el propio código podría acortarse eliminando la lista de numerosas definiciones y métodos para utilizarlas.

Por un lado no es una clase, pero por otro lado facilitaría mucho el manejo de la matriz global a Pedro. Además, Peter ya tiene experiencia en trabajar con una estructura similar: un sindicato.

Pero Peter tiene su propia manera de sensei y sólo esperaremos el resultado...

 

Propongo el siguiente esquema como ejemplo transversal: Cree un formulario con tres campos: importe de la operación, precio SL y precio TP, dos botones: COMPRA y VENTA

Cree un Asesor Experto, conecte la GUI como un inluder. Añade una variable para la oferta inicial. Cuando se inicializa, el importe inicial de la puja se pasa al campo correspondiente de la interfaz gráfica de usuario.

Cree en el Asesor Experto la función "Open Deal". Esta función debe ser llamada tan pronto como se haga clic en uno de los botones de la GUI.

En la propia función se "averigua" qué comando se ha dado y también se pregunta a la GUI qué tarifa se establece ahora y en base a estos datos se abre el trato correspondiente.

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

Sugiero el siguiente esquema como ejemplo transversal: Cree un formulario con tres campos: importe de la operación, precio SL y precio TP, dos botones: COMPRA y VENTA

Cree un Asesor Experto, conecte la GUI como un inluder. Añade una variable para la oferta inicial. Cuando se inicializa, el importe inicial de la puja se pasa al campo correspondiente en la interfaz gráfica de usuario.

Cree en el Asesor Experto la función "Open Deal". Esta función debe ser llamada tan pronto como se haga clic en uno de los botones de la GUI.

En la propia función se "averigua" qué comando se ha dado y también se pregunta a la GUI qué tasa se ha establecido ahora y en base a estos datos se abre el trato correspondiente.

Lote, toma y parada + botones de compra/venta... Ejemplo sencillo y claro. Lo haré. Añadiré funciones para abrir órdenes y obtener precios de parada.
 
Реter Konow:
No lo entiendes.

1. Escriba las reacciones en el manejador, bien.

2. Si queremos obtener el valor actual de un elemento (por ejemplo, el texto deun campo de entrada), llamamos a su función desde la lista lista de opciones.

Por qué, esto 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 que sea como la cadena.... todavía no habrá llenado de alta velocidad del campo