Berikut adalah fungsi yang dapat digunakan untuk mengkonversi bilangan integer ke bilangan romawi:
function IntToRoman(num: Cardinal): string;
const
Nvals = 13;
vals: array [1..Nvals] of word =
(1, 4, 5, 9, 10, 40, 50, 90, 100, 400, 500, 900, 1000);
roms: array [1..Nvals] of string[2] =
('I', 'IV', 'V', 'IX', 'X', 'XL', 'L', 'XC', 'C',
'CD', 'D', 'CM', 'M');
var
b: 1..Nvals;
begin
result := '';
b := Nvals;
while num > 0 do
begin
while vals[b] > num do
dec(b);
dec (num, vals[b]);
result := result + roms[b]
end;
end;
Untuk penggunaannya, Anda hanya perlu menulis fungsi di atas di unit baru atau langsung ke unit yang akan memanggil fungsi IntToRoman(). Fungsi tersebut akan menghasilkan output dalam tipe string.procedure TForm1.Button1Click(Sender: TObject);
begin
showmessage(inttoroman(12));
end;
Kode di atas jika dijalankan akan menghasilkan output "XII".- http://delphidabbler.com/tips/101
Untuk menuliskan Syntax: [code] code disini [/code]
Untuk menuliskan Quote: [quote] quote disini [/quote]
Berkomentarlah sesuai topik