Script Library: 1219 scripts
  • Home
  • Script library
  • AltME Archive
  • Mailing list
  • Articles Index
  • Site search
 

Archive version of: convertitore.r ... version: 16 ... crazyaxe 29-Dec-2009

Amendment note: added grams || Publicly available? Yes

REBOL [ 

 Title: "Unit converter"

 Author: "Massimiliano Vessi"

 Email: maxint@tiscali.it

 Date: 19-Jun-2009 

 version: 1.3.5

 file: %convertitore.r

 Purpose: {"The best unit converter on earth!"}

 

 ;following data are for www.rebol.org library

 ;you can find a lot of rebol script there

 library: [ 

           level: 'beginner 

           platform: 'all 

           type: [tutorial tool] 

           domain: [scientific vid gui] 

           tested-under: [windows linux] 

           support: none 

           license: [gpl] 

           see-also: none 

          ] 

]



header-script: system/script/header



version: "Version: "

append version header-script/version



; We initially set how many digits show

decimali: 0.001       

       

; We define a function to round the values to the specified digits

troncare: func [ misura2 ]

   [

   esatto: round/to misura2 decimali

   return esatto

   ]



; Function to convert in Meter all the leght values and then reconvert all the

; other values

inmetri:  func [ misura  unit ]

   [

   conv: 0 

   misura: to-decimal misura

   if unit = "Metri" [ conv: 1 ]

   if unit = "mm" [conv: 0.001 ]

   if unit = "Pollici" [conv: 0.0254 ] 

   if unit = "Piedi" [ conv: 0.3048 ]

   if unit = "Yards" [ conv: 0.9144 ]

   if unit = "Miglia" [ conv: 1609.344 ]

   SImetri: misura * conv

   metri/text: troncare SImetri

   mm/text: troncare ( SImetri * 1000 )

   pollici/text: troncare ( SImetri / 0.0254 )

   piedi/text: troncare ( SImetri / 0.3048 )

   yards/text: troncare ( SImetri / 0.9144 )

   miglia/text: troncare ( SImetri / 1609.344 )

   set-face pannelli []

   ]



; Function to convert in Square Meter all the surface values and then reconvert

; all the other values

inmetri2:  func [ misura  unit ]

   [

   conv: 0 

   misura: to-decimal misura

   if unit = "metri2" [ conv: 1 ]

   if unit = "acres" [conv: 4046.856 ] 

   if unit = "ettari" [ conv: 10000 ]

   if unit = "inches2" [ conv: 0.000645 ]

   if unit = "miles2" [ conv: 2589988 ]

   if unit = "yards2" [ conv: 0.836127 ]

   SImetri: misura * conv

   metri2/text: SImetri

   acres/text: troncare do [ SImetri / 4046.856 ]

   ettari/text: troncare do [ SImetri / 10000 ]

   inches2/text: troncare do [ SImetri / 0.000645 ]

   miles2/text: troncare do [ SImetri / 2589988 ]

   yards2/text: troncare do [ SImetri / 0.83617 ]

   set-face pannelli []

   ]





; Function to convert in Cubic Meter all the volume values and then reconvert

; all the other values   

inmetri3:  func [ misura  unit ]

   [

   conv: 0 

   misura: to-decimal misura

   if unit = "metri3" [ conv: 1 ]

    if unit = "dm3" [ conv: 0.001 ]

     if unit = "cm3" [ conv: 0.000001 ]

   if unit = "liters" [conv: 0.001 ] 

    if unit = "cl" [ conv: 0.00001 ]

     if unit = "ml" [ conv: 0.000001 ]

   if unit = "feet3" [ conv: 0.028317 ]

   if unit = "inch3" [ conv: 0.000016 ]

   if unit = "cups" [ conv: 0.000237 ]

   if unit = "gallons" [ conv: 0.004546 ]

   if unit = "pints" [ conv: 0.000568 ]

   if unit = "quarts" [ conv: 0.001137 ]

   if unit = "tablespoons" [ conv: 0.000015 ]

   if unit = "teaspoons" [ conv: 0.000005 ]

   if unit = "onces" [ conv: 0.000028 ]

   SImetri: misura * conv

   metri3/text: SImetri

   dm3/text: troncare do [ SImetri / 0.001 ]

      cm3/text: troncare do [ SImetri / 0.000001 ]

   liters/text: troncare do [ SImetri / 0.001 ]

      cl/text: troncare do [ SImetri / 0.00001 ]

      ml/text: troncare do [ SImetri / 0.000001 ]

   feet3/text: troncare do [ SImetri / 0.028317 ]

   inch3/text: troncare do [ SImetri / 0.000016 ]

   cups/text: troncare do [ SImetri / 0.000237 ]

   gallons/text: troncare do [ SImetri / 0.004546 ]

   pints/text: troncare do [ SImetri / 0.000568 ]

   quarts/text: troncare do [ SImetri / 0.001137 ]

   tablespoons/text: troncare do [ SImetri / 0.000015 ]

   teaspoons/text: troncare do [ SImetri / 0.000005 ]

   onces/text: troncare do [SImetri / 0.000028]

   set-face pannelli []

   ]

   

; Function to convert in Kilos all the weight values and then reconvert

; all the other values      

inkilos:  func [ misura  unit ]

   [

   conv: 0 

   misura: to-decimal misura

   if unit = "kg" [ conv: 1 ]

	if unit = "g" [conv: 0.001]

   if unit = "carats" [conv: 0.0002 ] 

   if unit = "grains" [ conv: 0.000065 ]

   if unit = "ounces" [ conv: 0.02835]

   if unit = "pounds" [ conv: 0.4536 ]

   if unit = "tons" [ conv: 1016.046909 ]

   SI: misura * conv

   kg/text:  SI

	g/text: troncare do [si / 0.001 ]

   carats/text: troncare do [ SI / 0.0002 ]

   grains/text: troncare do [ SI / 0.000065 ]

   ounces/text: troncare  do [ SI / 0.02835 ]

   pounds/text: troncare do [ SI / 0.4536 ]

   tons/text: troncare do [ SI / 1016.046909 ]

   set-face pannelli []

   ]

   



; Function to convert in Kelvin all the Temperature values and then reconvert

; all the other values 

inkelvin:  func [ misura  unit ]

   [

   conv: 0 

   misura: to-decimal misura

   if unit = "celsius" [ SI: misura + 273.15 

                         conv: 1 ]

   if unit = "kelvin" [SI: misura ] 

   if unit = "far" [ SI: ( ( misura - 32)  * 5 / 9 ) + 273.15 ]

   kelvin/text:  troncare SI

   celsius/text: troncare do [ SI - 273.15  ]

   far/text: troncare do [  ( SI - 273.15 ) *  9 / 5  + 32  ]

   if SI < 0 [alert "IMPOSSIBLE! TEMPERATURE BELOW ABSOLUTE ZERO!"]

   set-face pannelli []

   ]



; Function to convert in Pascal all the pressure values and then reconvert

; all the other values 



inpascal: func [misura unit]

  [

  conv: 0

  misura: to-decimal misura

  if unit = "pascal" [ conv: 1]

  if unit = "kpascal" [ conv: 1000]

  if unit = "Mpascal" [conv: 1000000]

  if unit = "atm" [conv: 101325]

  if unit = "bar" [conv: 100000]

  if unit = "mbar" [conv: 100]

  if unit = "inHg" [conv: 3386.388]

  if unit = "inW" [conv: 249.08891]

  if unit = "feetW" [conv: 2989.06692]

  if unit = "psi" [conv: 6894.757]

  if unit = "mW" [conv: 9806.22552]

  if unit = "mmHg" [conv: 133.2320229]

  if unit = "mmW"  [conv: 9.806]

  if unit = "kgcm2" [conv: 98066.5]

  SI: misura * conv

  pascal/text: troncare SI

  kpascal/text: troncare (SI / 1000)

  Mpascal/text: troncare (SI /  1000000 )

  atm/text: troncare ( SI / 101325 )

  bar/text: troncare ( SI / 100000 )

  mbar/text: troncare ( SI / 100 )

  inHg/text: troncare (SI / 3386.388 )

  inW/text: troncare (SI / 249.08891)

  feetW/text: troncare (SI / 2989.06692)

  psi/text: troncare (SI / 6894.757)

  mW/text: troncare (SI / 9806.22552)

  mmHg/text: troncare (SI / 133.2320229)

  mmW/text: troncare (SI / 9.806)

  kgcm2/text: troncare (SI / 98066.5)

  set-face pannelli []

]



;Every time user clicks on a dimension the right panel appears

;here are described all the panels





;Leight panel

lunghezze: layout [

        across        

        metri: field  [ inmetri metri/text "Metri"]

        text "m (meters)"

        return

        mm: field [inmetri mm/text "mm"]

        text "mm (millimeters)"

        return

        pollici: field   [ inmetri pollici/text "Pollici"]

        text "^" (inches)"  ; ^" means ''

        return

        piedi: field    [ inmetri piedi/text "Piedi"]

        text "feet"

        return

        yards: field    [ inmetri yards/text "Yards"]

        text "yards"

        return

        miglia: field   [ inmetri miglia/text "Miglia"]

        text "miles"

]

lunghezze/offset: 0x0





;Areas panel

aree: layout [

        across

        metri2: field     [ inmetri2 metri2/text "metri2"]

        text "m2 (square meters)"

        return

        acres: field  [ inmetri2 acres/text "acres"]

        text "acres"

        return

        ettari: field    [ inmetri2 ettari/text "ettari"]

        text "ettari"

        return

        inches2: field    [ inmetri2 inches2/text "inches2"]

        text "square inches"

        return

        miles2: field   [ inmetri2 miles2/text "miles2"]

        text "square miles"

        return

        yards2: field   [ inmetri2 yards2/text "yards2"]

        text "square yards"

        ]

aree/offset: 0x0



;Volume panel

volume: layout [

        across

        metri3: field  [ inmetri3  metri3/text "metri3"]

        text "m3 (cubic meters)"

        return

        dm3: field  [ inmetri3  dm3/text "dm3"]

        text "dm3 (cubuc decimeters)"

        return

        cm3: field  [ inmetri3  cm3/text "cm3"]

        text "cm3 (cubic centimeters)"

        return

        liters: field  [ inmetri3  liters/text "liters"]

        text "l (liters)"

        return

	cl: field  [ inmetri3  cl/text "cl"]

        text "cl (centiliters)"

        return

	ml: field  [ inmetri3  ml/text "ml"]

        text "ml (milliliters)"

        return

        feet3: field  [ inmetri3  feet3/text "feet3"]

        text "feet3 (cubic feet)"

        return 

        inch3: field  [ inmetri3  inch3/text "inch3"]

        text "inch3 (cubic inches)"

        return

        onces: field [inmetri3 onces/text "onces"]

        text "ounces"

        return

        cups: field  [ inmetri3  cups/text "cups"]

        text "cups"

        return

        gallons: field  [ inmetri3  gallons/text "gallons"]

        text "gallons"

        return

        pints: field  [ inmetri3  pints/text "pints"]

        text "pints"

        return

        quarts: field  [ inmetri3  quarts/text "quarts"]

        text "quarts"

        return

        tablespoons: field  [ inmetri3  tablespoons/text "tablespoons"]

        text "table spoons"

        return

        teaspoons: field  [ inmetri3  teaspoons/text "teaspoons"]

        text "tea spoons"

          ]

volume/offset: -20x-20





;Weight panel

massa: layout [

          across

          kg: field  [ inkilos  kg/text "kg"]

          text "kg"

			return

			g: field [ inkilos g/text "g" ]

			text "g (grams)"

          return

          carats: field  [ inkilos  carats/text "carats"]

          text "carats"

          return

          grains: field  [ inkilos  grains/text "grains"]

          text "grains"

          return

          ounces: field  [ inkilos  ounces/text "ounces"]

          text "ounces"

          return

          pounds: field  [ inkilos  pounds/text "pounds"]

          text "pounds (lbs)"

          return

          tons: field  [ inkilos  tons/text "tons"]

          text "tons (in UK)"         

          ]

massa/offset: 0x0



;Temperature panel

temperatura: layout [

          across   

          kelvin: field  [ inkelvin  kelvin/text "kelvin"]

          text "K"

          return

          celsius: field [ inkelvin  celsius/text "celsius"]

          text "^°C"

          return

          far: field  [ inkelvin  far/text "far"]

          text "^°F"   

          ]

temperatura/offset: 0x0





;Pressure panel

pressione: layout [

      across

      pascal: field  [ inpascal  pascal/text "pascal"]

          text "Pa"

          return

          kpascal: field [ inpascal  kpascal/text "kpascal"]

          text "kPa"

          return

          Mpascal: field [ inpascal  Mpascal/text "Mpascal"]

          text "MPa"

          return

          kgcm2: field [ inpascal kgcm2/text "kgcm2"]

          text "kg/cm2"

          return

          atm: field  [ inpascal  atm/text "atm"]

          text "atm"

          return

          bar: field  [ inpascal  bar/text "bar"]

          text "bar"

          return

          mbar: field  [ inpascal  mbar/text "mbar"]

          text "mbar"

          return

          mmHg: field  [ inpascal  mmHg/text "mmHg"]

          text "millimeters of Hg"

          return

          inHg: field  [ inpascal  inHg/text "inHg"]

          text "inches of Hg"

          return

          mW: field  [ inpascal  mW/text "mW"]

          text "meters of Water"

          return

          mmW: field  [ inpascal  mmW/text "mmW"]

          text "millimeters of Water"

          return

          inW: field  [ inpascal  inW/text "inW"]

          text "inches of Water"

          return

          feetW: field [ inpascal feetW/text "feetW"]

          text "feet of Water"

          return

          psi: field [ inpascal psi/text "psi" ]

          text "psi (pounds / square inch)"

                    

          ]

pressione/offset: -20x-20



;Time panel

tempo: layout [

    across

    sec: field [ insec sec/text "sec" ]

    text "s (seconds)"

    return

    minut: field [insec minut/text "minut"]

    text "min"

    return

    hours: field [insec hours/text "hours"]

    text "hours"

    return

    day: field [insec day/text "day"]

    text "days"

    return

    weeks: field [insec weeks/text "weeks"]

    text "weeks"

    return

    years: field [insec years/text "years"]

    text "years"

]

tempo/offset: 0x0





;Function to convert time in seconds,

;and then reconvert all other values

insec: func [ misura  unit ]

   [

   conv: 0 

   misura: to-decimal misura

   if unit = "sec" [ conv: 1]

   if unit = "minut" [ conv: 60]

   if unit = "hours" [ conv: 3600 ]

   if unit = "day" [ conv: 86400 ]

   if unit = "weeks" [ conv: 604800]

   if unit = "years" [ conv: 31536006]

   SI: misura * conv

   sec/text: troncare SI

   minut/text: troncare (SI / 60)

   hours/text: troncare (SI / 3600)

   day/text: troncare (SI / 86400)

   weeks/text: troncare (SI / 604800)

   years/text: troncare ( SI / 31536006)

   set-face pannelli []

   ]



   

;Speed panel

velocita: layout [

    across

    metpersec: field [ inmetpersec metpersec/text "metpersec" ]

    text "m/s  (meters per second)"

    return

    metpermin: field [inmetpersec metpermin/text "metpermin"]

    text "m/min (meters per minute)"

    return

    metperhour: field [inmetpersec metperhour/text "metperhour"]

    text "m/h (meters per hour)"

    return

    kmpersec: field [inmetpersec kmpersec/text "kmpersec"]

    text "km/s"

    return

    kmperh: field [inmetpersec kmperh/text "kmperh"]

    text "km/h"

    return

    feetpersec: field [inmetpersec feetpersec/text "feetpersec"]

    text "fps (feet per second)"

    return

    feetpermin: field [inmetpersec feetpermin/text "feetpermin"]

    text "fpm (feet per minute)"

    return

    feetperhour: field [inmetpersec feetperhour/text "feetperhour"]

    text "fph (feet per hour)"

    return

    milepers: field [inmetpersec milepers/text "milepersec"]

    text "mps (mile per second)"

    return

    mileperh: field [inmetpersec mileperh/text "mileperh"]

    text "mph (mile per hour)"

    return

    knots: field [inmetpersec knots/text "knots"]

    text "knots"

    return

    mach: field [inmetpersec mach/text "mach"]

    text "Mach"

    

]

velocita/offset: 0x0





;Function to convert speed in meters per second,

;and then reconvert all other values

inmetpersec: func [ misura  unit ]

   [

   conv: 0 

   misura: to-decimal misura

   if unit = "metpersec" [ conv:  1]

   if unit = "metpermin" [ conv:  0.016667 ]

   if unit = "metperhour" [ conv:  0.000278 ]

   if unit = "kmpersec" [ conv: 1000 ]

   if unit = "kmperh" [ conv: 0.277778]

   if unit = "feetpersec" [ conv: 0.3048]

   if unit = "feetpermin" [ conv: 0.00508]

   if unit = "feetperhour" [ conv: 0.000085]

   if unit = "milepersec" [ conv: 1609.344]

   if unit = "mileperh" [ conv: 0.44704]

   if unit = "knots" [ conv: 0.514444]

   if unit = "mach" [ conv:  340.2933]

   SI: misura * conv

   metpersec/text: troncare SI

   metpermin/text: troncare (SI / 0.016667)

   metperhour/text: troncare (SI / 0.000278)

   kmpersec/text: troncare (SI / 1000 )

   kmperh/text: troncare (SI / 0.277778)

   feetpersec/text: troncare ( SI / 0.3048)

   feetpermin/text: troncare ( SI / 0.00508)

   feetperhour/text: troncare ( SI / 0.000085 )

   mileperh/text: troncare ( SI / 0.44704 )

   milepers/text: troncare ( SI / 1609.344 )

   knots/text: troncare ( SI / 0.514444 )

   mach/text: troncare ( SI / 340.2933 )

   set-face pannelli []

   ]



 

;flow panel

portata: layout [

    across

    m3ps: field [ inm3psec m3ps/text "m3ps" ]

    text "m3/s  (cubic meters per second)"

    return

    m3pmin: field [ inm3psec m3pmin/text "m3pmin" ]

    text "m3/min  (cubic meters per minut)"

    return

    m3ph: field [ inm3psec m3ph/text "m3ph" ]

    text "m3/h  (cubic meters per hour)"

    return

    lps: field [ inm3psec lps/text "lps" ]

    text "l/s  (liters per second)"

    return

    lpmin: field [ inm3psec lpmin/text "lpmin" ]

    text "l/min  (liters per minute)"

    return

    lph: field [ inm3psec lph/text "lph" ]

    text "l/h  (liters per hour)"

    return

    cfh: field [ inm3psec cfh/text "cfh" ]

    text "cfh  (cubic feet per hour)"

    return

    cfmin: field [ inm3psec cfmin/text "cfmin" ]

    text "cfm  (cubic feet per minute)"

    return

    ccpmin: field [ inm3psec ccpmin/text "ccpmin" ]

    text "cc/min  (cubic centimeters per minute)"

    return

    gallh: field [ inm3psec gallh/text "gallh" ]

    text "gal/h  (gallons per hour)"

    return

    gallmin: field [ inm3psec gallmin/text "gallmin" ]

    text "gal/min  (gallons per minute)"

    return

    ]

portata/offset: -20x-20   





;Function to convert flow in cubic meters per second,

;and then reconvert all other values

inm3psec: func [ misura  unit ]

   [

   conv: 0 

   misura: to-decimal misura

   if unit = "m3ps" [ conv:  1]

   if unit = "m3pmin" [ conv:  0.01666666666667]

   if unit = "m3ph" [ conv:  0.00027777777778 ]

   if unit = "lps" [ conv:  0.001 ]

   if unit = "lpmin" [ conv:  0.000016667 ]

   if unit = "lph" [conv: 0.00000027777778]

   if unit = "cfh" [ conv: 0.00000786583333 ]

   if unit = "cfmin" [ conv: 0.000471947 ]

   if unit = "ccpmin" [ conv: 0.00000001666667]

   if unit = "gallh" [ conv: 0.000001263 ]

   if unit = "gallmin" [ conv: 0.000075766666667]

   SI: misura * conv

   m3ps/text: troncare SI

   m3pmin/text: troncare (SI / 0.01666666666667)

   m3ph/text: troncare (SI / 0.00027777777778 )

   lps/text: troncare (SI / 0.001)

   lpmin/text: troncare (SI / 0.000016667)

   lph/text: troncare (SI / 0.00000027777778)

   cfh/text: troncare (SI / 0.00000786583333 )

   cfmin/text: troncare (SI /  0.000471947 )

   ccpmin/text: troncare ( SI / 0.00000001666667)

   gallh/text: troncare ( SI /  0.000001263)

   gallmin/text: troncare ( SI / 0.000075766666667 )

   set-face pannelli []

   ]

   

   

;flow panel

energia: layout [

    across

    joule: field [ injoule joule/text "joule" ]

    text "J (Joule)"

    return

    kjoule: field [ injoule kjoule/text "kjoule" ]

    text "kJ (kiloJoule)"

    return

    cal: field [ injoule cal/text "cal" ]

    text "cal (calories)"

    return

    kcal: field [ injoule kcal/text "kcal" ]

    text "kcal (kilocalories)"

    return

    kwh: field [ injoule kwh/text "kwh" ]

    text "kWh (kiloWatt hour)"

    return

    btu: field [ injoule btu/text "btu" ]

    text "btu (British thermal units)"

    return

    ev: field [ injoule ev/text "ev" ]

    text "eV (electron Volts)"

    return

    ergs: field [ injoule ergs/text "ergs" ]

    text "ergs"

    return

    tTNT: field [ injoule tTNT/text "tTNT" ]

    text "tons of TNT"

    

    ]

energia/offset: 0x0   





;Function to convert energy in Joule,

;and then reconvert all other values

injoule: func [ misura  unit ]

   [

   conv: 0 

   misura: to-decimal misura

   if unit = "joule" [ conv:  1]

   if unit = "kjoule" [ conv:  1000 ]

   if unit = "cal" [ conv:  4.187 ]

   if unit = "kcal" [ conv: 4187 ]

   if unit = "kwh" [ conv: 3600000]

   if unit = "btu" [ conv: 1055 ]

   if unit = "ev" [ conv: 1.602e-19]

   if unit = "ergs" [ conv: 1e-7 ]

   if unit = "tTNT" [ conv: 4184000000 ]

   SI: misura * conv

   joule/text: troncare SI

   kjoule/text: troncare (SI / 1000)

   cal/text: troncare (SI / 4.187)

   kcal/text: troncare (SI / 4187 )

   kwh/text: troncare (SI / 3600000 )

   btu/text: troncare ( SI / 1055)

   ev/text: troncare ( SI / 1.602e-19 )

   ergs/text: troncare ( SI / 1e-7)

   tTNT/text: troncare ( SI / 4184000000)

   set-face pannelli []

   ]

   

   



   



   

   

;***********************************

;***********************************   

;The main window   

view layout  [

 text-list "Lenght" 

           "Area" 

           "Volume" 

           "Mass" 

           "Temperature" 

           "Pressure" 

           "Time" 

           "Speed" 

           "Flow"

           "Energy/Work" [

    if value = "Lenght" [   pannelli/pane: lunghezze   show pannelli]

    if value = "Area" [   pannelli/pane: aree   show pannelli]

    if value = "Volume" [   pannelli/pane: volume   show pannelli]

    if value = "Mass" [   pannelli/pane: massa   show pannelli]

    if value = "Temperature" [   pannelli/pane: temperatura   show pannelli]

    if value = "Pressure" [   pannelli/pane: pressione   show pannelli]

    if value = "Time" [ pannelli/pane: tempo   show pannelli]

    if value = "Speed" [pannelli/pane: velocita   show pannelli]

    if value = "Flow" [pannelli/pane: portata   show pannelli]

    if value = "Energy/Work" [pannelli/pane: energia   show pannelli]

 ]

 return



 across

 ;Decimals buttons control the number of digits after the dot

 vtext "Digits"

 cifredecimali: vtext "3"



 button 20x20 "+" [ decimali: decimali * 0.1

              if decimali > 0.1 [decimali: 0.1]

              cifra: to-integer cifredecimali/text

              cifra: cifra + 1

              if cifra < 1 [ cifra: 1]

              cifredecimali/text: cifra

              show cifredecimali

             ]

 button 20x20 "-" [ decimali: decimali / 0.1

              if decimali > 0.1 [decimali: 0.1]

              cifra: to-integer cifredecimali/text

              cifra: cifra - 1

              if cifra < 1 [ cifra: 1]

              cifredecimali/text: cifra

              show cifredecimali

             ]

 return

 button "Info" [ 

                view/new/offset/title layout  [

                   

                    vh2 "INFO"  

                    text "This unit converte is open source. Visit:"

                    text "https://sourceforge.net/projects/tbunitconverter/" bold

                    text "or"

                    text "http://www.rebol.org" bold 

                    image logo.gif

                    text " to download the last version." 

                    text "Author: Massimiliano Vessi"

                    across

                    text "email:  "

                    text bold "maxint@tiscali.it"

                   	return

                    button "Close" [unview] 

                    

                    

                    ] 100x100 "Info"

                ]

 

 return

 text version

 

 

 below

 

 return

 pannelli: box  400x440

 return 

 logo-bar 24x440



]