calculator.js 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108
  1. function Rechner()
  2. {
  3. //
  4. var oIframe=document.getElementById("Iframe");
  5. oIframe.src="Rechner/Rechner.html";
  6. }
  7. // обработчик нажатия цифровой кнопки
  8. function NumPressed(Num)
  9. {
  10. if (FlagNewNum)
  11. {
  12. Fcalc.ReadOut.value = Num;
  13. FlagNewNum = false;
  14. }
  15. else
  16. {
  17. if (Fcalc.ReadOut.value == "0")
  18. Fcalc.ReadOut.value = Num;
  19. else
  20. Fcalc.ReadOut.value += Num;
  21. }
  22. }
  23. // обработчик нажатия кнопки действия
  24. function Operation (Op)
  25. {
  26. var Readout = Fcalc.ReadOut.value;
  27. if (FlagNewNum && PendingOp != "=")
  28. {
  29. Fcalc.ReadOut.value = Currents;
  30. }
  31. else
  32. {
  33. FlagNewNum = true;
  34. if ( '+' == PendingOp )
  35. Currents += parseFloat(Readout);
  36. else if ( '-' == PendingOp )
  37. Currents -= parseFloat(Readout);
  38. else if ( '/' == PendingOp )
  39. Currents /= parseFloat(Readout);
  40. else if ( '*' == PendingOp )
  41. Currents *= parseFloat(Readout);
  42. else
  43. Currents = parseFloat(Readout);
  44. Fcalc.ReadOut.value = Currents;
  45. PendingOp = Op;
  46. }
  47. }
  48. // добавление десятичной точки с числу
  49. function Decimal()
  50. {
  51. var curReadOut = Fcalc.ReadOut.value;
  52. if (FlagNewNum) {
  53. curReadOut = "0.";
  54. FlagNewNum = false;
  55. }
  56. else
  57. {
  58. if (curReadOut.indexOf(".") == -1)
  59. curReadOut += ".";
  60. }
  61. Fcalc.ReadOut.value = curReadOut;
  62. }
  63. // меняем знак текущего результата
  64. function Neg()
  65. {Fcalc.ReadOut.value = parseFloat(Fcalc.ReadOut.value) * -1;}
  66. // вычисляем значение процентов
  67. function Percent()
  68. {Fcalc.ReadOut.value = parseFloat(Fcalc.ReadOut.value) / 100;}
  69. // Умножить на E
  70. function MultiplyE()
  71. {Fcalc.ReadOut.value = parseFloat(Fcalc.ReadOut.value) * Math.E;}
  72. // Умножить на Pi
  73. function MultiplyPi()
  74. {Fcalc.ReadOut.value = parseFloat(Fcalc.ReadOut.value) * Math.PI;}
  75. // меняем знак текущего результата
  76. function Qs()
  77. {Fcalc.ReadOut.value = parseFloat(Fcalc.ReadOut.value) * parseFloat(Fcalc.ReadOut.value);}
  78. function Qsq()
  79. {Fcalc.ReadOut.value = parseFloat(Fcalc.ReadOut.value) * parseFloat(Fcalc.ReadOut.value) * parseFloat(Fcalc.ReadOut.value);}
  80. // Очистка текущего результата
  81. function ClearEntry()
  82. {
  83. Fcalc.ReadOut.value = "0";
  84. FlagNewNum = true;
  85. }
  86. // Полная очистка всех результатов
  87. function Clear()
  88. {
  89. Currents = 0;
  90. PendingOp = "";
  91. ClearEntry();//
  92. }
  93. // Таблица
  94. function TabRehne()
  95. {
  96. TabReh.style['position'] = 'absolute';
  97. TabReh.style['top'] = '2px';
  98. TabReh.style['left'] = '3px';
  99. TabReh.style['width'] = '410px';
  100. TabReh.style['height'] = '280px';
  101. TabReh.style['text-align'] = 'center';
  102. TabReh.style['border'] = '3px double #777';
  103. TabReh.style['backgroundColor'] = 'PaleGreen';
  104. for (i=0;i<=4;i++)
  105. TabReh.rows[i].style.backgroundColor = 'AliceBlue';
  106. }