Saturday, May 20, 2017

Membaca Karakter pada Posisi Kursor Pada C++

Kali ini saya akan membahas tentang Membaca Karakter pada Posisi Kursor . Buat kalian yang penasaran yuk mari kita simak .. !!

coding, C++, pemograman

Membaca Karakter pada Posisi Kursor Pada C++

      Pada artikel kali ini saya akan membahas cara mengetahui nilai karakter dan warna karakter yang sudah tercetak dilayar. Seperti telah kita ketahui sebelumnya bahwa layar monitor pada mode teks normal terdiri dari suatu baris dan kolom. Dengan mengarahkan kursor pada baris dan kolom tertentu, dapat kita ketahui karakter/huruf yang tercetak dan warna dari karakter/huruf tersebut.

     Nomor interupsi yang digunakan untuk mengetahui karakter dan warna karakter pada posisi tertentu adalah interupsi 10 heksadesimal servis 8 heksadesimal.

Berikut ini adalah prosedur untuk menjalankan interupsi tersebut:
>Register AH harus bernilai 8 heksadesimal.
>Register BH berisi nomor halaman tampilan, halaman pertama nilainya 0.

     Setelah interupsi dijalankan maka register AH akan berisi nilai warna dari karakter dan register AL akan berisi karakter/huruf yang ditampilkan. Berikut ini adalah contoh sederhana untuk membaca karakter pada posisi tertentu dilayar. Untuk menyederhanakan kode program,
Berikut akan menggunakan fungsi standar gotoxy, textcolor, textbackground, cprintf dan int86. :

#include <conio.h>
#include <dos.h>
#include <stdio.h>
#include <stdlib.h>

#define VIDEO_INT 0x10 // Nomor interupsi video
#define UCHAR unsigned char // Tipe data UCHAR

UCHAR getCharAttr(UCHAR *attr);

int main(void)
{
UCHAR huruf, warna;

clrscr(); // Bersihkan layar
gotoxy(10, 5); textcolor(15); // Warna karakter
textbackground(5); // Warna dasar karakter
cprintf(" AHMAD ZAKARIA "); // Cetak string
gotoxy(13, 5); // Pindah posisi kursor

huruf = getCharAttr(&warna); // Baca nilai karakter
// dan atributnya
gotoxy(12, 7);
printf(“NIM 13161257");
gotoxy(12,8);
printf("KELAS 13161257);
getch();

return EXIT_SUCCESS;
}

UCHAR getCharAttr(UCHAR *attr) // Fungsi untuk membaca
{ // karakter dan atributnya
union REGS in, out; // pada posisi kursor

in.h.ah = 0x08; // AH = 8 heksadesimal
in.h.bh = 0x00; // BH = 0, halaman layar
int86(VIDEO_INT, &in, &out); // Lakukan interupsi

*attr = out.h.ah; // Salin nilai AH di attr

return out.h.al; // Kembalikan nilai AL
}

 Berikut ini contoh foto codingan sepert yang di atas :
coding, C++, pemograman

 Dan ini contoh foto hasil runingan contoh codingan di atas ;
C++, coding, pemograman, runing

      Pada program diatas, fungsi yang dibuat untuk membaca karakter dan warna atributnya adalah fungsi getCharAttr. Fungsi ini mengirimkan parameter dengan tipe data unsigned character secara acuan. Setelah fungsi tersebut dijalankan, parameter attr berisi nilai warna atribut dari karakter sedangkan fungsi getCharAttr sendiri mengembalikan nilai karakter yang dibaca.

Sekian dahulu yang dapat saya sampaikan kurang lebihnya mohon maaf.
Wassallamuallailkum.Wr.Wb

Komentar spam dilarang
EmoticonEmoticon