Sanal Alem Avcıları
Would you like to react to this message? Create an account in a few clicks or log in to continue.
Sanal Alem Avcıları

Sanal-Kabus-Team STK
 
AnasayfaKapıLatest imagesAramaKayıt OlGiriş yap

 

 EkraN SiL ..

Aşağa gitmek 
YazarMesaj
ThewiLL
Site Kurucusu
Site Kurucusu
ThewiLL


Mesaj Sayısı : 173
Kayıt tarihi : 08/01/09

EkraN SiL .. Empty
MesajKonu: EkraN SiL ..   EkraN SiL .. Icon_minitimePaz Ocak 11, 2009 8:59 am

#include <dos.h>
void ekransil() /* bu rutin, ekrani siler */
{
union REGS gir;

gir.h.ah = 6; /* ekrani yukari kaydir: servis no su 6
ekrani asagi kaydir: servis no 7 dir. */
gir.h.al = 0; /* kac satir scroll edecegi 'donecegi'
sifir olunca, butun ekrani siler */
gir.h.ch = 0; /* sol ust kosenin satir no su */
gir.h.cl = 0; /* sol ust kosenin kolon no su */
gir.h.dh = 23; /* sag alt kosenin satir no su */
gir.h.dl = 79; /* sag alt kosenin kolon no su */
gir.h.bh = 7; /* yeni yaratilacak satirlar icin renk degeri */

int86(16,&gir,&gir);
}
==============================================

Altinci BIOS servisi sayesinde, ekrani yukari kaydirma metodu ile
silmekteyiz. Ayni servis sayesinde, CX ve DX de gordugunuz degerleri
degistirerek, ekranin sadece bir parcasini 'scroll' etmek yani
kaydirmak mumkundur. Kaydirma yonunu servis numarasini 6 yada 7
yaparak degistirebilirsiniz. Burada gordugunu gir.h.bh deki deger ise,
yeni acilacak satirlarin 'attribute' yani, rengi ve ozellikleri
(parlak, yanip sonen, vs.) dir. Ayrica, yukaridaki ornekte,
gir.h.ch = 0;
gir.h.cl = 0;
yerine, sadece
gir.x.cx = 0;
diyebilirdik.


Baska Interruptlar

Bu orneklerde dikkat etmisinizdir - her int86() yi cagirisimizda, ilk
parametre olarak 16 yi belirttik. Bu istedigimiz interrupt'un
numarasidir. Daha once soyledigim gibi BIOS un ekran fonksiyonlarinin
hepsi interrupt 16 ile cagirilir. Fakat tabi, programlarimiz bununla
sinirli kalmak zorunda degildir, kullanabilecegimiz daha bircok interrupt vardir
Sayfa başına dön Aşağa gitmek
 
EkraN SiL ..
Sayfa başına dön 
1 sayfadaki 1 sayfası
 Similar topics
-
» Asus A9600 Ekran Kartı Vista 64 Bit Driver...

Bu forumun müsaadesi var:Bu forumdaki mesajlara cevap veremezsiniz
Sanal Alem Avcıları :: PROGRAMLAMA :: Programlama Genel-
Buraya geçin: