DOS ve ANSI.SYS ile Ekran Duzeni
Umarim simdi size tumuyle degisik bir ekrana erisme metodu gosterirsem
bana kizmassiniz. Bu ikinci metodun birincisi ile neredeyse hicbir
alakasi yok. Bu metod sayesinde, programiniz, modem ile bagli uzak bir
terminalden calisabilir, DOS'un yonlendirme metodlarindan
(TYPE A.TXT > PRN gibi) faydalanabilir. ANSI bir terminali olursa,
herhangi bir Unix sisteminde calisabilir. Nasil mi? Cok kolay -
yaptigimiz, DOS ekrana birsey gonderirken, ekran idarecisinin
anlayabilecegi komutlari kullanmak. Yegane sorun, bu idarecinin siz
yukleyinceye kadar calismaz olmasi. Peki, nasil yukleyebiliriz?
Sistemi actiginiz diskte, CONFIG.SYS isimli bir kutuk olmasi lazim.
Yoksa yaratin, ve icine:
DEVICE=ANSI.SYS
satirini koyun. Bundan sonra, DOS disketinde bulunan ANSI.SYS isimli
kutugun, sistemi actiginiz diskte bulunmasini saglayin. Son olarak da,
ANSI.SYS i yuklemek icin, CTRL-ALT-DEL e basin. Alet acildiginda, size
fark ettirmeden bu idareci yuklenecektir. Bundan sonra, dilerseniz
printf icinde, dilerseniz herhangi baska bir DOS u kullanan rutin ile
ANSI yi kullanabilirsiniz. (Anafikir: printf, ekrana yazmak icin,
diger bircok C fonksiyonu gibi, DOS'u kullanir.)
ANSI ile cursorun yerini degistirmek:
Ilk once, butun ANSI komutlari, bir ESC, yani ASCII 27 ile baslarlar.
Ornegin, cursorun yerini degistirmek icin, gereken komut ESC [#;#h
dir. Ilk # isaretinin yerine satir numarasi, ikincinin yerine de kolon
konur. Bu, bir programda soyle gorunebilir:
printf("x1b[%d;%dh",satir,kolon);
(Ondalik 27 = Hex 1B )
satiri dikkatle incelerseniz, ilk once x1b ile ESC karakterini, daha
sonra [, sonra ilk rakami, sonra ; ve ikinci rakami, ve son olarak da
h isaretini gorebilirsiniz. ANSI nin komut yapisi son derece sabit
oldugundan, araya bosluklar katarsaniz, programiniz calismayabilir.
|