Programação  
 
Conhecimento computador >> Programação >> Programação Visual Basics >> 
Como fazer uma calculadora com Visual Basic
Microsoft Visual Basic é uma linguagem de programação baseada na linguagem BASIC, originalmente desenvolvido para tornar a programação mais fácil de aprender . Visual Basic assume os comandos familiares do BASIC e adiciona ferramentas e interfaces orientadas a objetos para a concepção de aplicações Windows WYSIWYG -like e controles web , entre muitas outras melhorias. Um projeto de aprendizagem relativamente simples para o Visual Basic é a criação de uma calculadora do Windows. Coisas que você precisa
Microsoft Visual Basic 6
Show Mais instruções
1

Abra o Visual Basic 6, e selecione " Standard EXE " do novo menu do projeto. Você verá um formulário em branco aparecem na tela .
2

Renomear o seu projeto e seu formulário clicando em " Project1 " no lado direito da tela, na lista de projetos, e inserindo um novo nome na linha "Nome" da caixa Propriedades , que deve aparecer abaixo da lista de projeto por padrão. Pressione "Enter " para aceitar o novo nome. Faça o mesmo para a sua forma (a forma nome sugerido é " CalculatorUI " ) , certificando-se de inserir um nome similar na propriedade " Caption " , bem como, que irá mudar o texto na barra superior do formulário. Salve o projeto em uma nova pasta em seu computador.
3

Adicione botões e uma caixa de texto ao formulário. Em primeiro lugar , adicionar uma caixa de texto , que será em que os números inscritos na calculadora aparece , assim como os resultados dos cálculos . Faça isso selecionando o botão Caixa de Texto na barra de ferramentas no lado esquerdo da tela, e em seguida, arrastando com o mouse do tamanho e localização que você deseja para o TextBox. Uma vez que você colocou o TextBox você pode alterar o tamanho ea localização , arrastando-o para outro local do formulário ou arrastando as alças ( pequenos quadrados) ao longo da fronteira do TextBox. Certifique-se de alterar as seguintes linhas na janela de propriedades , com a caixa de texto selecionado : "(nome) " = tbResult , " Alinhamento " = 1 - Right Justify , " Formato de dados " = ( clique no botão " ..." para selecionar) Número, "Locked " = True , e "Text" = 0.
4

Selecione o ícone CommandButton na barra de ferramentas e criar o primeiro botão da mesma forma que criou a caixa de texto para adicionar botões. Para referência , use a calculadora do Windows no modo de exibição padrão ( Programas> Acessórios> Calculadora ) como base para o seu layout calculadora, deixando de fora o "M + " botões " MC ", " MR" , "MS" , e . Em cada botão , altere as seguintes propriedades ( utilizando o botão "+" , por exemplo) : "(nome ) " = btnPlus , "Legenda " = + . Faça o mesmo para o resto dos botões da calculadora , e , em seguida, salvar o seu trabalho . O formulário deve agora se parecer com o exemplo mostrado aqui .
5

Adicione o código. Note-se que se os seus botões e caixa de texto não são o mesmo nome que o código listado aqui espera , você vai precisar para mudar os nomes para combinar com seus botões e caixa de texto, ou mudar seus botões e caixa de texto para corresponder a esse código. Primeiro, precisamos criar algumas variáveis ​​para entrada calculadora processamento :

Dim sLeft As String , sRight As String , sOperator Como StringDim iLeft As Double , iRight As Double , iResult Como DoubleDim bLeft As Boolean

Cada cálculo é composto por quatro partes: um número à esquerda do operador ( sLeft , iLeft ) , um operador ( sOperator ) , um número à direita do operador ( sRight , iRight ) e um resultado ( iResult ) . Para controlar se o usuário está entrando a esquerda ou número certo , precisamos criar uma variável booleana, bLeft . Se bLeft é verdade , o lado esquerdo do cálculo está sendo inserido , se bLeft é falso , o lado direito está sendo inserido
6

Inicializar a variável bLeft . . Fazemos isso através da criação de uma sub-rotina Form_Load , o que você pode ou tipo , conforme listado aqui ou criar automaticamente clicando duas vezes em qualquer parte do formulário não abrangidos por um botão ou caixa de texto. Dentro da função , precisamos definir bLeft como True, porque o primeiro número digitado será a parte esquerda:

Private Sub Form_Load () = bLeft TrueEnd Sub
7

Criar um sub-rotina que irá lidar com o clique de qualquer um dos botões numéricos. Nós criamos isso como uma sub-rotina , porque nós usamos código idêntico para cada botão , e usando uma sub-rotina não significa ter que repetir o mesmo código de dez vezes . Digite o seguinte abaixo da linha End Sub do sub-rotina Form_Load: Private Sub

AddNumber ( sNumber As String) Se bLeft ThensLeft = sLeft + sNumbertbResult.Text = sLeftElsesRight = sRight + sNumbertbResult.Text = sRightEnd IfEnd Sub

Como você pode ver , esta função tem um parâmetro de seqüência , sNumber , que conterá o número que o usuário clicou. Se bLeft é verdade , esse número é acrescentado à cadeia que representa o número a ser digitado, sLeft , ea caixa de texto , tbResult , é atualizada para exibir o novo número. Se bLeft é falsa , a mesma operação é realizada utilizando sRight vez .

Finalmente, criar uma função de eventos Click para cada número que chama a sub-rotina AddNumber . Você pode fazer isso facilmente clicando duas vezes cada botão número, que irá criar a estrutura de sub-rotina para você. Em seguida, adicione a chamada para AddNumber , substituindo o número de citações com o número associado com o botão. Para o botão zero, o seu código será parecido com este :

Private Sub btn0_Click () AddNumber ("0" ) End Sub

Da mesma forma, para o botão de um, o seu código será parecido com este :

Private Sub btn1_Click () AddNumber ("1" ) End Sub
8

Manuseie os operadores : mais, menos , vezes e dividir. Faremos isso como último passo , a criação de uma sub-rotina que é chamado no Click eventos para os botões de operação . A sub-rotina será parecido com o seguinte :

Private Sub AddOperator ( sNewOperator As String) Se bLeft ThensOperator = sNewOperatorbLeft = FalseElsebtnEquals_ClicksOperator = sNewOperatorsRight = "" bLeft = FalseEnd IfEnd
Sub

Se bLeft é verdade, ou seja, o usuário acaba de entrar no lado esquerdo do cálculo , este sub-rotina define a variável sOperator que criou no passo 5 para igualar o operador entrou , o que é passado para AddOperator como a cadeia sNewOperator . O segundo passo é definir bLeft para False, porque a entrada de um operador significa que o usuário é feito entrando no lado esquerdo da equação. A fim de lidar com entradas essa seqüência múltiplos operadores em conjunto , tais como 9 * 3 * 2 * 6, é preciso verificar também se bLeft é falso , ou seja, o usuário digitou um operador onde nós estávamos esperando um igual . Primeiro, chamar o evento Click do botão é igual (descrito na próxima etapa ) , que faz o cálculo e define tbResult para o resultado do que já foi digitado. Então nós sRight clara para que o usuário pode digitar o próximo número , e definir bLeft como False para que o programa sabe que estão entrando no lado direito do cálculo seguinte.

Finalmente, adicione uma chamada AddOperator ao evento Click de cada botão do operador , utilizando o mesmo método que usamos no passo 7 para criar os eventos Click para os botões numéricos. O código para o botão de adição será parecido com este :

Private Sub btnPlus_Click () AddOperator ("+" ) End Sub

Da mesma forma, o código para o botão de subtração será parecido com este :

Private Sub btnMinus_Click () AddOperator ("-" ) End Sub
9

criar o evento Click do botão , que é o código mais complexo neste programa é igual . Crie a estrutura de sub-rotina como você fez para os outros botões , clicando duas vezes no botão iguais em sua forma. Sua rotina será parecido com este , quando você entrar com o código :

Private Sub btnEquals_Click () Se sLeft < > "" E sRight = "" E sOperator < > "" ThensRight = sLeftEnd Se

Se sLeft < > "" E sRight < > "" E sOperator < > "" TheniLeft = sLeftiRight = sRight

Select Case sOperatorCase "+" iResult = iLeft + iRightCase "-" iResult = iLeft - iRightCase "/" iResult = iLeft /iRightCase "*" iResult = iLeft * iRightEnd Select

tbResult.Text = iResult

sLeft = iResultsRight = "" bLeft = TrueEnd IfEnd Sub

as três primeiras linhas de verificação de código para ver se ambos os lados do cálculo foram inseridos juntamente com um operador. Se apenas o lado esquerdo e um operador são inseridos, o valor do lado esquerdo é copiado para a direita , para que possamos imitar o comportamento calculadora padrão para o tratamento de uma entrada como 9 * =, que multiplica 9 por si para obter um resultado de 81 . O resto do código será executado somente se a esquerda, direita , e operador são inseridos, e começa por copiar as seqüências de números em nossas variáveis ​​iLeft e iRight duas vezes digitadas , o que pode fazer os cálculos reais. A declaração Select Case permite executar código diferente dependendo de qual operadora foi inserido, e realiza o cálculo real , colocando o resultado em iResult . Finalmente, nós atualizamos a caixa de texto com o resultado, copiar o resultado em sLeft , redefinir sRight e defina bLeft = True. Estas últimas linhas nos permitem ter o resultado do cálculo e usá-lo para realizar outro cálculo
10

Manipular os três últimos botões de operação : . Sqrt , % , e 1 /x . Para o evento Click do botão de raiz quadrada , o seu código será parecido com este :

Private Sub btnSqrt_Click () Se sLeft < > "" TheniLeft = sLeftElseiLeft = 0End Se

Se sRight < > "" TheniRight = sRightElseiRight = 0End Se

Se bLeft TheniLeft = Math.Sqr ( iLeft ) tbResult.Text = iLeftElseiRight = Math.Sqr ( iLeft ) tbResult.Text = iRightEnd Se

Se iLeft <> 0 ThensLeft = iLeftElsesLeft = "" End If

Se iRight <> 0 ThensRight = iRightElsesRight = " " End Sub IfEnd

As primeiras 11 linhas de código de certificar-se de que, se não temos um valor inserido para um ou outro lado da equação , substituímos zero em vez de tentar copiar uma cadeia vazia em iLeft ou iRight , o que irá gerar um erro . As linhas de meia exercer a função raiz quadrada na parte atual do cálculo, para a esquerda ou direita. . Finalmente, reverter os cheques que fizemos no início, para que um zero é copiado como uma cadeia vazia de volta para sLeft e sRight

Para o botão por cento , o código é semelhante , com uma exceção: a operação por cento só pode ser realizada se os dois lados direito e esquerdo são digitadas.

Private Sub btnPercent_Click () If Not bLeft ThenIf sRight < > "" TheniRight = sRightElseiRight = 0End Se

iRight = iRight * ( iLeft /100) tbResult.Text = iRight

Se iRight <> 0 ThensRight = iRightElsesRight = " " End Sub IfEnd IfEnd

Por fim, a /x , ou fração de 1 , Clique evento, que é muito parecido com o código acima :

Private Sub btnFraction_Click () Se sLeft < > "" TheniLeft = sLeftElseiLeft = 0End Se

Se sRight <> " " TheniRight = sRightElseiRight = 0End Se

Se bLeft TheniLeft = 1 /iLefttbResult.Text = iLeftElseiRight = 1 /iRighttbResult.Text = iRightEnd Se

Se iLeft <> 0 ThensLeft = iLeftElsesLeft = " " End If

Se iRight <> 0 ThensRight = iRightElsesRight = " " End Sub IfEnd
11

Adicione código para manipular os botões C e CE . C apaga todas as entradas para a calculadora , enquanto CE só limpa o número que está sendo digitado.

Private Sub btnC_Click () sLeft = "" sRight = "" sOperator = "" tbResult.Text = "0" bLeft = TrueEnd Sub

Private Sub btnCE_Click () Se bLeft ThensLeft = "" ElsesRight = " " End IftbResult.Text = "0" End Sub
12

Execute o programa calculadora e fazer qualquer cálculo que você deseja . Esta calculadora pode ser facilmente expandido para lidar com mais operações , cálculos mais complexos ou até mesmo para ser uma calculadora científica com um pouco de trabalho extra.

Anterior :

Próximo : No
  Os artigos relacionados
·Como remover decimais em Visual Basic 
·Como adicionar Blanks em uma String em Visual Basic 
·Como alterar a senha do administrador local em VBScript…
·Recursos gráficos de versão do Visual Basic 6 
·Como Verificar a existência de um processo em Visual B…
·Como determinar uma matriz multidimensional Ubound em V…
·Como aprender VBA Coding 
·Como usar um Matrix em Vb.Net 
·Como converter um código HTML Variável corda atrás V…
·Como se conectar a um computador remoto em VBScript 
  Artigos em destaque
·A função de número inteiro mais próximo em Python 
·Como fazer um triângulo em Java 
·Tutorial Java para ligação de um Applet a um Frame 
·Como converter Oracle Forms para Java 
·Como alterar a imagem de fundo CSS com JavaScript 
·Ferramentas de desenvolvimento do Mac OS 
·Como preparar um relatório de dados em VB 6 
·Como compilar C + + arquivos de cabeçalho 
·Como converter um arquivo Hex para um Decimal 
·Como ativar um botão de alternância em VBA 
Cop e direita © Conhecimento computador http://ptcomputador.com Todos os Direitos Reservados