Stò sperimentando una calcolatrice con codice controllo utente:
<script language="vb" runat="server">
private answer as double
Sub btOperator_Click(obj as object, e as eventargs)
if (hiddenvalue.value <> " " and hiddenvalue.value <> "0")
tbNumber.Text = Operate(obj.Text, hiddenvalue.value, tbNumber.Text)
hiddenvalue.value = " "
hiddenoperator.value = " "
else
"salva il vecchio numero come campo
"nascosto e ripulisci il text box
hiddenvalue.value = tbNumber.Text
hiddenoperator.value = obj.Text
tbNumber.Text = "0"
end if
End sub
Sub btSpecOperator_Click(obj as object, e as eventargs)
tbNumber.Text = Operate(obj.Text, hiddenvalue.value, tbNumber.Text)
hiddenvalue.value = tbNumber.Text
hiddenoperator.value = obj.Text
End sub
Sub btOperator_Click(obj as object, e as eventargs)
response.write(answer.ToString)
if tbNumber.Text <> "0" then
tbNumber.Text = tbNumber.Text & obj.Text
else
tbNumber.Text = obj.Text
answer = nothing
end if
end sub
Sub btClear_Click(obj as object, e as eventargs)
tbNumber.Text = "0"
hiddenvalue.value = " "
hiddenoperator.value = " "
end sub
Sub btBS_Click(obj as object, e as eventargs)
if tbNumber.Text <> "0" then
tbNumber.Text = Left(tbNumber.Text, len, (tbNumber.Text)-1)
end if
end sub
Sub btMemory_Click(obj as object, e as eventargs)
select case obj.text
case "MC"
Session("memory") = " "
Indicator.Text = " "
case "MS"
Session("memory") = tbNumber.Text
Indicator.Text = "M"
case "MR"
tbNumber.Text = Session("Memory")
case "M+"
end seclect
end sub
Sub btEqual_Click(obj as object, e as eventargs)
if hiddenvalue.value <> " " then
if hiddenoperator.value <> " " then
"opera i numeri
tbNumber.Text = Operate(hiddenoperator.value, hiddenvalue.value, tbNumber.Text)
hiddenvalue.value = " "
hiddenoperator.value = " "
answer = tbNumber.Text
else
"nessuna operazione
end if
else
"nessuna operazione
end if
end sub
private function Operate(operator as string, number1 as string, optional number2 as string = "1") as double
select case operator
case "+"
Operate = CDbl(number1) + CDbl(number2)
case ""
Operate = CDbl(number1) - CDbl(number2)
case "*"
Operate = CDbl(number1) * CDbl(number2)
case "/"
Operate = CDbl(number1) / CDbl(number2)
case "sqrt"
Operate = CDbl(Math.sqrt(number2))
case "1/x"
Operate = CDbl(1 / cdbl(number2))
case "+/-"
Operate = CDbl(-cdbl(number2))
end select
end function
</script>
<asp:Panel id="Frame" runat="server">
<table widht="250">
<tr>
<td widht="100%" colspan="7">
<asp:TextBox id="tbNumber" runat="server"
text="0"
enabled="false"
widht="100%" />
</td>
</tr>
<tr>
<td align="right" widht="100%" colspan="7">
<asp:Label id="Indicator" text=" " runat="server"/>
<asp:Button id="btBS" Text="Backspace"
OnClick= "btBS_Click runat="server" widht="75"/>
<asp:Button id="btClear" Text="C"
OnClick= "btClear_Click runat="server" widht="35"/>
</td>
</tr>
<tr>
<td widht="32%" valign="top">
<asp:button id="tbMC" Text="MC"
OnClick="btMemory_Click" runat="server"
widht="35"
</td>
<td widht="58"></td>
<td widht="32">
<asp:Button id="bt7" Text="7"
OnClick= "btClear_Click runat="server"
widht="35"/>
</td>
<td widht="32">
<asp:Button id="bt8" Text="8"
OnClick= "btClear_Click runat="server"
widht="35"/>
</td>
<td widht="32">
<asp:Button id="bt9" Text="9"
OnClick= "btClear_Click runat="server"
widht="35"/>
</td>
<td widht="32">
<asp:Button id="btDivide" Text="/"
OnClick= "btClear_Click runat="server"
widht="35"/>
</td>
<td widht="32">
<asp:Button id="btSqrt" Text="sqrt"
OnClick= "btClear_Click runat="server"
widht="35"/>
</td>
</tr>
<tr>
<td widht="32%" valign="top">
<asp:button id="tbMR" Text="MR"
OnClick="btMemory_Click" runat="server"
widht="35"
</td>
<td widht="8"></td>
<td widht="32">
<asp:Button id="bt4" Text="4"
OnClick= "btClear_Click runat="server"
widht="35"/>
</td>
<td widht="32">
<asp:Button id="bt5" Text="5"
OnClick= "btClear_Click runat="server"
widht="35"/>
</td>
<td widht="32">
<asp:Button id="bt6" Text="6"
OnClick= "btClear_Click runat="server"
widht="35"/>
</td>
<td widht="32">
<asp:Button id="btMultiply" Text="*"
OnClick= "btClear_Click runat="server"
widht="35"/>
</td>
<td widht="32">
<asp:Button id="btPercent" Text="%"
OnClick= "btClear_Click runat="server"
widht="35"/>
</td>
</tr>
<tr>
<td widht="32%" valign="top">
<asp:button id="tbMS" Text="MS"
OnClick="btMemory_Click" runat="server"
widht="35"
</td>
<td widht="8"></td>
<td widht="32">
<asp:Button id="bt1" Text="1"
OnClick= "btNumber_Click runat="server"
widht="35"/>
</td>
<td widht="32">
<asp:Button id="bt2" Text="2"
OnClick= "btNumber_Click runat="server"
widht="35"/>
</td>
<td widht="32">
<asp:Button id="bt3" Text="3"
OnClick= "btNumber_Click runat="server"
widht="35"/>
</td>
<td widht="32">
<asp:Button id="btSubtract" Text="-"
OnClick= "btOperator_Click runat="server"
widht="35"/>
</td>
<td widht="32">
<asp:Button id="btOneOver" Text="1/x"
OnClick= "btSpecOperator_Click runat="server"
widht="35"/>
</td>
</tr>
<tr>
<td widht="32%" valign="top">
<asp:button id="tbMP" Text="MP"
OnClick="btMemory_Click" runat="server"
widht="35"
</td>
<td widht="8"></td>
<td widht="32">
<asp:Button id="bt0" Text="0"
OnClick= "btNumber_Click runat="server"
widht="35"/>
</td>
<td widht="32">
<asp:Button id="btNegate" Text="+/-"
OnClick= "btSpecOperator_Click runat="server"
widht="35"/>
</td>
<td widht="32">
<asp:Button id="btDot" Text="."
OnClick= "btNumber_Click runat="server"
widht="35"/>
</td>
<td widht="32">
<asp:Button id="btAdd" Text="+"
OnClick= "btNumber_Click runat="server"
widht="35"/>
</td>
<td widht="32">
<asp:Button id="btEqual" Text="="
OnClick= "btNumber_Click runat="server"
widht="35"/>
</td>
</tr>
</table>
</asp:Panel>
<input type="hidden" id="hiddenvalue" value=" "
runat="server" >
<input type="hidden" id="hiddenoperator" value=" "
runat="server" >
e codice ASP.NET:
<%@ Page Language="VB" %>
<%@ Register TagPrefix="TYASPNET" TagName="Calculator" src="Calculator.ascx" %>
<html><body>
<form runat="server">
<TYASPNET:Calculator id="Calc1" runat="server"/>
</form>
</body></html>
Come va inserito correttamente nel codice controllo utente questo codice ASP.NET?Se qualcuno può rispondermi grazie.![]()
![]()
![]()
![]()