Qu'est-ce que c'est que cette absurdité sur le caractère de l'onglet ?

 

J'ai écrit un indicateur et j'ai décidé de sortir l'information via

Comment();

J'ai fait un code de test simple et le résultat est que le message le plus récent en haut de l'Alerte est affiché correctement.

J'ai écrit un code de test simple et comme résultat dans Alerte le message le plus récent en haut est affiché correctement, mais ce message dans l'historique des messages est déjà avec un non-sens, ainsi que tous les autres messages dans l'historique.

C'est censé être comme ça ? Ça ressemble à un bug pour moi. Commentez cela, s'il vous plaît.

Oui, voici la documentation à ce sujet https://docs.mql4.com/ru/basis/types/literal

Voici le code

#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);
   }
 
Oui. C'est un bug.
 
alsu >> :
>> Oui. C'est un bogue.

Ce n'est pas un bogue, l'aide de Comment() ne parle que du saut de ligne et pas de la tabulation.

Le caractère de saut de ligne "\n" ou "\r\n" peut être utilisé pour diviser l'impression en plusieurs lignes.

 
Rosh писал(а) >>

Ce n'est pas un bogue, l'aide de Comment() ne parle que des sauts de ligne, mais pas des tabulations.

Disons que pour Comment() la tabulation ne fonctionne pas et qu'elle n'était pas prévue à l'origine (ce qui est un peu bizarre à mon avis, mais bon...).

Mais où cela fonctionne-t-il alors ? C'est écrit ici pour quelque chose https://docs.mql4.com/ru/basis/types/literal.

Et avec Alert() en général c'est intéressant (voir une capture d'écran dans le 1er sujet) Je doute qu'il ait été conçu de cette façon, pour que dans la partie supérieure de la fenêtre tout soit affiché joliment, et dans la partie inférieure avec des carrés au lieu d'onglets. En d'autres termes, Alert() comprend ce symbole (puisque le dernier message dans la partie supérieure de la fenêtre s'affiche avec une tabulation), mais dans l'aide concernant Alert, il n'est question que du symbole de saut de ligne "\n" ou "\r\n".

Où puis-je utiliser la tabulation ?

 
ALEX_SPB_RU >> :

Disons que l'onglet ne fonctionne pas pour Comment() et qu'il n'était pas prévu à l'origine pour cela (ce que je trouve un peu bizarre, mais bon...).

Mais où cela fonctionne-t-il alors, parce que c'est écrit ici pour quelque chose https://docs.mql4.com/ru/basis/types/literal.

Ouvrez Expert Log (fichier journal), il y aura des onglets (bien que dans le terminal lui-même les onglets soient affichés comme des carrés).

 
Rosh писал(а) >>

Ouvrez l'Expert Log (fichier journal), il y aura un onglet (bien que dans le terminal lui-même les onglets sont affichés comme des carrés).

Désolé d'être si ennuyeux, mais c'est le dernier point que je veux clarifier.

1. si lors de l'affichage des informations qu'il est affiché sous la forme d'un tableau avec des bords lisses, parce que les données affichées seront de longueur différente (disons une fois sortie 25, et une autre 1023), je ne serais pas en mesure de le faire, parce que c'est la tabulation permet de le faire (au moins en C et d'autres langues, j'ai fait et ainsi) ? Je peux bien sûr le faire à travers des objets... ...mais c'est autre chose.

2. Était-il vraiment prévu d'afficher correctement le caractère de tabulation quelque part et pas ailleurs ? Ou y a-t-il une difficulté fondamentale ?

Merci pour votre réponse rapide.

 

D'ailleurs, cet indicateur (joint ci-dessous) est à l'origine de toute cette agitation.

Cela vaut-il la peine de le mettre dans la base de données ou non ?

Dossiers :
 
ALEX_SPB_RU >> :

2. Est-ce vraiment l'intention que le caractère de tabulation soit affiché correctement quelque part et quelque part non ???? Ou y a-t-il une difficulté fondamentale ?

Merci pour votre réponse rapide.

Mais savez-vous qu'il existe une fonction TabbedTextOut ? Je ne sais pas non plus. :-)

Et le listview avec le dessin personnalisé - si vous ne changez pas simplement la couleur de la ligne - c'est tellement laid !!!

Et avec tout ça, il me faut deux heures pour trouver la solution ! :-)

 

Dans la boîte de messagerie, les onglets fonctionnent...

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

Les onglets fonctionnent dans la boîte de messagerie...

Ce n'est pas surprenant car dans l'alerte qui est affichée en haut sur un fond gris (exactement comme dans la boîte de messagerie), ils sont également affichés comme ils devraient l'être...

C'est ce que je me demande : leur sélectivité ?

Et l'idée était juste à travers le commentaire de faire parce que c'est plus facile qu'autre chose, mais cela s'est avéré être la même nuance.

 
ALEX_SPB_RU >> :

Désolé pour le dernier point ennuyeux que je veux découvrir.

1. donc, lors de la sortie d'informations, pour qu'elles soient sorties comme un tableau avec des bords pairs, parce que les données de sortie seront de longueur différente (disons qu'une fois je sors 25, l'autre 1023) je ne peux pas le faire, parce que c'est la tabulation qui permet de le faire (au moins en C et d'autres langages je l'ai fait) ? Je peux bien sûr le faire à travers des objets... ...mais c'est autre chose.

2. Était-il vraiment prévu d'afficher correctement le caractère de tabulation quelque part et pas ailleurs ? Ou y a-t-il une difficulté fondamentale ?

Merci pour votre réponse rapide.

Je peux vous dire que c'est le cas depuis longtemps, depuis le début. Voici les liens vers le sujet en question :