Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2003
    Messaggi
    2,008

    controllo utente che non va

    Ciao, premeto che tutto il codice che sto usando l' ho copiato dal libro.
    Dunque il controllo utente dovrebbe fare una calcolatrice e questo e il codice che mi da errore
    codice:
    <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 vechio 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 = ""
    		hiddenoperator.value = ""
    	End Sub
    	
    	Sub btNumber_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"
    		hiddenoperator.value = ""
    		hiddenvalue.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 select
    	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 width="250">
    	<tr>
    		<td width="100%" colspan="7">
    			<asp:TextBox ID="tbNumber" runat="server"
    				text="0"
    				enabled="false"
    				width="100%" />
    		</td>
    	</tr>
    	<tr>
    		<td align="right" width="100%" colspan="7">
    			<asp:Label ID="Indicator" Text="" runat="server" />
    			<asp:Button ID="btBS" Text="Backspace"
    				OnClick="btBS_Click" runat="server" Width="75" />
    			<asp:Button ID="btClear" Text="C"
    				OnClick="btClear_Click" runat="server" Width="35" />
    		</td>
    	</tr>
    	<tr>
    		<td width="32" valign="top">
    			<asp:Button ID="btMC" Text="MC"
    				OnClick="btMemory_Click" runat="server"
    				width="35" />
    		</td>
    		<td width="58"></td>
    		<td width="32">
    			<asp:Button ID="bt7" Text="7"
    				OnClick="btNumber_Click" runat="server"
    				width="35" />
    
    </p>
    		</td>		
    		<td width="32">
    			<asp:Button ID="bt8" Text="8"
    				OnClick="btNumber_Click" runat="server"
    				width="35" />
    
    </p>
    		</td>
    		<td width="32">
    			<asp:Button ID="bt9" Text="9"
    				OnClick="btNumber_Click" runat="server"
    				width="35" />
    
    </p>
    		</td>
    		<td width="32">
    			<asp:Button ID="btDivide" Text="/"
    				OnClick="btOperator_Click" runat="server"
    				width="35" />
    
    </p>
    		</td>
    		<td width="32">
    			<asp:Button ID="btSqrt" Text="sqrt"
    				OnClick="btSpecOperator_Click" runat="server"
    				width="35" />
    
    </p>
    		</td>
    	</tr>
    	<tr>
    		<td width="32" valign="top">
    			<asp:Button ID="btMR" Text="MR"
    				OnClick="btMemory_Click" runat="server"
    				width="35" />
    		</td>
    		<td width="8"></td>
    		<td width="32">
    			<asp:Button ID="bt4" Text="4"
    				OnClick="btNumber_Click" 
    				runat="server" width="35" />
    
    </p>
    		</td>
    		<td width="32">
    			<asp:Button ID="bt5" Text="5"
    				OnClick="btNumber_Click" runat="server"
    				width="35" />
    
    </p>
    		</td>
    		<td width="32">
    			<asp:Button ID="bt6" Text="6"
    				OnClick="btNumber_Click" runat="server"
    				width="35" />
    
    </p>
    		</td>
    		<td width="32">
    			<asp:Button ID="btMultiply" Text="*"
    				OnClick="btOperator_Click" runat="server"
    				width="35" />
    
    </p>
    		</td>
    		<td width="32">
    			<asp:Button ID="btPercent" Text="%"
    				OnClick="btOperator_Click" runat="server"
    				width="35" />
    
    </p>
    		</td>
    	</tr>
    	<tr>
    		<td width="32" valign="top">
    			<asp:Button ID="btMS" Text="MS"
    				OnClick="btMemory_Click" runat="server"
    				width="35" />
    
    </p>
    		</td>
    		<td width="8"></td>
    		<td width="32">
    			<asp:Button ID="bt1" Text="1"
    				OnClick="btNumber_Click" runat="server"
    				width="35" />
    
    </p>
    		</td>
    		<td width="32">
    			<asp:Button ID="bt2" Text="2"
    				OnClick="btNumber_Click" runat="server"
    				width="35" />
    
    </p>
    		</td>
    		<td width="32">
    			<asp:Button ID="bt3" Text="3"
    				OnClick="btNumber_Click" runat="server"
    				width="35" />
    
    </p>
    		</td>
    		<td width="32">
    			<asp:Button ID="btSubtract" Text="-"
    				OnClick="btOperator_Click" runat="server"
    				width="35" />
    
    </p>
    		</td>
    		<td width="32">
    			<asp:Button ID="btOneOver" Text="1/x"
    				OnClick="btSpecOperator_Click" runat="server"
    				width="35" />
    
    </p>
    		</td>
    	</tr>
    	<tr>
    		<td width="32" valign="top">
    			<asp:Button ID="btMP" Text="M+"
    				OnClick="btMemory_Click" runat="server"
    				width="35" />
    		</td>
    		<td width="8"></td>
    		<td width="32">
    			<asp:Button ID="bt0" Text="0"
    				OnClick="btNumber_Click" runat="server"
    				width="35" />
    
    </p>
    		</td>
    		<td width="32">
    			<asp:Button ID="btNegate" Text="+/-"
    				OnClick="btSpecOperator_Click" runat="server"
    				width="35" />
    
    </p>
    		</td>		
    		<td width="32">
    			<asp:Button ID="btDot" Text="."
    				OnClick="btNumber_Click" runat="server"
    				width="35" />
    
    </p>
    		</td>
    		<td width="32">
    			<asp:Button ID="btAdd" Text="+"
    				OnClick="btOperator_Click" runat="server"
    				width="35" />
    
    </p>
    		</td>
    		<td width="32">
    			<asp:Button ID="btEqual" Text="="
    				OnClick="btEqual_Click" runat="server"
    				width="35" />
    
    </p>
    		</td>
    	</tr>
    	</table>
    </asp:Panel>
    <input type="hidden" id="hiddenvalue" value="" 
    runat="server" >
    <input type="hidden" id="hiddenoperator" value="" 
    runat="server" >
    ed il file l' ho chiamato Calculator.ascx


    mentre il codice della pagina aspx che richiama il controllo è

    codice:
    <%@ Page Language="VB" %>
    <%@ Register TagPrefix="TYASPNET" TagName="Calculator" Src="Calculator.ascx" %>
    <html>
    
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1252" />
    <title>CALCOLATRICE</title>
    </head>
    
    <body>
    
    <form runat="server">
    <TYASPNET:Calculator id="Calc1"  runat="server" />
    </form>
    
    </body>
    
    </html>
    dove sta l' errore?

  2. #2
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887

    Re: controllo utente che non va

    dove sta l' errore?
    Quale errore ?

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2003
    Messaggi
    2,008
    Scusate ecco il link dove ho inserito la pagina con l' errore

  4. #4
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887
    Mi sembra che la funzione da te scritta (Operate) non l'abbia vista con il numero di argomenti da te specificato...Infatti si lamenta :

    Troppi argomenti per 'Private Function Operate(number1 As String, [number2 As String]) As Double'

    Cioè ne vede 2, mentre tu l'hai scritta con tre:
    operator as string, number1 as string, optional number2 as string = "1"

    Il primo non lo vede, indaga sul perchè... :master:

  5. #5
    Utente di HTML.it
    Registrato dal
    Jan 2003
    Messaggi
    2,008
    Si hai ragione ma portroppo per il momento non so dove intervenire perche non so ancora programmare asp.net e quindi se qualche esperto vuole cortesemente provare i file che ho postato per vedere dov'è l' errore sarebbe il massimo

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.