Not: Anlatacağım yöntem sadece linux ve unix türevlerinde çalışmaktadır.
Konsol uygulamalarında kod renklendirme aslında birkaç standartlaşmış ascii koduna dayanmaktadır. Konsolun belirli bir noktasına çıktı yapmak da aynı şekilde bir dizi ascii kodu ile yapılmaktadır. Buradan da anlayacağımız gibi renk değiştirme ekrana çıktı komutu ile gerçekleştirilmektedir.
C için örnek
|
|
python için
|
|
eğer doğru yazdıysanız ekrana kırmızı renkte çıktı verecektir.
şimdi yazdırdığımız şeye bir bakalım.
\033 (0x1B): Aslında kilit nokta burası. \033 karakteri ile konsola mesaj yolluyoruz. Bu ascii kodu çıktıyı farklı bir konuma yazdırırken de aynı olacak.
[: bu köşeli parantezimizde konsola gönderdiğimiz mesajın parametrelerini girmeye başladığımızı bildiriyor.
;: noktalı virgül ile de parametreleri birbirinden ayırıyoruz
ilk parametre: 1(tamsayı): burada çıktının parlaklığı yer alıyor 1 veya 0 alabilir.
ikinci parametre: 31 (tamsayı): burada yazının rengini tanımlıyoruz. Aşağıdaki renk kodlarından biri gelebilir
yazı renkleri:
|
|
Son parametre: 40: Bu parametremiz de yazının arkaplan rengi içindir.
Arkaplan renkleri
|
|
m : m karakteri konsola gönderdiğimiz mesajın sonlandığını bildirmektedir.
Konsolda Çıktıyı konumlandırmak
yine ascii kodlarımızla çıktımızı yönlendireceğiz. Ancak bazı farklılıklar var.
C için
|
|
python için
|
|
Yine ilk parametre aynı \033 karakteri (0x1B). burada parametreleriniz şöyle:
1. parametremiz dikey konum yani y konumu
2. parametremiz yatay yani x konumu
f : ise burada değişiklik gösteriyor. gene konsola gönderdiğimiz mesajın sonlandığını bildiriyor.
NOT !!! : İmleçin konumu ile oynayan bir kod yazdıysanız progarmınızın sonlanırken konsolu temizlemesi iyi olur yoksa garip bir şekilde komut bekleme haline geçiyor ve yazılar üst üste biniyor.
C için konsol temizle:
|
|
Python için konsol temizleme
|
|
önceki yazı dbClass ile PHP-MYSQL işlemleri kolaylaştı... |
sonraki yazı Bir Kahve Molası - Java [Bölüm 2 - 1] |
windows işletim sistemi için komut;
Konsolun varsayılan ön plan ve arka plan renklerini ayarlar.COLOR [attr]
attr Konsol çıktısının renk özniteliğini belirtir
Renk öznitelikleri İKİ onaltılık haneyle belirtilir; birincisi
arka plana, ikincisi de ön plana karşılık gelir. Her bir hane
aşağıdaki değerlerden biri olabilir:0 = Siyah 8 = Gri 1 = Mavi 9 = Açık Mavi 2 = Yeşil A = Açık Yeşil 3 = Deniz Mavisi B = Açık Deniz Mavisi 4 = Kırmızı C = Açık Kırmızı 5 = Mor D = Açık Mor 6 = Sarı E = Açık Sarı 7 = Beyaz F = Parlak Beyaz
Hiçbir parametre verilmezse, bu komut, rengi CMD.EXE'nin başlatıldığı
zamanki durumuna geri yükler. Bu değer geçerli konsol penceresinden,
/T komut satırı anahtarından ya da DefaultColor kayıt defteri
değerinden gelir.COLOR komutu, ön plan ve arka plan rengi aynı olarak bir COLOR komutu
çalıştırma girişiminde, ERRORLEVEL'i 1'e ayarlar.Örnek: "COLOR fc" parlak beyaz üzerinde açık kırmızı sonuç verir
Ufak bir hata var sanırım o da python için olan. Aslında hata denemez belki de benim sürümde farklı ama neyse. gotoXY için olan kodun python için olanında
print "\033[10,10f"
yerine
print "\033[10;10f"+"yazılacak metin"+"\033[0m"
yazılırsa konsolda 10. satır ve 10. sütundan itibaren yazmaya başlar. En sondaki \033[0m özel formatlamanın bittiği anlamına gelir.
Eline sağlık xiackok. Oldukça faydalı bir yazı olmuş.
teşekkür ederim @mgulsoy \033[0m kısımlarını yazmamıştım. şimdi düzeltiyorum.
düzeltmeleri yaptım onay bekliyor. ya bu opera'da çok sık yaşadığım bir sorun var. kodamanda ve birkaç sitede daha yazarken önizleme özelliği var. opera ile bu sitelerde önizleme yaptığımda önizleme düzgün bir şekilde geliyor. ancak anladığım kadarıyla önizlemeyi getirmeden önce formu submit ediyor. bundan çok canım yandı kaç kere :D
pillinetwork sitelerine yorum ekleyebilmek ve daha fazlası için, üye olun ya da giriş yapın.
Nokta ve pilli ortak yapımı olan kodaman.org kolektif bir kod yazarları blogudur. Siz de katılabilirsiniz.