Rabu, 21 Maret 2012

Konversi Bilangan ke Romawi

Bukan termasuk tutorial,biasa lah ane cuma iseng doank posting ginian,hahaha,dari judul udah ketauan ko kalo program ini pungsinya merubah bilangan bulat menjadi Romawi,

nah kaya gitu gan.
skripnya ane kopas dari porum,ane cuma nambahin error handling nya aja

oke dah gan nih silhkan kalo mau lihat skripnya:


unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Edit1: TEdit;
    Button1: TButton;
    Edit2: TEdit;
    Button2: TButton;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Edit1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

function IntToRoman(m: integer): string;
const
k=10;
roman_unit:array[1..k] of string = ('','I','II','III','IV','V','VI','VII','VIII','IX');
roman_tens:array[1..k] of string = ('','X','XX','XXX','XL','L','LX','LXX','LXXX','XC');
roman_hund:array[1..k] of string = ('','C','CC','CCC','CD','D','DC','DCC','DCCC','CM');
roman_thou:array[1..6] of string = ('','M','MM','MMM','MMMM','MMMMM');
var
n,v,w,x,y:integer;
begin
n:=m;
if n<>5999 then
result:='5999';
v := ((n - (n mod 1000)) div 1000)+1;
n := (n mod 1000);
w := ((n - (n mod 100)) div 100)+1;
n := (n mod 100);
x := ((n - (n mod 10)) div 10)+1;
y := (n mod 10) + 1;
result:= roman_thou[v] + roman_hund[w] + roman_tens[x] + roman_unit[y];
end;

procedure TForm1.Button1Click(Sender: TObject);
var bil : integer;
begin
if (edit1.Text='') then
  begin
    messagebox(self.Handle,'oow men check what you have done!!','Warning',MB_OK + MB_ICONINFORMATION);
  end else
  begin
    try
      bil:=strtoint(edit1.Text);
      if (bil < 0) or (bil > 5999) then
        showmessage('jangan kurang dari 1 dan jangan lebih dari 5999')
      else
        edit2.Text:=IntToRoman(bil);
    except;
      exit;
    end;
end;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
edit1.Clear;
edit2.Clear;
edit1.SetFocus;
end;

procedure TForm1.Edit1Click(Sender: TObject);
begin
edit1.Hint:='hanya dari angka 1 sampai 5999';
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
application.HintColor:=clred;
end;

end.
kalo mau donlod,ane sediain projeknya ko gan

0 komentar:

Posting Komentar

 
Design by Wordpress Theme | Bloggerized by Free Blogger Templates | coupon codes