Subversion Repositories wimsdev

Rev

Rev 6362 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
3560 georgesk 1
!if $wims_read_parm!=slib_header
2
 !goto proc
3
!endif
4158 bpr 4
 
4351 bpr 5
slib_author=Georges, Khaznadar
3560 georgesk 6
slib_license=GPL
4158 bpr 7
 
3560 georgesk 8
slib_example= Angle :, Valeur trigonométrique :
9
!exit
10
 
11
:proc
12
!reset slib_aname, slib_vname, slib_code
13
slib_parm=!item 1 to 2 of $wims_read_parm
14
!distribute item $slib_parm into slib_aname, slib_vname
15
 
16
slib_code=<script type="text/javascript">\
6362 bpr 17
/*<![CDATA[*/\
3560 georgesk 18
  var a; /* angle en radian */\
19
  var v; /* valeur du sinus, cosinus ou tangente, sans unité */\
20
  function get_a(){\
21
    angle=document.getElementById("angle").value;\
22
    unite=document.getElementById("unite").value;\
23
    a=angle*unite;\
24
  }\
25
  function set_a(){\
26
    if (a=="undef"){\
27
      document.getElementById("angle").value="undef";\
28
    } else{\
29
      unite=document.getElementById("unite").value;\
30
      angle=a/unite;\
31
      document.getElementById("angle").value=angle;\
32
    }\
33
  }\
34
  function get_v(){\
35
    v=document.getElementById("trig-value").value;\
36
  }\
37
  function set_v(){\
38
    document.getElementById("trig-value").value=v;\
39
  }\
40
  function asin(){\
41
    get_v();\
42
    if (v<-1 || v >1){\
43
      a="undef";\
44
      set_a();\
45
    } else {\
46
      a=Math.asin(v);\
47
      set_a();\
48
    }\
49
  }\
50
  function sin(){\
51
    get_a();\
52
    v=Math.sin(a);\
53
    set_v();\
54
  }\
55
  function acos(){\
56
    get_v();\
57
    if (v<-1 || v >1){\
58
      a="undef";\
59
      set_a();\
60
    } else {\
61
      a=Math.acos(v);\
62
      set_a();\
63
    }\
64
  }\
65
  function cos(){\
66
    get_a();\
67
    v=Math.cos(a);\
68
    set_v();\
69
  }\
70
  function atan(){\
71
    get_v();\
72
    a=Math.atan(v);\
73
    set_a();\
74
  }\
75
  function tan(){\
76
    get_a();\
77
    v=Math.tan(a);\
78
    set_v();\
79
  }\
6362 bpr 80
/*]]>*/\
3560 georgesk 81
</script>\
82
<div id="calc-trigo" >\
83
<table style="padding:0.5em; border:3px ridge navy; background:lightcyan; -moz-border-radius: 1em;" >\
84
<tr>\
85
  <td colspan="6" style="text-align:center;" >\
86
    <b>Angle:</b>\
17173 bpr 87
    <input id="angle" value="0" style="text-align:right; border:3px ridge navy; -moz-border-radius: 0.5em;">&nbsp;\
3560 georgesk 88
    <select id="unite" style="text-align:right; border:3px ridge navy; -moz-border-radius: 0.5em;">\
89
      <option value="0.017453292519943295769">°&nbsp;</option>\
90
      <option value="1">rad&nbsp;</option>\
91
    </select >\
92
  </td>\
93
<tr>\
94
  <td><button onclick="sin(); return false;" style="border:2px outset navy; -moz-border-radius: 0.5em;" >&darr;sin</button></td>\
95
  <td><button onclick="asin(); return false;" style="border:2px outset navy; -moz-border-radius: 0.5em;" >&uarr;asin</button></td>\
96
  <td><button onclick="cos(); return false;" style="border:2px outset navy; -moz-border-radius: 0.5em;" >&darr;cos</button></td>\
97
  <td><button onclick="acos(); return false;" style="border:2px outset navy; -moz-border-radius: 0.5em;" >&uarr;acos</button></td>\
98
  <td><button onclick="tan(); return false;" style="border:2px outset navy; -moz-border-radius: 0.5em;" >&darr;tan</button></td>\
99
  <td><button onclick="atan(); return false;" style="border:2px outset navy; -moz-border-radius: 0.5em;" >&uarr;atan</button></td>\
100
</tr>\
101
<tr>\
102
  <td colspan="6" style="text-align:center;" >\
103
    <b>Value:</b> \
17173 bpr 104
    <input id="trig-value"  value="0" style="text-align:right; border:3px ridge navy; -moz-border-radius: 0.5em;">\
3560 georgesk 105
  </td>\
3561 bpr 106
</tr>\
3560 georgesk 107
</table>\
108
</div>
109
 
110
slib_code=!replace Angle: by $slib_aname in $slib_code
111
slib_code=!replace Value: by $slib_vname in $slib_code
112
 
113
slib_out=$slib_code