Galería de interfaces de usuario escritas en MQL - página 63
Está perdiendo oportunidades comerciales:
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Registro
Entrada
Usted acepta la política del sitio web y las condiciones de uso
Si no tiene cuenta de usuario, regístrese
C onversión de tipo forzada aquí, ¿se puede poner dentro de una función para que el usuario no tenga que escribir (cadena) fuera de la función
No entendí bien la pregunta, así que mi respuesta puede estar fuera de tema.
Se podría hacer así:
La función double hace un retorno a una variable de tipo string usando una conversión forzada en el paso de retorno del valor.
Puedo hacerlo aún más sencillo:
w7_s_p4_EDIT_Comment_2((string)w6_d_p5_S_EDIT_Spin_the_value());Teóricamente, podrías hacerlo así:
w7_s_p4_EDIT_Comment_2(w6_d_p5_S_EDIT_Spin_the_value());El propio compilador convierte double a string, pero no me gustaría recomendarlo.
No entiendo muy bien la pregunta, así que puede que mi respuesta se salga del tema.
Se puede hacer así:
La función double devuelve una variable de tipo string por conversión forzada en el paso de devolución del valor.
En teoría, esto podría hacerse:
El propio compilador convertirá double a string, pero no lo recomiendo.
Continuando con el tema de establecer propiedades y devolver y reenviar valores entre elementos.
Vimos varias opciones:
1. Establecer texto en un campo de entrada de texto.
w7_s_p4_EDIT_Comment_1("Some random text");2. Asignar un nuevo valor al deslizador.
w6_i_p3_H_SLIDER_Roll_the_value(33);3. Seleccionado un número arbitrario para el campo de entrada con botones.
w6_d_p5_S_EDIT_Spin_the_value(423.11);4. Enviado múltiples cadenas de texto a las celdas de la tabla Información de la cuenta.
5. Finalmente, devolvemos el nuevo valor del elemento S_EDIT y lo enviamos a dos ventanas diferentes: la celda de la tabla Account Info y el campo de entrada de texto de la ventana Settings ejemplo 2.
double Spin_edit_value = w6_d_p5_S_EDIT_Spin_the_value();//Делаем возврат значения параметра (тип double).w7_s_p4_EDIT_Comment_2((string)Spin_edit_value);//---------------------------------------------------------------------------------------------------
Para completar este tema y pasar al siguiente, necesitamos hacer algunas cosas:
1. Cambiar el color de la barra deslizante.
2. Cambiar el color de la base S_EDIT y del texto.
3. Cambiar los colores del botón en los estados pulsado y sin pulsar.
4. Comprobar el envío de valores a los elementos en el evento del temporizador.
//---------------------------------------------------------------------------------------------------
1. Cambiar el color de la barra deslizante:
Resultado:
Asignar un color diferente a la barra deslizante:
Resultado:
//---------------------------------------------------------------------------------------------------
2 Cambiar el color del texto y de la base del elemento S_EDIT:
Obtengamos el color original de la base del campo de entrada con botones:
Enviémoslo al registro:
Asignemos un color diferente a la base del campo:
Resultado:
Establecer el color del texto del campo S_EDIT. (Se utiliza el prefijo de propiedad p4 en lugar de p5, porque olvidé añadir la propiedad de color de texto para S_EDIT. el error será corregido en la próxima versión).
//---------------------------------------------------------------------------------------------------
3. Cambiar los colores del botón en los estados pulsado y sin pulsar:
Cambiar el color del botón en estado neutro:
Establezca un color diferente para el estado activado del botón:
También se puede cambiar el color del texto del botón para los estados neutro y pulsado, pero en una fuente pequeña no se nota. Por lo tanto, vamos a elegir una ventana diferente:
Resultado:
Resultado:
//---------------------------------------------------------------------------------------------------
4. Comprobar el envío de valores a los elementos en el evento temporizador:
Resultado:
//------------------------------------------------------------------------------------------------
Con esto terminamos este tema.
A continuación, pasamos a los temas:
9. Retorno del valor anterior (_V_LAST). Cuándo y para qué casos se requiere el último valor (no confundir con el valor actual).
10. Probar la configuración de los estados ON/OFF/LOCK_ON/LOCK_OFF/LOCK/UNLOCK para distintos tipos de elementos.
Dentro de la función w7_s_p4_EDIT_Comment_2, a continuación, convertir el tipo
Puede hacerlo. Pero habrá una advertencia adicional, porque es una conversión de tipo implícita. Técnicamente, sólo puede enviar un número. Sin una variable. Lo dejo a la discreción de cada uno.
Dentro de la función w7_s_p4_EDIT_Comment_2, convierte el tipo
Dentro de la función w7_s_p4_EDIT_Comment_2 no hay nada. Es una envoltura que llama a la función central. Y la función envolvente sólo puede devolver un valor de su propio tipo.
h ini #: ¿No puede la función w7_s_p4_EDIT_Comment_2 generar una versión sobrecargada correspondiente que tome el tipo double?
La función w7_s_p4_EDIT_Comment_2 no tiene nada dentro . Es sólo una envoltura que llama a una función central. Las funciones envolventes sólo pueden devolver valores de su propio tipo.
No puede, porque es una envoltura. No hay necesidad de complicarlo. Todo el trabajo lo hace la función central.Correcto.
Veamos hoy cuatro temas:
9. Devolver el valor _V_LAST anterior .
10. Establecer los estados ON/OFF/LOCK_ON/LOCK_OFF/LOCK/UNLOCK para diferentes tipos de elementos.
11. Sincronización de cambios de parámetros: por ejemplo, campo de entrada con botones y deslizador. El objetivo es que cuando cambie el primer valor, el segundo cambie en consecuencia. Establezcamos la comunicación primero en una ventana y luego entre ventanas.
12. Reajustar programáticamente los límites de rango del deslizador y del campo con botones.
//---------------------------------------------------------------------------------------------------------
Hasta ahora hemos tratado los siguientes temas:
1. Orientación en la lista de intellisense y selección de la función de la ventana deseada.
2. Apertura y cierre de ventanas por software.
3. Orientación en la lista de intellisense y selección del elemento deseado en la ventana deseada.
4. Navegación a través de listas de propiedades de elementos individuales.
5. 5. Análisis sintáctico del nombre de un elemento y de la función envolvente de la ventana.
6. devolver el valor del parámetro de un elemento seleccionado a una variable de su tipo. Considerar tres tipos de varios elementos diferentes.
7. Estableciendo valores en los parámetros de diferentes tipos de elementos. Veamos cómo aparecerán los valores en las ventanas de interfaz de estos elementos.
8. Devolver los valores de los parámetros de un elemento, modificando y reenviando ese valor a otro elemento. Consideremos diferentes tipos de elementos y valores, y probemos el reenvío entre diferentes tipos de elementos en diferentes ventanas.
9. Devolución del valor anterior (_V_LAST). Cuándo y para qué casos se requiere el último valor (no confundir con el valor actual).
10. Probar la configuración de estados ON/OFF/LOCK_ON/LOCK_OFF/LOCK/UNLOCK para diferentes tipos de elementos.
11. Intentemos enlazar y sincronizar los cambios de valores de elementos de diferentes tipos: por ejemplo, campo de entrada con botones y deslizador. Supongamos que cuando el valor de un elemento (manual o software) cambia, el valor en el segundo elemento cambia en consecuencia.
12. Intentemos restablecer mediante programación los límites de rango del deslizador y del campo de entrada con botones a través de funciones wrapper. No he tenido tiempo de probarlo, pero algo me sugiere que funcionará. No obstante, vamos a ver.
13. Intentemos devolver estados de elementos a través de funciones wrapper. Está incluido en la funcionalidad, pero no he tenido tiempo de probarlo. Así que veremos... El resultado es desconocido.
14. Vamos a obtener y establecer colores para el texto y las bases de los elementos. Podemos intentar asociar estos colores con algunos eventos simples o límites de valores.
15. Te contaré más sobre cómo navegar y leer la impresión del nuevo archivo API.