Kamis, 23 Juni 2016

Contoh 13 (Coding) dan Gambarnya

#include <stdlib.h>
#include "screen.cpp"
#define KEY_INT 0x16 /* Nomor interupsi keyboard */
#define KEY_BACKSPACE 0x08 /* Tombol Backspace */
#define KEY_RETURN 0x0d /* Tombol Enter */
#define KEY_TAB 0x09 /* Tombol Tab */

#define KEY_SPACE 0x20 /* Tombol spasi */
#define NULL 0x00 /* ASCII 0 */
#define TRUE 1
UCHAR *getString(Screen *scr, UCHAR *str, UCHAR max);
int main(void)
{
Screen *layar = new Screen();
UCHAR str1[30];
UCHAR *str2;
layar->setMode(0x03);
layar->setCursorPos(5, 9);
layar->writeString("Ketikan sebuah string:");
layar->setCursorPos(5, 32);
str2 = getString(layar, str1, 25);
layar->setCursorPos(6, 9);
layar->writeString("String yang Anda ketikan adalah");
layar->setCursorPos(6, 41);
layar->writeString(str1);
/* getKey */
asm mov ah, 0x00;
asm int KEY_INT;
delete layar; return EXIT_SUCCESS;
}
UCHAR *getString(Screen *scr, UCHAR *str, UCHAR max)
{
UCHAR key = 0;
UCHAR i, x, y;
i = 0;
while (TRUE)
{
asm mov ah, 0x00;
asm int KEY_INT;
asm mov key, al;
if ((key == KEY_BACKSPACE) && (i > 0))
{
scr->getCursorPos(&y, &x);
scr->setCursorPos(y, --x);
scr->writeChar(KEY_SPACE);
*(str + i) = NULL; i--;
}
if ((key >= 32) && (key <= 126) && (i < max))
{
scr->getCursorPos(&y, &x);

scr->writeChar(key);
scr->setCursorPos(y, ++x);
*(str + i) = key; i++;
}
if ((key == KEY_TAB) && (i < max))
{
scr->getCursorPos(&y, &x);
scr->writeChar(KEY_SPACE);
scr->setCursorPos(y, ++x);
*(str + i) = KEY_SPACE; i++;
}
if (key == KEY_RETURN)
{
*(str + i) = NULL;
break;
}
if (i == max) *(str + i) = NULL;
}
return str;
}


Gambarnya Sebagai Berikut :



Penjelasannya :


Pada program contoh13.cpp, fungsi yang digunakan untuk memasukan string adalah fungsi getString. Fungsi getString menerima tiga parameter, yaitu scr dengan tipe data Screen yang dikirimkan secara referensi, str dengan tipe data unsigned character yang dikirimkan secara referensi dan parameter max dengan tipe data unsigned character yang dikirimkan secara nilai. Parameter scr digunakan untuk mengetahui posisi kursor dan
memindahkan posisi kursor pada mode layar yang digunakan serta menampilkan karakter yang diketikan melalui keyboard. Parameter str adalah pointer karakter yang digunakan untuk menunjukan alamat memori dimana karakter-karakter yang dimasukan melalui keyboard disimpan dalam memori. Sedangkan parameter max digunakan untuk menentukan banyaknya karakter yang bisa dimasukan.

0 komentar:

Posting Komentar

Posting Lebih Baru Posting Lama Beranda

Diberdayakan oleh Blogger.

Facebook

Popular Posts

Formulir Kontak

Nama

Email *

Pesan *

Subscribe Here

Ad Home

Random Posts

Recent Posts

Recent

Header Ads

Popular Posts

Flickr

Newsletter

Subscribe Our Newsletter

Enter your email address below to subscribe to our newsletter.

Ad Banner

About Us

Random Posts

Popular Posts

 

Followers

 

Social Share Icons

Templates by Nano Yulianto | CSS3 by David Walsh | Powered by {N}Code & Blogger