Thread overview
Terminal Renk komutları
Oct 20, 2015
nurullahisrgan
Oct 20, 2015
Salih Dinçer
Oct 21, 2015
nurullahisrgan
Oct 21, 2015
emreongun
Oct 22, 2015
nurullahisrgan
Oct 23, 2015
nurullahisrgan
October 20, 2015

Merhaba... D dilinde yazdığımız konsol uygulamalarını renklendirme yolu var mıdır? C ve C++ dilinde \e[32m diye renklendirme oluyordu. Ancak D dilinde olmuyor... Bu renkelendirme işlerini nasıl yapabiliriz?

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

October 20, 2015

Belki çözüm bunun için direk bir kütüphane kullanmak olabilir.

Kullanmadım ama şu kullanılabilir gibi duruyor :https://github.com/robik/ConsoleD (Orada nasıl yapıldığına da bakabilirsin.)

Konsola daha çok iş yaptırmak istiyorsan ncurses kütüphanesini kullanabilirsin. D için yazılan ilinti(binding) çalışıyor olmalı: https://github.com/D-Programming-Deimos/ncurses

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

October 20, 2015

Robik'in D Console'u işinizi görebilir:

https://github.com/robik/ConsoleD

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

October 20, 2015

Bunlar terminalle ilgili kodlar olduğundan çıkışa yazdırılmaları yeterli olmalı ve her dilde çalışmalı. Küçücük bir örnekle gösterir misin.

Anlaşılan, Windows ve Linux terminalleri bu konuda farklıymış:

http://stackoverflow.com/questions/9350842/how-do-i-print-colors-into-the-console-with-d

Sen hangi ortamda çalışıyordun?

Ali

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

October 21, 2015

Merhaba, Linux-Ubuntu üzerinde çalışıyorum. C ve C++ dillerinde örnek kod yazarak göstereyim. Bu kodlar terminal ekranını renklendiriyor. İlk örnek:

#include "stdio.h"

int main()
{
	printf("\e[33m Merhaba Dünya... \e[00m");
}
#include <iostream>

int main()
{
	std::cout<<"\e[31m\e[03m Merhaba Dünya \e[00m"<<std::endl;
}

Birinci örnek, yalnızca sarı rengini kullanıyor. İkinci örnek ise italik yazı tipi ve kırmızı rengini kullanıyor. Aynı kodu D dilinde yazmaya kalktığımda ise;

import std.stdio;

void main()
{
	writeln("\e[33m Merhaba Dünya... \e[00m");
}

Aldığım hata şöyle:

deneme.d(5): Error: undefined escape sequence \e
deneme.d(5): Error: undefined escape sequence \e

Böyle renklendirmenin bir yolu var mı D dilinde... C ve C++ kodları g++ derleyicisi ile derlenmiştir.

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

October 21, 2015

O hatanın bulunduğu satır:

writeln("\e[33m Merhaba Dünya... \e[00m");

\e yazan yerde \ karakteri özel anlam taşır. \ Karakteri yazdırılmak istendiğinde iki kez ard arda kullanılmalı. Şöyle:

writeln("\\e[33m Merhaba Dünya... \\e[00m");

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

October 21, 2015

\e'nin doğru olduğundan emin misin? Bir belgeye göre \x1b olması gerekiyor:

https://en.wikipedia.org/wiki/ANSI_escape_code#Colors

Yani, şu çalışıyor:

   writeln("\x1b[33m Merhaba Dünya... \x1b[00m");

Ali

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

October 22, 2015

Alıntı (acehreli):

>

\e'nin doğru olduğundan emin misin? Bir belgeye göre \x1b olması gerekiyor:

https://en.wikipedia.org/wiki/ANSI_escape_code#Colors

Yani, şu çalışıyor:

>     writeln("\x1b[33m Merhaba Dünya... \x1b[00m");
> ```

> Ali
>

\e C ve C++ ta olduğu için öyle kullanıyordum. \x1b de oluyormuş, teşekkürler...

-- 
[ Bu gönderi, <http://ddili.org/forum>'dan dönüştürülmüştür. ]
October 22, 2015

Konuyu gereksizce uzatmış gibi oluyorum ama \e'nin C ve C++'ta nasıl çalıştıklarını anlamıyorum çünkü standart değiller:

http://en.cppreference.com/w/cpp/language/escape

Yani, tabii ki çalışması iyi ama ben olsam C ve C++ programlarında da \e'ye güvenmezdim. :)

Ali

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

October 23, 2015

Alıntı (acehreli):

>

Konuyu gereksizce uzatmış gibi oluyorum ama \e'nin C ve C++'ta nasıl çalıştıklarını anlamıyorum çünkü standart değiller:

http://en.cppreference.com/w/cpp/language/escape

Yani, tabii ki çalışması iyi ama ben olsam C ve C++ programlarında da \e'ye güvenmezdim. :)

Ali

Zor sordunuz.. Şahsen bu işlerden pek anlamıyorum. Ubuntu'da .bashrc gibi dosyalarda bile \e kullanılıyor. ConsoleD'yi de bugün inceleyeceğim. Hafif olarak kodlamalarda \E görmüştüm.

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]