"\t" sekme karakteriyle ne alakası var?

 

Göstergeyi yazdı, görüntülenen bilgilere karar verdi

Comment();

Sonuç olarak, sekme karakterleriyle insan tarafından okunabilir bir biçimde çıktının saçma olduğu ortaya çıktı.

En basit test kodunu yazdım sonuç olarak Alerte'de en üstteki en son mesaj doğru bir şekilde görüntüleniyor ve mesaj geçmişindeki bu mesaj zaten geçmişteki diğer tüm mesajlar gibi saçmalık.

Böyle mi olmalı? Bana göre bu bir bug. Yorum yap lütfen.

Evet, işte bu konuyla ilgili belgeler https://docs.mql4.com/en/basis/types/literal

İşte kod

 #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 ) ;
   }
 
Evet. Bu bir hata.
 
alsu >> :
Evet. Bu bir hata.

Bu bir hata değildir, Comment() yardımı yalnızca satır sonları hakkında bilgi verir ve sekmeler hakkında hiçbir şey söylemez.

Çıktı bilgilerini birden çok satıra ayırmak için yeni satır karakteri "\n" veya "\r\n" kullanabilirsiniz.

 
Rosh писал(а) >>

Bu bir hata değildir, Comment() yardımı yalnızca satır sonları hakkında bilgi verir ve sekmeler hakkında hiçbir şey söylemez.

Örneğin, Comment() için, tablolama çalışmaz ve orijinal olarak tasarlanmamıştır (ki bu bence bir şekilde garip, ama neyse...)

Ama o zaman nerede çalışıyor? , çünkü bir şey için burada yazıyor https://docs.mql4.com/en/basis/types/literal

Ve Alert() ile, genellikle ilginçtir (1. konudaki ekran görüntüsüne bakın), bu şekilde tasarlandığından şüpheliyim, böylece her şey pencerenin üst kısmında ve alt kısmında bunun yerine karelerle güzel bir şekilde görüntüleniyor sekmeler. Onlar. Alert() bu karakteri anlıyor gibi görünüyor (pencerenin en üstünde görüntülenen son mesaj bir sekme ile görüntülendiğinden), ancak uyarıyla ilgili yardım sadece "\n" veya "\r satır besleme karakteri hakkında da bilgi veriyor. \n" .

Tablolama nerelerde kullanılabilir?

 
ALEX_SPB_RU >> :

Örneğin, Comment() için, tablolama çalışmaz ve orijinal olarak tasarlanmamıştır (ki bu, bence, bir şekilde garip, ama oh iyi ...)

Ama o zaman nerede çalışıyor?, çünkü nedense burada bu konuda yazıyor https://docs.mql4.com/ru/basis/types/literal

Uzmanlar Günlüğünü (günlük dosyası) açın, bir sekme olacaktır (terminalin kendisinde sekmeler kareler olarak görüntülenmesine rağmen).

 
Rosh писал(а) >>

Uzmanlar Günlüğünü (günlük dosyası) açın, bir sekme olacaktır (terminalin kendisinde sekmeler kareler olarak görüntülenmesine rağmen).

Müstehcenliği mazur görün, son anda açıklığa kavuşturmak istiyorum.

1. Bu, bilgi görüntülerken, düz kenarlı bir plaka şeklinde görüntülenmesi gerektiği anlamına gelir, çünkü çıktı verileri farklı uzunluklarda olacak (diyelim ki bir kez 25 çıktı, diğerinde 1023 çıktı) Bunu yapamayacağım çünkü. Bunun yapılmasına izin veren tablolamadır (en azından C ve diğer dillerde, tam olarak bunu yaptım)? Bunu elbette nesneler aracılığıyla yapabilirim... ama bu başka bir hikaye.

2. Sekme karakterinin gerçekten bir yerde doğru görüntülenmesi mi amaçlanıyor, ancak bir yerde görüntülenmiyor mu??? Yoksa temel bir sorun mu var?

Hızlı yanıt için teşekkürler.

 

Evet, bu arada, tüm yaygara bu göstergeden kaynaklanıyor (aşağıda ekli).

Veri yoluna yüklemeye değer mi, değmez mi?

Dosyalar:
 
ALEX_SPB_RU >> :

2. Sekme karakterinin gerçekten bir yerde doğru görüntülenmesi mi amaçlanıyor, ancak bir yerde görüntülenmiyor mu??? Yoksa temel bir sorun mu var?

Hızlı yanıt için teşekkürler.

Ama bir TabbedTextOut işlevi olduğunu biliyor musunuz? Ve bilmiyorum. :-)

Ve özel çekiliş ile liste görünümü - sadece çizginin rengini değiştirmezseniz - böyle bir muck !!

Ve tüm bunlarla iki saat boyunca oturup onunla uğraşmak zorundasın! :-)

 

Sekmeler mesaj kutusunda çalışır...

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

Sekmeler mesaj kutusunda çalışır...

Pekala, bu şaşırtıcı değil, çünkü üstte gri bir arka plan üzerinde görüntülenen uyarıda (tıpkı mesaj kutusunda göründüğü gibi), aynı zamanda beklendiği gibi görüntüleniyorlar...

Bu ilginç, seçicilikleri mi???

Ve fikir bunu bir yorum yoluyla yapmaktı çünkü bu en kolay yol, ama bu çok nüans olduğu ortaya çıktı.

 
ALEX_SPB_RU >> :

Müstehcenliği mazur görün, son anda açıklığa kavuşturmak istiyorum.

1. Bu, bilgi görüntülerken, düz kenarlı bir plaka şeklinde görüntülenmesi gerektiği anlamına gelir, çünkü çıktı verileri farklı uzunluklarda olacak (diyelim ki bir kez 25 çıktı, diğerinde 1023 çıktı) Bunu yapamam çünkü. Bunun yapılmasına izin veren tablolamadır (en azından C ve diğer dillerde, tam olarak bunu yaptım)? Bunu elbette nesneler aracılığıyla yapabilirim... ama bu başka bir hikaye.

2. Sekme karakterinin gerçekten bir yerde doğru görüntülenmesi mi amaçlanıyor, ancak bir yerde görüntülenmiyor mu??? Yoksa temel bir sorun mu var?

Hızlı yanıt için teşekkürler.

En başından beri uzun zamandır böyle olduğunu söyleyebilirim. İşte bu konuya bağlantılar: