home *** CD-ROM | disk | FTP | other *** search
/ PC World 2005 June / PCWorld_2005-06_cd.bin / software / vyzkuste / firewally / firewally.exe / framework-2.3.exe / roman.itcl < prev    next >
Text File  |  2003-09-01  |  733b  |  30 lines

  1. namespace eval ::iwidgets {
  2.   variable romand
  3.   set romand(val)   {1000 900 500 400 100 90 50 40 10  9 5  4 1}
  4.   set romand(upper) {   M  CM   D  CD   C XC  L XL  X IX V IV I}
  5.   set romand(lower) {   m  cm   d  cd   c xc  l xl  x ix v iv i}
  6.  
  7.   proc roman2 {n {case upper}} {
  8.       variable romand
  9.       set r ""
  10.       foreach val $romand(val) sym $romand($case) {
  11.           while {$n >= $val} {
  12.               set r "$r$sym"
  13.               incr n -$val
  14.           }
  15.       }
  16.       return $r
  17.   }
  18.   
  19.   proc roman {n {case upper}} {
  20.       variable romand
  21.       set r ""
  22.       foreach val $romand(val) sym $romand($case) {
  23.           for {} {$n >= $val} {incr n -$val} {
  24.               set r "$r$sym"
  25.           }
  26.       }
  27.       return $r
  28.   }
  29. }
  30.