Kamis, 18 Mei 2017

Membaca Karakter pada Posisi Kursor Program C++

Membaca Karakter pada Posisi Kursor Program C++

Pada sub artikel sebelumnya sudah dipelajari bagaimana cara menampilkan karakter dan string pada posisi kursor tertentu di layar. Pada artikel ini akan dipelajari 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, contoh berikut akan menggunakan fungsi standar gotoxy, textcolor, textbackground, cprintf dan int86. Simpan contoh program berikut ini dengan nama project contoh project cpp008.ide dan file kode program contoh project cpp008.cpp 

*anda bebas menentukan nama penyimpanan sesuka anda
#include<conio.h>
#include<dos.h>
#include<stdio.h>
#include<stdlib.h>
#define VIDEO_INT 0x10
#define UCHAR unsigned char
UCHAR getCharAttr(UCHAR *attr);
int main(void)
{
  UCHAR huruf, warna;
  clrscr();
  gotoxy(10, 5); textcolor(15);
  textbackground(12);
  cprintf(" I LOVE YOU ");
  gotoxy(14, 5);
  huruf = getCharAttr(&warna);
  gotoxy(1, 7);
  printf("Karakter Pada Baris 5 Kolom 13: %c\n", huruf);
  printf("Warna Atribut Dari Karakter : %#x\n", warna);
  getch();
  return EXIT_SUCCESS;
}
UCHAR getCharAttr(UCHAR *attr)
{
  union REGS in, out;
  in.h.ah = 0x08;
  in.h.bh = 0x00;
  int86(VIDEO_INT, &in, &out);
  *attr = out.h.ah;
  return out.h.al;
}

Berikut ini adalah contoh codingan contoh project cpp008 yang sama seperti di atas:
Berikut ini adalah output atau hasil keluaran yang sudah di running:
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 tutotial dari saya mengenai Membaca Karakter pada Posisi Kursor Program C++. Jika program di atas tidak mau running, coba anda periksa lagi codingan yang anda ketikan sebelumnya karena program Borland C++ ini sangat sensitive, jika salah sedikit dan tidak akan mau running. Jadi, harus teliti ya teman-teman dalam mengetikan program di Borland C++.
.

Related Posts

Membaca Karakter pada Posisi Kursor Program C++
4/ 5
Oleh

Subscribe via email

Like the post above? Please subscribe to the latest posts directly via email.