Was ist das für ein Unsinn mit dem Registerzeichen?

 

Ich habe einen Indikator geschrieben und beschlossen, die Informationen über

Comment();

Ich habe einen einfachen Testcode erstellt, und als Ergebnis wird die letzte Meldung oben im Alerte korrekt angezeigt.

Ich habe einen einfachen Testcode geschrieben und als Ergebnis wird in Alerte die neueste Nachricht oben korrekt angezeigt, aber diese Nachricht in der Nachrichtenhistorie ist bereits mit Unsinn versehen, ebenso wie alle anderen Nachrichten in der Historie.

Ist das so gewollt? Sieht für mich nach einem Fehler aus. Bitte kommentieren Sie dies.

Ja, hier ist die Dokumentation dazu: https://docs.mql4.com/ru/basis/types/literal

Hier ist der 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);
   }
 
Ja. Es ist ein Fehler.
 
alsu >> :
>> Ja, dies ist ein Fehler.

Dies ist kein Fehler, die Comment()-Hilfe sagt nur etwas über Zeilenumbrüche und nichts über Tabellierung

Das Zeilenvorschubzeichen "\n" oder "\r\n" kann verwendet werden, um den Ausdruck in mehrere Zeilen aufzuteilen.

 
Rosh писал(а) >>

Dies ist kein Fehler, die Comment()-Hilfe sagt nur etwas über Zeilenumbrüche, aber nichts über Tabulatoren.

Nehmen wir an, die Tabellierung von Comment() funktioniert nicht und war ursprünglich nicht beabsichtigt (was ich irgendwie seltsam finde, aber okay...).

Aber wo funktioniert es dann? Es wird hier etwas darüber geschrieben https://docs.mql4.com/ru/basis/types/literal

Und mit Alert() im Allgemeinen ist es interessant (siehe einen Screenshot im 1. Thema) Ich bezweifle, dass es so entworfen wurde, damit im oberen Teil des Fensters alles schön angezeigt wird, und im unteren Teil mit Quadraten anstelle von Tabs. D.h. Alert() versteht dieses Symbol (da die letzte Meldung im oberen Teil des Fensters mit Tabulator angezeigt wird), aber in der Hilfe zu Alert wurde nur über das Zeilenvorschubsymbol "\n" oder "\r\n" geschrieben .

Wo kann ich die Tabellierung verwenden?

 
ALEX_SPB_RU >> :

Nehmen wir an, die Registerkarte funktioniert nicht für Comment() und war ursprünglich auch nicht dafür gedacht (was ich irgendwie seltsam finde, aber okay...)

Aber wo funktioniert es dann, denn es steht hier etwas darüber geschrieben https://docs.mql4.com/ru/basis/types/literal

Öffnen Sie Expert Log (Protokolldatei), es werden Registerkarten angezeigt (obwohl im Terminal selbst die Registerkarten als Quadrate dargestellt werden).

 
Rosh писал(а) >>

Öffnen Sie das Expertenprotokoll (Logdatei), dort gibt es eine Registerkarte (obwohl das Terminal selbst Registerkarten in Quadraten anzeigt).

Es tut mir leid, dass ich so lästig bin, aber dies ist der letzte Punkt, den ich klarstellen möchte.

1. so bei der Anzeige von Informationen, die es in Form einer Tabelle mit glatten Kanten angezeigt wird, weil die angezeigten Daten von unterschiedlicher Länge sein wird (sagen wir einmal Ausgabe 25, und eine andere 1023) Ich kann es nicht tun, denn es ist die Tabellierung ermöglicht es Ihnen, es zu tun (zumindest in C und anderen Sprachen, habe ich so)? Ich kann es natürlich über Objekte machen... ...aber es ist etwas anderes.

2. Sollte das Tabulatorzeichen wirklich irgendwo korrekt angezeigt werden und irgendwo nicht? Oder gibt es eine grundlegende Schwierigkeit?

Ich danke Ihnen für Ihre prompte Antwort.

 

Übrigens ist dieser Indikator (unten angehängt) der Grund für die ganze Aufregung.

Ist es sinnvoll, sie in die Datenbank aufzunehmen oder nicht?

Dateien:
 
ALEX_SPB_RU >> :

2. Ist es wirklich beabsichtigt, dass das Tabulatorzeichen irgendwo korrekt angezeigt wird und irgendwo nicht??? Oder gibt es eine grundlegende Schwierigkeit?

Ich danke Ihnen für Ihre prompte Antwort.

Aber wissen Sie, dass es eine Funktion TabbedTextOut gibt? Ich weiß es auch nicht. :-)

Und die Listenansicht mit benutzerdefinierter Zeichnung - wenn man nicht einfach die Farbe der Linie ändert - so hässlich!!!

Und bei all dem brauche ich zwei Stunden, um es herauszufinden! :-)

 

In der Messagbox funktionieren die Tabs...

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

Die Tabs funktionieren in der Messagbox...

Das ist nicht verwunderlich, denn in der Meldung, die oben auf grauem Hintergrund angezeigt wird (genau wie in der Messagbox), werden sie auch so angezeigt, wie sie sein sollten...

Ich frage mich, ob sie so selektiv sind?

Und die Idee war einfach durch den Kommentar zu tun, weil es einfacher ist als alles andere, aber dies stellte sich als die gleiche Nuance.

 
ALEX_SPB_RU >> :

Entschuldigen Sie den lästigen letzten Punkt, den ich herausfinden möchte.

1. so, bei der Ausgabe von Informationen, so dass es als eine Tabelle mit geraden Kanten ausgegeben wird, weil die Ausgabedaten von unterschiedlicher Länge sein wird (sagen wir einmal, ich Ausgabe 25, die andere 1023) Ich kann es nicht tun, weil es die Tabellierung, die es erlaubt, es zu tun (zumindest in C und anderen Sprachen habe ich es)? Ich kann es natürlich über Objekte machen... aber es ist etwas anderes.

2. Sollte das Tabulatorzeichen wirklich irgendwo korrekt angezeigt werden und irgendwo nicht? Oder gibt es eine grundlegende Schwierigkeit?

Ich danke Ihnen für Ihre prompte Antwort.

Ich kann Ihnen sagen, dass dies schon seit langem der Fall ist, von Anfang an. Hier sind die Links zu dem betreffenden Thema: