CONTOH CPP 8
CONTOH CPP 8
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 contoh08.ide dan file kode program contoh08.cpp.
#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(25); // Warna karakter biru
textbackground(10); // Warna dasar karakter hijau
cprintf(" JOSUA PUTRA "); // Cetak string
gotoxy(17, 7); // Pindah posisi kursor
huruf = getCharAttr(&warna); // Baca nilai karakter
// dan atributnya
gotoxy(1, 7);
printf("Karakter pada baris 8 kolom 18: %c\n", huruf);
printf("Warna\\atribut dari karakter : %#x\n", warna);
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
}
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.
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 contoh08.ide dan file kode program contoh08.cpp.
#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(25); // Warna karakter biru
textbackground(10); // Warna dasar karakter hijau
cprintf(" JOSUA PUTRA "); // Cetak string
gotoxy(17, 7); // Pindah posisi kursor
huruf = getCharAttr(&warna); // Baca nilai karakter
// dan atributnya
gotoxy(1, 7);
printf("Karakter pada baris 8 kolom 18: %c\n", huruf);
printf("Warna\\atribut dari karakter : %#x\n", warna);
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
}
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.
Komentar
Posting Komentar