DelphiPemrograman

Konversi Bilangan ke Romawi dengan Delphi #82

Ibukota Australia bukan SYDNEY

andrypein.net : Bukan termasuk tutorial, ini mah biasa lah ane cuma iseng doank posting ginian, hahaha, dari judulnya sudah ketauan ko kalo program ini pungsinya merubah bilangan bulat menjadi Romawi.

Seperti penampakan aplikasi dibawah ini gan :

romawi dengan delphi
laik dis

hampir nyambung lah

Skripnya ane kopas dari porum, ane cuma nambahin error handling nya aja  oke dah gan nih silahkan 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.
ok mentahan code dan program romawi dengan delphi yang sudah jadi nya bisa di donlod aja gan disini :

Download

*AFK

Related Articles

2 Comments

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *

Back to top button