home *** CD-ROM | disk | FTP | other *** search
/ PC World 2000 December / PCWorld_2000-12_cd.bin / Komunikace / Comanche / comanche.exe / lib / iwidgets3.0.0 / scripts / roman.itcl < prev    next >
Text File  |  1999-02-24  |  711b  |  29 lines

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