1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

Calculadora

Discussão em 'Programação' iniciada por adrianito323, 8 de Agosto de 2008. (Respostas: 1; Visualizações: 661)

  1. adrianito323

    adrianito323 Banido

    Como fasso uma calculadora parecida como a do Windows que tem os numeros para clickarmos mas também podermos usar o teclado?

    Projecto em Visual Basic.NET
     
  2. iznougud

    iznougud I quit My Job for Folding

    calculo que a parte de teres os botoes que funcionem como teclado deves saber fazer.

    Agora a parte de usar o teclado do pc e ignorar as operaçoes.

    Para isso usas o handler OnKeyDown da textbox, o que isto faz é que sempre que alguem carregue numa tecla, vai ser executada a tua função, e assim podes analisar a tecla premida e escolher o que queres fazer.

    Código:
    Dim oper As Integer = 0
    Dim clear As Boolean = False
    Dim valor As Double = 0
    	
    	
    Sub TextBox1KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs )
    		
    		
    		If e.KeyCode = keys.Multiply Then
    			e.SuppressKeyPress = True
    			oper = 1
    			clear = True
    			valor = CInt(TextBox1.Text )
    			exit sub
    		elseIf e.KeyCode = keys.Enter  Then
    			e.SuppressKeyPress = True
                            
                            if oper = 1
    			         valor = valor * cint(TextBox1.Text )
                            end if
    
    			TextBox1.Text = valor
    			valor = 0
    			clear = true
    		Else
    			If clear Then
    				TextBox1.Text = ""
    			End If
    		End If
    		
    		clear = False
    		
    	End Sub
    
    com e.SuppressKeyPress = True fazes com que as teclas especiais (*, /, +, -, enter, etc) não apareçam na textbox. Este meu exemplo so esta feito para numeros inteiros (usei CINT em vez de CDBL)

    Sempre que aparece uma tecla especial, eu suprimo-a, mudo o valor de "oper" para guardar a operação a executar e marco "clear" como TRUE, assim apago o valor inicial para poder inserir o 2º valor. Guardo tambem em "valor" o valor do 1º numero que quero usar na conta.

    Quando apanho o ENTER, basta ver que operacao tenho em "oper", e executo essa opcao com os valores inseridos


    Isto esta um bocado confuso mas acho que da para perceber a ideia
     

Partilhar esta Página