window 1 local fn DecimaltoRoman( decimal as short ) as Str15 short arabic(12) Str15 roman(12) long i Str15 result : result = "" arabic(0) = 1000 : arabic(1) = 900 : arabic(2) = 500 : arabic(3) = 400 arabic(4) = 100 : arabic(5) = 90 : arabic(6) = 50 : arabic(7) = 40 arabic(8) = 10 : arabic(9) = 9 : arabic(10) = 5 : arabic(11) = 4: arabic(12) = 1 roman(0) = "M" : roman(1) = "CM" : roman(2) = "D" : roman(3) = "CD" roman(4) = "C" : roman(5) = "XC" : roman(6) = "L" : roman(7) = "XL" roman(8) = "X" : roman(9) = "IX" : roman(10) = "V" : roman(11) = "IV" : roman(12) = "I" for i = 0 to 12 while ( decimal >= arabic(i) ) result = result + roman(i) decimal = decimal - arabic(i) wend next i if result == "" then result = "Zepherium" end fn = result print "1990 = "; fn DecimaltoRoman( 1990 ) print "2008 = "; fn DecimaltoRoman( 2008 ) print "2016 = "; fn DecimaltoRoman( 2016 ) print "1666 = "; fn DecimaltoRoman( 1666 ) print "3888 = "; fn DecimaltoRoman( 3888 ) print "1914 = "; fn DecimaltoRoman( 1914 ) print "1000 = "; fn DecimaltoRoman( 1000 ) print " 513 = "; fn DecimaltoRoman( 513 ) print " 33 = "; fn DecimaltoRoman( 33 ) HandleEvents