¿Qué es toda esta tontería del carácter de tabulación{t}?

 

Escribí un indicador y decidí dar salida a la información a través de

Comment();

He hecho un sencillo código de prueba y como resultado el mensaje más reciente en la parte superior de la Alerta se muestra correctamente.

Escribí un simple código de prueba y como resultado en Alerte el mensaje más reciente en la parte superior se muestra correctamente, pero este mensaje en el historial de mensajes ya está con tonterías, así como todos los demás mensajes en el historial.

¿Se supone que debe ser así? A mí me parece un error. Comenta esto, por favor.

Sí, aquí está la documentación al respecto https://docs.mql4.com/ru/basis/types/literal

Este es el código

#property indicator_chart_window
int init()
  {
   Comment("Тест на выставление символа табуляции вот здесь 2 раза -> \t 1\t 2", " а теперь новая строка \n это уже на новой строке 3 раза табуляция \t\t\t 777");
   Alert("Тест на выставление символа табуляции вот здесь 2 раза -> \t 1\t 2", " а теперь новая строка \n это уже на новой строке 3 раза табуляция \t\t\t 777");
   return(0);
  }
  
int deinit()
   {
    Comment("");
    return(0);
   }
 
Sí. Es un error.
 
alsu >> :
>> Sí. Esto es un error.

Esto no es un error, la ayuda de Comment() sólo habla de los saltos de línea y nada de la tabulación

El carácter de avance de línea "\n" o "\r\n" puede utilizarse para dividir la impresión en varias líneas.

 
Rosh писал(а) >>

Esto no es un error, la ayuda de Comment() sólo dice sobre los saltos de línea, pero nada sobre los tabuladores.

Digamos que para Comment() la tabulación no funciona y no estaba prevista originalmente (lo que me parece un poco raro, pero bueno...).

Pero, ¿dónde funciona entonces? Está escrito aquí para algo https://docs.mql4.com/ru/basis/types/literal

Y con Alert() en general es interesante (ver una captura de pantalla en el 1er tema) dudo que se haya diseñado así, para que en la parte superior de la ventana se muestre todo bien, y en la parte inferior con cuadrados en lugar de pestañas. Es decir, Alert() entiende este símbolo (ya que el último mensaje en la parte superior de la ventana se muestra con tabulación), pero en la ayuda sobre Alert se escribió sólo sobre el símbolo de avance de línea "\n" o "\r\n".

¿Dónde puedo utilizar la tabulación?

 
ALEX_SPB_RU >> :

Digamos que para Comment() la pestaña no funciona y no estaba prevista originalmente (lo que me parece un poco raro, pero bueno...)

Pero dónde funciona entonces, porque está escrito aquí para algo https://docs.mql4.com/ru/basis/types/literal

Abra el Expert Log (archivo de registro), habrá pestañas (aunque en el propio terminal las pestañas se muestran como cuadrados).

 
Rosh писал(а) >>

Abra el Expert Log (archivo de registro), habrá una pestaña (aunque en el propio terminal las pestañas se muestran como cuadrados).

Perdonen que sea tan molesto, pero este es el último punto que quiero aclarar.

1. por lo que cuando la visualización de la información que se muestra en la forma de una tabla con bordes lisos, porque los datos mostrados serán de diferente longitud (digamos una salida de tiempo 25, y otro 1023), no sería capaz de hacerlo, porque es la tabulación permite que (al menos en C y otros idiomas, lo hice y así)? Por supuesto, puedo hacerlo a través de objetos... pero es algo más.

2. ¿Realmente se pretendía mostrar el carácter de tabulación correctamente en algún lugar y no en otro? ¿O hay alguna dificultad fundamental?

Gracias por su rápida respuesta.

 

Por cierto, este indicador (adjunto abajo) es la razón de todo el alboroto.

¿Vale la pena ponerlo en la base de datos o no?

Archivos adjuntos:
 
ALEX_SPB_RU >> :

2. ¿Realmente se pretende que el carácter de tabulación se muestre correctamente en algún lugar y no en otro? ¿O hay alguna dificultad fundamental?

Gracias por su rápida respuesta.

¿Pero sabes que existe una función TabbedTextOut? Yo tampoco lo sé. :-)

¡¡¡Y el listview con custom draw- si no sólo cambia el color de la línea- tan feo!!!

¡Y con todo esto tardo dos horas en resolverlo! :-)

 

En la caja de mensajes, las pestañas funcionan...

MessageBox("graal\t40\nsum\t120","tab",0);
 
kombat писал(а) >>

Las pestañas funcionan en el messagbox...

Bueno, esto no es sorprendente porque en la alerta que se muestra en la parte superior sobre un fondo gris (exactamente como se ve en el messagbox) también se muestran como debe ser...

Eso es lo que me pregunto, ¿es su selectividad?

Y la idea era sólo a través del comentario hacer porque es más fácil que cualquier otra cosa, pero esto resultó ser el mismo matiz.

 
ALEX_SPB_RU >> :

Perdón por lo molesto del último punto que quiero averiguar.

1. ¿entonces, al sacar la información, para que salga como una tabla con bordes pares, porque los datos de salida serán de diferente longitud (digamos que una vez saco 25, la otra 1023) no puedo hacerlo, porque es la tabulación la que permite hacerlo (al menos en C y otros lenguajes lo hice)? Por supuesto, puedo hacerlo a través de objetos... pero es algo más.

2. ¿Realmente se pretendía mostrar el carácter de tabulación correctamente en algún lugar y no en otro? ¿O hay alguna dificultad fundamental?

Gracias por su rápida respuesta.

Puedo decir que esto ha sido así durante mucho tiempo, desde el principio. Aquí están los enlaces al tema en cuestión: