StackTester.htm 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119
  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  2. <html>
  3. <head>
  4. <meta http-equiv="content-type" content="text/html; charset=windows-1250">
  5. <meta name="generator" content="PSPad editor, www.pspad.com">
  6. <title>Stack Tester</title>
  7. <script language="javascript" type="text/javascript" src="Stack.js"></script>
  8. <style>
  9. body {font-family: Verdana, Tahoma; font-size: 8pt; font-weight: normal}
  10. button {font-family: Verdana, Tahoma; font-size: 8pt; font-weight: bold; width: 100px; height: 24px;}
  11. textarea {font-family: Verdana, Tahoma; font-size: 8pt; font-weight: normal; border: 1px solid;}
  12. input {font-family: Verdana, Tahoma; font-size: 8pt; font-weight: normal; border: 1px solid;}
  13. </style>
  14. <script language="javascript">
  15. var myStack = new Stack();
  16. function pushValue()
  17. {
  18. var objFrm;
  19. var strVal;
  20. objFrm = document.frmMain;
  21. if (objFrm) strVal = objFrm.txtValue.value;
  22. if (strVal) myStack.Push(strVal);
  23. objFrm.txtValue.value = "";
  24. }
  25. function popValue()
  26. {
  27. var objFrm;
  28. var strVal;
  29. objFrm = document.frmMain;
  30. if (!myStack.IsEmpty())
  31. {
  32. strVal = myStack.Pop();
  33. objFrm.txtValue.value = strVal;
  34. }
  35. }
  36. function getValue()
  37. {
  38. var objFrm;
  39. var strVal;
  40. var intIndex = NaN;
  41. objFrm = document.frmMain;
  42. if (objFrm) intIndex = parseInt(objFrm.txtIndex.value);
  43. if (!isNaN(intIndex))
  44. {
  45. strVal = myStack.Get(intIndex);
  46. objFrm.txtValue.value = strVal;
  47. }
  48. }
  49. function showStack()
  50. {
  51. var objFrm;
  52. var strVal, strTemp;
  53. var intCntr = 0;
  54. if (myStack.IsEmpty())
  55. {
  56. alert ("No values stored on stack!");
  57. return;
  58. }
  59. strTemp = "";
  60. objFrm = document.frmMain;
  61. for (intCntr = 0; intCntr < myStack.Size(); intCntr++)
  62. {
  63. strVal = myStack.Get(intCntr);
  64. if (intCntr == 0)
  65. strTemp += "Stack[Top] = " + strVal + "\r\n";
  66. else
  67. strTemp += "Stack[Top + " + intCntr + "] = " + strVal + "\r\n";
  68. strVal = "";
  69. }
  70. objFrm.txtStack.value = strTemp;
  71. }
  72. </script>
  73. </head>
  74. <body>
  75. <form name="frmMain" id="frmMain" method="POST">
  76. <table>
  77. <tr>
  78. <td valign="top">
  79. <table>
  80. <tr>
  81. <td>Value : </td>
  82. <td><input type="text" name="txtValue" id="txtValue" size="20" /></td>
  83. </tr>
  84. <tr>
  85. <td colspan="2">
  86. <button id="btnPush" name="btnPush" onClick="javascript:pushValue()">Push</button>
  87. <button id="btnPop" name="btnPop" onClick="javascript:popValue()">Pop</button>
  88. </td>
  89. </tr>
  90. <tr>
  91. <td colspan="2">
  92. <button id="btnGet" name="btnGet" onClick="getValue()">Get</button>
  93. @&nbsp;<input type="text" size="2" maxlength="2" id="txtIndex" name="txtIndex" />
  94. </td>
  95. </tr>
  96. <tr>
  97. <td colspan="2">
  98. <button name="btnWalk" id="btnWalk" onClick="javascript:showStack()">Walk</button>
  99. </td>
  100. </tr>
  101. </table>
  102. </td>
  103. <td>
  104. <textarea id="txtStack" name="txtStack" cols="30" rows="10"></textarea>
  105. </td>
  106. </tr>
  107. </table>
  108. </form>
  109. </body>
  110. </html>