Jumat, 19 Mei 2017

ASCII Extended Character Set C++

ASCII Extended Character Set C++

ASCII Extended Character Set (set karakter ASCII perluasan) adalah karakter ASCII dengan kode atau nomor urut 128 sampai dengan 255 desimal. Umumnya set karakter perluasan ini digunakan agar tampilan program yang berbasis teks menjadi lebih menarik karena dapat digunakan untuk menampilkan bingkai, tabel, simbol-simbol khusus dalam aksara Yunani (seperti alpha, beta, gamma dan seterusnya) dan simbol-simbol khusus matematika (seperti integral, akar kuadrat dan pangkat dua). Gambar-gambar berikut ini menampilkan nomor urut serta karakter ASCII reguler dan perluasan.

Tabel ASCII Reguler

Tabel ASCII Extended
Berikut ini adalah contoh program yang sangat sederhana untuk membuat sebuah bingkai. Program ini akan menggunakan fungsi writeChar, writeString, setCursorPos yang telah dibuat pada program sebelumnya. Simpan program berikut ini dengan nama file project contoh project cpp009.ide dan nama file kode program contoh project cp009.cpp.

*anda bebas untuk 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
void setmode(UCHAR mode);
void getcursorpos(UCHAR *y, UCHAR *x);
void setcursorpos(UCHAR y, UCHAR x);
void writechar(UCHAR letter, UCHAR attr);
void writestring(UCHAR *str, UCHAR attr);
int main(void)
{
  UCHAR baris, kolom;
  UCHAR pilih;
  setmode(3);
  setcursorpos(4, 4); writechar(213, 0x1e);
  setcursorpos(4, 74); writechar(184, 0x1e);
  setcursorpos(20, 4); writechar(192, 0x1e);
  setcursorpos(20, 74); writechar(217, 0x1e);
  for (baris = 5; baris < 20; baris++)
  {
    setcursorpos(baris, 4); writechar(179, 0x1e);
    setcursorpos(baris, 74); writechar(179, 0x1e);
  }
  for (kolom = 5; kolom < 74; kolom++)
  {
    setcursorpos(4, kolom); writechar(205, 0x1e);
    setcursorpos(20, kolom); writechar(196, 0x1e);
  }
  setcursorpos(4, 5); writechar(181, 0x1e);
  setcursorpos(4, 6);
  writestring("Bingkai dengan ASCII", 0xe1);
  setcursorpos(4, 26); writechar(198, 0x1e);
  for (baris = 5; baris < 20; baris++)
  {
    for (kolom = 5; kolom < 74; kolom++)
    {
      setcursorpos(baris, kolom);
      writechar(0x21, 0x1e);
    }
  }
  setcursorpos(12, 25);
  writestring("Akhiri Program (Y/T)? [ ]", 0xe1);
  for (;;)
  {
    setcursorpos(12, 49);
    pilih = getch();
    writechar(pilih, 0xec);
  if ((pilih == 'Y') || (pilih == 'y'))
    break;
  }
  return EXIT_SUCCESS;
}
void setmode(UCHAR mode)
{
  asm mov ah, 0x00;
  asm mov al, mode;
  asm int VIDEO_INT
  return;
}
void getcursorpos(UCHAR *y, UCHAR *x)
{
  UCHAR row, col;
  asm mov ah, 0x03;
  asm mov bh, 0x00;
  asm int VIDEO_INT;
  asm mov row, dh;
  asm mov col, dl;
  *y = row;
  *x = col;
  return;
}
void setcursorpos(UCHAR y, UCHAR x)
{
  asm mov ah, 0x02;
  asm mov bh, 0x00;
  asm mov dh, y;
  asm mov dl, x;
  asm int VIDEO_INT;
  return;
}
void writechar(UCHAR letter, UCHAR attr)
{
  asm mov ah, 0x09;
  asm mov al, letter;
  asm mov bh, 0x00;
  asm mov bl, attr;
  asm mov ch, 0x00;
  asm mov cl, 0x01;
  asm int VIDEO_INT;
  return;
}
void writestring(UCHAR *str, UCHAR attr)
{
  UCHAR x, y;
  getcursorpos(&y, &x);
  for (; *str != '\0'; str++)
  {
    if (x > 79)
    {
      y++; x = 0;
    }
    setcursorpos(y, x++);
    writechar(*str, attr);
  }
  return;
}

Berikut ini adalah output atau hasil keluaran yang sudah di running:


Sekian tutotial dari saya mengenai bagaimana cara ASCII Extended Character 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

ASCII Extended Character Set C++
4/ 5
Oleh

Subscribe via email

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