xCalc2
Publicado por EVERTON DA ROSA 02/01/2008
[ Hits: 5.260 ]
Homepage: http://everton3x.github.io
A segunda versão da xCalc sofreu diversos aprimoramentos, principalmente no que se refere aos atalhos de teclado para interação com a memória.
Atalhos:
q, w, e, r para incluir números na memória.
a, s, d, f para resgatar números da memória.
z, x, c, v para somar o número do visor ao valor da memória.
e u, i, o, p para subtrair o número do visor do valor da memória.
Esc apaga o visor e limpa todas as memórias.
<html>
<head>
<title>xCalc</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style>
#fita {
   display: block;
}
#visor {
   display: block;
}
#entrada {
   display: block;
   background-color: Silver;
}
input, textarea {
   border: thin solid Black;
}
</style>
<script language="JavaScript">
var entrada;
var visor;
var fita;
function focar(){
   entrada = document.getElementById('entrada');
   visor = document.getElementById('visor');
   fita = document.getElementById('fita');
   entrada.focus();
}
function calcula(){
   var expressao = entrada.value;
   var resultado = eval(expressao);
   visor.value = resultado;
   entrada.value = resultado;
   fita.value += expressao + '\n' + '= ' + resultado + '\n' + '************** \n';
   fita.scrollTop = fita.scrollHeight;
   focar();
}
function limpaEntrada(){
   entrada.value = '';
   window.event.keyCode = false;
}
function limpaMemorias(){
   document.getElementById('mem1').value = '';
   document.getElementById('mem2').value = '';
   document.getElementById('mem3').value = '';
   document.getElementById('mem4').value = '';
   window.event.keyCode = false;
}
function putMem(id){
   var mem = document.getElementById(id);
   mem.value = visor.value;
}
function getMem(id){
   var mem = document.getElementById(id);
   entrada.value += mem.value;
}
function sumMem(id){
   var mem_ = parseFloat(document.getElementById(id).value);
   var visor_ = parseFloat(visor.value);
   var valor = mem_ + visor_;
   document.getElementById(id).value = valor;
}
function minusMem(id){
   var mem_ = parseFloat(document.getElementById(id).value);
   var visor_ = parseFloat(visor.value);
   var valor = mem_ - visor_;
   document.getElementById(id).value = valor;
}
function checkKey(){
   var key = window.event.keyCode;
   if(key == 44){
      window.event.keyCode = 46;
   }
   
   if(key == 13){
      calcula();
   }
   if(key == 27){
      limpaEntrada();
   }
   if(key == 39){
      limpaMemorias();
   }
   
   if(key == 113){
      putMem('mem1');
      window.event.keyCode = false;
   }
   if(key == 119){
      putMem('mem2');
      window.event.keyCode = false;
   }
   if(key == 101){
      putMem('mem3');
      window.event.keyCode = false;
   }
   if(key == 114){
      putMem('mem4');
      window.event.keyCode = false;
   }
   
   if(key == 97){
      getMem('mem1');
      window.event.keyCode = false;
   }
   if(key == 115){
      getMem('mem2');
      window.event.keyCode = false;
   }
   if(key == 100){
      getMem('mem3');
      window.event.keyCode = false;
   }
   if(key == 102){
      getMem('mem4');
      window.event.keyCode = false;
   }
   
   if(key == 122){
      sumMem('mem1');
      window.event.keyCode = false;
   }
   if(key == 120){
      sumMem('mem2');
      window.event.keyCode = false;
   }
   if(key == 99){
      sumMem('mem3');
      window.event.keyCode = false;
   }
   if(key == 118){
      sumMem('mem4');
      window.event.keyCode = false;
   }
   
   if(key == 117){
      minusMem('mem1');
      window.event.keyCode = false;
   }
   if(key == 105){
      minusMem('mem2');
      window.event.keyCode = false;
   }
   if(key == 111){
      minusMem('mem3');
      window.event.keyCode = false;
   }
   if(key == 112){
      minusMem('mem4');
      window.event.keyCode = false;
   }
}
</script>
</head>
<body onload="focar();">
<table border="0">
   <tr>
      <td>
         <textarea id="fita" rows="10" cols="25" readonly></textarea>
         <input type="text" id="visor" size="30" readonly>
         <input type="text" id="entrada" size="30" onkeypress="checkKey()">
      </td>
      <td>
         <table border="0">
            <tr>
               <td></td>
               <td>></td>
               <td><</td>
               <td>+</td>
               <td>-</td>
            </tr>
            <tr>
               <td><input type="text" id="mem1" size="10" readonly></td>
               <td>q</td>
               <td>a</td>
               <td>z</td>
               <td>u</td>
            </tr>
            <tr>
               <td><input type="text" id="mem2" size="10" readonly></td>
               <td>w</td>
               <td>s</td>
               <td>x</td>
               <td>i</td>
            </tr>
            <tr>
               <td><input type="text" id="mem3" size="10" readonly></td>
               <td>e</td>
               <td>d</td>
               <td>c</td>
               <td>o</td>
            </tr>
            <tr>
               <td><input type="text" id="mem4" size="10" readonly></td>
               <td>r</td>
               <td>f</td>
               <td>v</td>
               <td>p</td>
            </tr>
         </table>
      </td>
   </tr>
</table>
</body>
</html>
Tabela paginada e com diferenciação de cor nas linhas
IA Turbina o Desktop Linux enquanto distros renovam forças
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Linux em 2025: Segurança prática para o usuário
Desktop Linux em alta: novos apps, distros e privacidade marcam o sábado
IA chega ao desktop e impulsiona produtividade no mundo Linux
Atualizando o Fedora 42 para 43
Como saber se o seu e-mail já teve a senha vazada?
Como descobrir se a sua senha já foi vazada na internet?
Warcraft II Remastered no Linux? (8)
Instalação dualboot Windows 11 e Debian 13 (7)
Programa fora de escala na tela do pc (37)
Mint Xfce não mantém a conexão no wi-fi (0)
Eu queria adicionar a incon do wifi e deixa transparente no fluxbox no... (0)









