TP on Social Media

User

June 05, 2023, 08:52:25 PM

Stats

Stats
• Total Posts: 194,367
• Total Topics: 21,157
• Online today: 110
• Online ever: 3,540
• (September 03, 2022, 01:38:54 AM)
Users: 1
Guests: 70
Total: 71

A calculator on a script/html block, may be ?

Started by elpvn, May 18, 2006, 02:35:30 PM

0 Members and 1 Guest are viewing this topic.

elpvn

Try this co
`<SCRIPT>LastOper     = '';TempVal      = 0;NewNum       = 'Y';Memval       = 0;Dotused      = "N";Curroption   = 4;Maxoption    = 19;FirstinXonY  = '';Statelements = [0];n            = 0;Ave          = 0;Max          = 1.1111111234;Min          = 1.1111111234;Dummymaxmin  = 1.1111111234;Sum          = 0;additionalfunctions = ["x^2", "2^x", "x^y", "x^3", " n!  ", "Log", " Pi ", " h ", "Tan", "Cot", "Sin", "Cos", "Add", "Sum", "Ave", "Max", "Min", " n ", "Clr St", "Sta"];  function backspace() {  strlen = document.calc.Results.value.length;  if (strlen > 1 && document.calc.Results.value != "0."){document.calc.Results.value =  document.calc.Results.value.substring(0,strlen-1);}  document.calc.EQ.focus();}function Onediv(){  if (document.calc.Results.value == '0.')  {     document.calc.Results.value = "Can't Devide By 0";  }   else  {    document.calc.Results.value = 1 / document.calc.Results.value;    NewNum = "Y";  }  document.calc.EQ.focus();}function MoreOptions(){  if (Curroption > Maxoption) {Curroption = 0;}  document.calc.opt1.value = additionalfunctions[Curroption++];  if (Curroption > Maxoption) {Curroption = 0;}  document.calc.opt2.value = additionalfunctions[Curroption++];  if (Curroption > Maxoption) {Curroption = 0;}  document.calc.opt3.value = additionalfunctions[Curroption++];  if (Curroption > Maxoption) {Curroption = 0;}  document.calc.opt4.value = additionalfunctions[Curroption++];  document.calc.EQ.focus();}function Advfunction(Pos){  Pos += Curroption;  Pos -= 4;  if (Pos < 0) {Pos = Maxoption + Pos;}  if (Pos == 0) {document.calc.Results.value *= document.calc.Results.value;}  if (Pos == 1) {                  Temp = 1;                  for (var I = 0 ;I < document.calc.Results.value; I++)                   {                   Temp *= 2;                  }                   document.calc.Results.value = Temp;                }  if (Pos == 2)  {                  if (FirstinXonY == '')                   {                    FirstinXonY = document.calc.Results.value;                  }                  else                  {                    Temp = FirstinXonY;                    for (var I = 1 ;I < document.calc.Results.value; I++)                     {                     Temp *= FirstinXonY;                    }                     document.calc.Results.value = Temp;                    FirstinXonY = '';                  }                }    if (Pos == 4){Temp = 0; for (var I = 1; I <= document.calc.Results.value;I++) {Temp += I} document.calc.Results.value = Temp;}   if (Pos == 6){document.calc.Results.value =  3.14159265359;}               if (Pos == 12)                {                 Statelements[++n] = document.calc.Results.value;                  Expres = "Sum = + +" + Sum + " + " + "+" + document.calc.Results.value;                 eval(Expres);                 Ave = Sum/n;                 Max = 1 * Max;                 Min = 1 * Min;                 if (Max < document.calc.Results.value || Max == Dummymaxmin) {Max = document.calc.Results.value;}                 if (Min > document.calc.Results.value || Min == Dummymaxmin) {Min = document.calc.Results.value;}                  }   if (Pos == 13){document.calc.Results.value = Sum;}    if (Pos == 14){document.calc.Results.value = Ave;}    if (Pos == 15){if (n > 0) {document.calc.Results.value = Max;}}    if (Pos == 16){if (n > 0) {document.calc.Results.value = Min;}}    if (Pos == 17){document.calc.Results.value = n;}    if (Pos == 18)                {                 Statelements = [0];                 n            = 0;                 Ave          = 0;                 Max          = 1.1111111234;                 Min          = 1.1111111234;                 Dummymaxmin  = 1.1111111234;                 Sum          = 0;                                 }   if (Pos == 19)                {                 if (n > 0)                 {                   myWindow = window.open("", "newwin", "toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=0,resizable=0,copyhistory=0,width=200,height=180,left=400,top=300");                   myWindow.document.open();                   myWindow.document.write("<HTML><HEAD>");                   myWindow.document.write("<TITLE>Statistics</TITLE>");                   myWindow.document.write("</HEAD><FORM><BODY BGCOLOR=#FFFFFF TEXT=black>\n<CENTER>");                   myWindow.document.write("<TABLE ALIGN=CENTER>");                   myWindow.document.write("<TR><TD><B>n</B></TD><TD>: "  , n  , "</TD></TR>");                   myWindow.document.write("<TR><TD><B>Sum</B></TD><TD>: ", Sum, "</TD></TR>");                   myWindow.document.write("<TR><TD><B>Ave</B></TD><TD>: ", Ave, "</TD></TR>");                   myWindow.document.write("<TR><TD><B>Max</B></TD><TD>: ", Max, "</TD></TR>");                   myWindow.document.write("<TR><TD><B>Min</B></TD><TD>: ", Min, "</TD></TR>");                   myWindow.document.write("</TABLE>");                   myWindow.document.write(" <BR><INPUT TYPE='SUBMIT' VALUE='OK' onClick='window.close()'</FORM>\n</CENTER>");                   myWindow.document.write("</BODY></HTML>");                   myWindow.document.close();                 }                 else                 {                   myWindow = window.open("", "newwin", "toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=0,resizable=0,copyhistory=0,width=200,height=180,left=400,top=300");                   myWindow.document.open();                   myWindow.document.write("<HTML><HEAD>");                   myWindow.document.write("<TITLE> No Statistics</TITLE>");                   myWindow.document.write("</HEAD><FORM><BODY BGCOLOR=#FFFFFF TEXT=BLACK>\n<CENTER>");                   myWindow.document.write("<U><B>No Statistics</B></U><BR><BR>You did not add any item<BR>to the statistics<BR>To add items, use The<BR>'Add' Button");                   myWindow.document.write("<BR><BR><INPUT TYPE='SUBMIT' VALUE='OK' onClick='window.close()'</FORM></CENTER>");                   myWindow.document.write("</BODY></HTML>");                   myWindow.document.close();                 }                }  NewNum = 'Y';}     function SQRT(){  document.calc.Results.value = sqrt( document.calc.Results.value);  NewNum = "Y";  document.calc.EQ.focus();}function Percent(){  document.calc.Results.value *= TempVal / 100;  Dotused = "N";  NewNum = "Y";  document.calc.EQ.focus();} function Oper(OP){  if (LastOper == "+")  {     num1 = document.calc.Results.value;     Command = eval ("'+' + num1 +  '+' + TempVal");     document.calc.Results.value= eval (Command);  }      if (LastOper == "-")  {     num1 = document.calc.Results.value;     Command = "(document.calc.Results.value = TempVal - num1)";     eval (Command);  }   if (LastOper == "*")  {     num1 = document.calc.Results.value;     Command = "(document.calc.Results.value = TempVal * num1)";     eval (Command);  }   if (LastOper == "/")  {    if (document.calc.Results.value == '0.')    {       document.calc.Results.value = "Can't Devide By 0";    }     else    {      num1 = document.calc.Results.value;      Command = "(document.calc.Results.value = TempVal / num1)";      eval (Command);    }  } if (OP != "=") {   document.calc.oper.value = " " + OP; } else {   document.calc.oper.value =""; } NewNum = "Y"; LastOper = OP; TempVal = document.calc.Results.value ; document.calc.EQ.focus(); FirstinXonY = '';} function Analyzethis(Key){  if (Key >= "0" && Key <= "9" )  {    Digit(Key);  }  if (Key == "*" || Key == "-" || Key == "\\" || Key == "+" || Key == "=")  {    Oper(Key);  }  document.calc.EQ.focus();} function Memory(Mode){    if (Mode == "Clear")    {       document.calc.Mem.value="";       Memval = 0;         }     if (Mode == "Set")    {        document.calc.Mem.value = "M";        Memval = document.calc.Results.value;    }     if (Mode == "Add")    {        document.calc.Mem.value = "M";        Command = eval("'+' + document.calc.Results.value + '+' + Memval");        Memval = eval (Command);    }     if (Mode == "Read")    {        document.calc.Results.value = Memval;        NewNum = "Y";    }        document.calc.EQ.focus();}function Dot(){   if (NewNum == "Y")  {    document.calc.Results.value = "0.";    Dotused = "Y";    NewNum = "N";  }  if (Dotused == "N")  {    document.calc.Results.value += ".";    Dotused = "Y";  }              document.calc.EQ.focus();} function Changesign(){  document.calc.Results.value *= -1;  document.calc.EQ.focus();}function Digit(DG){  if (NewNum == "Y")   {    document.calc.Results.value=DG;    Dotused = "N";  }  else  {    document.calc.Results.value= document.calc.Results.value + DG;  }   if (document.calc.Results.value == '0')  {   document.calc.Results.value = '0.'  }  else  {   NewNum = "N";  }  document.calc.EQ.focus();}function Clear (Type){  document.calc.Results.value = '0.';   NewNum = 'Y';  if (Type == "ALL")  {     document.calc.oper.value ="";     LastOper = '';     TempVal = 0;  }  document.calc.EQ.focus();}</SCRIPT><TD onLoad="document.calc.EQ.focus()"><CENTER>   <FORM NAME=calc>   <BR>   <TABLE border=5>   <TR>       <TD COLSPAN = 6><INPUT TYPE = Text NAME=Results size=19 VALUE = '0.'  align=right  onFocus="this.blur()" >                       <INPUT TYPE = text NAME=oper    size=1  VALUE = ''    align=center onFocus="this.blur()">         </TD>   </TR>   <TR>       <TD align=center><INPUT TYPE = TEXT MAXLENGTH=1 SIZE=1 NAME=Mem onFocus="this.blur()"></TD>       <TD COLSPAN = 2 align=center> <INPUT TYPE=button VALUE='BkSp' onClick="backspace()"></TD>       <TD COLSPAN = 2 align=center> <INPUT TYPE=button VALUE='  CE ' onClick="Clear('Res')"></TD>       <TD COLSPAN = 1 align=center> <INPUT TYPE=button VALUE=' C ' onClick="Clear('ALL')"></TD>   </TR>        <TR>       <TD align=center><INPUT TYPE = button VALUE='MC' onClick="Memory('Clear')"></TD>       <TD align=center><INPUT TYPE = button VALUE=' 7 ' onClick="Digit(7)" NAME='D7'></TD>       <TD align=center><INPUT TYPE = button VALUE=' 8 ' onClick="Digit(8)" NAME='D8'></TD>       <TD align=center><INPUT TYPE = button VALUE=' 9 ' onClick="Digit(9)" ></TD>       <TD align=center><INPUT TYPE = button VALUE=' / ' onClick=" Oper('/') "></TD>       <TD align=center><INPUT TYPE = button VALUE='sqr' onClick="SQRT()"></TD>   </TR>   <TR>       <TD align=center><INPUT TYPE = button VALUE='MR' onClick="Memory('Read')" ></TD>       <TD align=center><INPUT TYPE = button VALUE=' 4 ' onClick="Digit(4)" ></TD>       <TD align=center><INPUT TYPE = button VALUE=' 5 ' onClick="Digit(5)" ></TD>       <TD align=center><INPUT TYPE = button VALUE=' 6 ' onClick="Digit(6)" ></TD>       <TD align=center><INPUT TYPE = button VALUE=' * ' onClick=" Oper('*')"></TD>       <TD align=center><INPUT TYPE = button VALUE=' % ' onClick="Percent()"></TD>   </TR>   <TR>       <TD align=center><INPUT TYPE = button VALUE='MS' onClick="Memory('Set')" ></TD>       <TD align=center><INPUT TYPE = button VALUE=' 1 ' onClick="Digit(1)" ></TD>       <TD align=center><INPUT TYPE = button VALUE=' 2 ' onClick="Digit(2)" ></TD>       <TD align=center><INPUT TYPE = button VALUE=' 3 ' onClick="Digit(3)" ></TD>       <TD align=center><INPUT TYPE = button VALUE=' - ' onClick="Oper('-')" ></TD>       <TD align=center><INPUT TYPE = button VALUE='1/x' onClick="Onediv()"></TD>   </TR>   <TR>       <TD align=center><INPUT TYPE = button VALUE='M+' onClick="Memory('Add')"></TD>       <TD align=center><INPUT TYPE = button VALUE=' 0 ' onClick="Digit(0)" ></TD>       <TD align=center><INPUT TYPE = button VALUE='+/-' onClick="Changesign()"></TD>       <TD align=center><INPUT TYPE = button VALUE='  . ' onClick="Dot()"></TD>       <TD align=center><INPUT TYPE = button VALUE=' +'  onClick=" Oper('+') " ></TD>       <TD align=center><INPUT TYPE = button VALUE=' =  ' onClick=" Oper('=')" NAME='EQ' onKeypress="Analyzethis('1')" ></TD>   </TR></TABLE><INPUT TYPE=button NAME=addfeatures VALUE="More Options" onClick="MoreOptions()"><TABLE border=0><TD>      </TD><TD><TABLE border=4>   <TR>       <TD><INPUT TYPE = button VALUE="x^2"  NAME=opt1 onClick="Advfunction(0)" onFocus="document.calc.EQ.focus()"></TD>       <TD><INPUT TYPE = button VALUE="2^x"  NAME=opt2 onClick="Advfunction(1)" onFocus="document.calc.EQ.focus()"></TD>       <TD><INPUT TYPE = button VALUE="x^y"  NAME=opt3 onClick="Advfunction(2)" onFocus="document.calc.EQ.focus()"></TD>       <TD><INPUT TYPE = button VALUE="x^3"  NAME=opt4 onClick="Advfunction(3)" onFocus="document.calc.EQ.focus()"></TD>   </TR></TABLE></TD> <TD> </TD></TR></TABLE></CENTER></FORM><p><center> <p></p> </center><p>                                                                                                          `

I just try once

akulion

I havent tested it yet...but thanks

Added to block code Snippet Index under "C" Calculator

Crip

Demo?
I have become comfortably numb!

Cripzone | Crip's Free 2.0.2 Themes

IchBin

I think it would be much better if we posted any "long" code snippets like this in a file attachment.

rbh

couldnt get it to work in a side block, it was all screwed up. it was a caculator, and it worked just fine, but the way it displayed on my site in a left block was all jacked up. it was suppose to be the second block but as you can see it placed itself beside the first block. anyways, i did put it in a small pop up and just placed a link to it and that worked.

URPG

How did you do the Popup?

theintensity

Quote from: URPG on May 30, 2006, 12:15:15 AM
How did you do the Popup?

`<a href="#" onClick="popupWindow('/URL','ITEM','width=??,height=??')">  NAME OF ITEM</a>`

URPG

Can someone tell me where to put the file, so i can use the "link" function of the menu block?

And... THIS is a nifty looking calculator, could someone do a "floating" calculator like this, adapting to themes maybe? http://javascript.internet.com/math-related/floating-calculator.html

misjka

Quote from: elpvn on May 18, 2006, 02:35:30 PM
Try this co

Ahh, worked like a charm and pretty advanced it  was too ! I added it in an article, since it requires some space...

Thanks!