Come fare una calcolatrice con Visual Basic

February 28

Microsoft Visual Basic è un linguaggio di programmazione basato sul linguaggio BASIC, originariamente sviluppato per rendere la programmazione più facile da imparare. Visual Basic prende i comandi familiari di BASIC e aggiunge strumenti e interfacce orientate agli oggetti per la progettazione WYSIWYG come applicazioni Windows e controlli web, tra molti altri miglioramenti. Un relativamente semplice progetto di apprendimento per Visual Basic è la creazione di una calcolatrice di Windows.

istruzione

1 Come fare una calcolatrice con Visual Basic

Aprire Visual Basic 6, e selezionare "EXE standard" dal nuovo menu progetto. Si vedrà un modulo vuoto viene visualizzato sullo schermo.

2 Come fare una calcolatrice con Visual Basic


Rinominare il progetto e il modulo cliccando su "Project1" sul lato destro dello schermo, nella lista del progetto, e inserendo un nuovo nome nella riga "Nome" della finestra delle proprietà, che dovrebbe apparire sotto l'elenco progetto predefinito. Premere il tasto "Enter" per accettare il nuovo nome. Fare lo stesso per il modulo (un nome di modulo suggerito è "CalculatorUI"), avendo cura di inserire un nome simile nella proprietà "Caption", così, che cambierà il testo nella barra superiore del modulo. Salvare il progetto in una nuova cartella sul computer.

3 Come fare una calcolatrice con Visual Basic


Aggiungere pulsanti e una casella di testo alla maschera. Innanzitutto, aggiungere una casella di testo, che sarà in cui compaiono i numeri inseriti nella calcolatrice, nonché i risultati dei calcoli. A tale scopo, selezionando il pulsante TextBox dalla barra degli strumenti sul lato sinistro dello schermo, e trascinando con il mouse la dimensione e la posizione desiderata per il controllo TextBox. Una volta posizionato il TextBox è possibile modificare la dimensione e la posizione trascinandola in un'altra posizione del modulo o trascinando le maniglie (i piccoli quadrati) lungo il confine del controllo TextBox. Assicurarsi di modificare le seguenti righe nella finestra Proprietà, con il TextBox selezionato: "(Nome)" = tbResult, "Allineamento" = 1- Destra Giustificato, "Formato dati" = (clic sul pulsante "..." per selezionare Number), "Bloccato" = true, e "Testo" = 0.

4 Come fare una calcolatrice con Visual Basic


Selezionare l'icona CommandButton sulla barra degli strumenti e creare il primo pulsante nello stesso modo è stato creato il TextBox per aggiungere i pulsanti. Per riferimento, utilizzare la calcolatrice di Windows nella vista Standard (Programmi> Accessori> Calculator) come base per il layout calcolatrice, lasciando fuori la "MC", "MR", i tasti "M +" "MS", e. Su ogni tasto, modificare le seguenti proprietà (utilizzando il pulsante "+" come esempio): "(nome)" = btnPlus, "Legenda" = +. Fare lo stesso per il resto dei tasti della calcolatrice, e quindi salvare il lavoro. Il modulo dovrebbe essere simile nell'esempio mostrato qui.

5 Aggiungere il codice. Si noti che se i pulsanti e testo non sono lo stesso nome come il codice elencato qui si aspetta, è necessario cambiare i nomi in base alle proprie pulsanti e testo, o cambiare i pulsanti e casella di testo per corrispondere a questo codice. In primo luogo abbiamo bisogno di creare alcune variabili per l'ingresso calcolatrice lavorazione:

Dim sLeft come stringa, sRight come stringa, sOperator As String
Dim iLeft come doppio, iRight come doppio, iResult come doppio
Dim bLeft Come booleano

Ogni calcolo consiste di quattro parti: un numero alla sinistra dell'operatore (sLeft, iLeft), un operatore (sOperator), un numero alla destra dell'operatore (sRight, iRight), e un risultato (iResult). Al fine di monitorare se l'utente sta entrando il numero di sinistra o di destra, abbiamo bisogno di creare una variabile booleana, bLeft. Se bLeft è vero, viene inserito il lato sinistro del calcolo; se bLeft è falso, viene inserito sul lato destro.

6 Inizializzare la variabile bLeft. Lo facciamo con la creazione di una subroutine Form_Load, che è possibile entrambi i tipi come elencato qui o creare automaticamente facendo doppio clic su una parte della forma non coperta da un pulsante o casella di testo. All'interno della funzione, è necessario impostare bLeft True, perché il primo numero immesso sarà la parte sinistra:

Private Sub Form_Load ()

bLeft = True

End Sub

7 Come fare una calcolatrice con Visual Basic

Creare una subroutine che gestirà il ticchettio di uno qualsiasi dei tasti numerici. Creiamo questo come una subroutine perché usiamo il codice identico per ogni tasto, e l'utilizzo di una subroutine non significa dover ripetere lo stesso codice di dieci volte. Inserire il seguente sotto la linea Sub End della subroutine Form_Load:

Private Sub AddNumber (sNumber As String)

If bLeft Then
sLeft = sLeft + sNumber
tbResult.Text = sLeft
Else
sRight = sRight + sNumber
tbResult.Text = sRight
End If

End Sub

Come si può vedere, questa funzione prende un parametro di stringa, sNumber, che conterrà il numero che l'utente ha cliccato. Se bLeft è vero, questo numero viene aggiunto alla stringa che rappresenta il numero di cui accede, sLeft, e la casella di testo, tbResult, viene aggiornato per visualizzare il nuovo numero. Se bLeft è falso, la stessa operazione viene eseguita utilizzando sRight invece.

Infine, creare una funzione di evento Click per ogni numero che chiama la nostra subroutine AddNumber. Lo si può fare facilmente con un doppio clic su ogni tasto numerico, che creerà la struttura subroutine per voi. Quindi aggiungere la chiamata a AddNumber, sostituendo il numero tra virgolette con il numero associato al tasto. Per il pulsante a zero, il codice sarà simile a questa:

Private Sub btn0_Click ()

AddNumber ("0")

End Sub

Allo stesso modo, per il pulsante uno, il codice sarà simile a questa:

Private Sub btn1_Click ()

AddNumber ("1")

End Sub

8 Gestire gli operatori: più, meno, i tempi, e dividere. Lo faremo come ultimo passo, la creazione di una subroutine che si chiama negli eventi Click per i pulsanti operatore. La subroutine sarà simile alla seguente:

Private Sub AddOperator (sNewOperator As String)

If bLeft Then
sOperator = sNewOperator
bLeft = False
Else
btnEquals_Click
sOperator = sNewOperator
sRight = ""
bLeft = False
End If

End Sub

Se bLeft è vero, il che significa che l'utente ha appena entrato nella parte sinistra del calcolo, questa subroutine imposta la variabile sOperator abbiamo creato al passaggio 5 per eguagliare l'operatore è entrato, che viene passato al AddOperator come stringa sNewOperator. Il secondo passo è quello di impostare bLeft False, perché la voce di un operatore significa che l'utente è fatto entrando nella parte sinistra dell'equazione. Al fine di gestire le voci che stringa più operatori insieme, come ad esempio 9

3 2 * 6, abbiamo bisogno di controllare anche se la bLeft è falso, il che significa che l'utente ha inserito un operatore in cui ci aspettavamo un pari. In primo luogo che noi chiamiamo l'evento Click per il pulsante di uguale (descritto nel passaggio successivo), che fa il calcolo e imposta tbResult al risultato di ciò che è già stato inserito. Poi abbiamo sRight chiaro in modo che l'utente può inserire il numero successivo, e impostare bLeft False in modo che il programma sa stiamo entrando dal lato destro del calcolo successivo.

Infine, aggiungere una chiamata AddOperator all'evento Click di ciascun pulsante operatore, utilizzando lo stesso metodo che abbiamo usato nel passo 7 per creare gli eventi click per i tasti numerici. Il codice per il pulsante più sarà simile a questa:

Private Sub btnPlus_Click ()

AddOperator ("+")

End Sub

Allo stesso modo, il codice per il tasto meno sarà simile a questa:

Private Sub btnMinus_Click ()

AddOperator ("-")

End Sub

9 Creare l'evento Click per il pulsante di eguali, che è il codice più complesso in questo programma. Creare la struttura subroutine come avete fatto per gli altri pulsanti, facendo doppio clic sul pulsante eguali sul modulo. La subroutine sarà simile a questa quando hai inserito il codice:

Private Sub btnEquals_Click ()

If sLeft <> "" And sRight = "" And sOperator <> "" Then
sRight = sLeft
End If

Se sLeft & lt;> "" E sRight & lt;> "" E sOperator & lt;> "" Allora
iLeft = sLeft
iRight = sRight

Select Case sOperator
Caso "+"
iResult = iLeft + iRight
Caso "-"
iResult = iLeft - iRight
Caso "/"
iResult = iLeft / iRight
Caso "*"
iResult = iLeft * iRight
End Select

tbResult.Text = iResult

sLeft = iResult
sRight = ""
bLeft = True
Finisci se

End Sub

Le prime tre linee di controllo di codice per vedere se entrambi i lati del calcolo sono stati inseriti insieme con un operatore. Se solo vengono inseriti nella parte sinistra e un operatore, il valore del lato sinistro viene copiato a destra, in modo che possiamo imitare il comportamento calcolatrice standard per la gestione di una voce come la 9 * =, che moltiplica 9 da solo per ottenere un risultato di 81. il resto del codice verrà eseguito solo se a sinistra, a destra, e l'operatore vengono inseriti, e che inizia copiando le stringhe di numeri nelle nostre variabili iLeft e iRight doppio digitati, che può fare i calcoli attuali. L'istruzione Select Case ci permette di eseguire codice diverso a seconda di quale è stato inserito operatore, ed esegue il calcolo effettivo, ponendo il risultato in iResult. Infine, aggiorniamo la casella di testo con il risultato, copia il risultato in sLeft, RESET sRight, e impostare bLeft = True. Queste ultime righe ci permettono di prendere il risultato del calcolo e utilizzarlo per eseguire un altro calcolo.

10 Gestire gli ultimi tre pulsanti di funzionamento: sqrt,%, e 1 / x. Per l'evento Click del pulsante di radice quadrata, il codice sarà simile a questa:

Private Sub btnSqrt_Click ()

If sLeft <> "" Then
iLeft = sLeft
Else
iLeft = 0
End If

Se sRight & lt;> "" Allora
iRight = sRight
Altro
iRight = 0
Finisci se

Se bLeft Poi
iLeft = Math.Sqr (iLeft)
tbResult.Text = iLeft
Altro
iRight = Math.Sqr (iLeft)
tbResult.Text = iRight
Finisci se

Se iLeft & lt;> 0 Then
sLeft = iLeft
Altro
sLeft = ""
Finisci se

Se iRight & lt;> 0 Then
sRight = iRight
Altro
sRight = ""
Finisci se

End Sub

Le prime 11 righe di codice fare in modo che, se non abbiamo un valore immesso per entrambi i lati dell'equazione, sostituiamo a zero invece di cercare di copiare una stringa vuota in iLeft o iRight, che genererà un errore. Le linee centrali svolgono la funzione di radice quadrata parte corrente del calcolo, a destra oa sinistra. Infine, invertiamo i controlli che abbiamo fatto all'inizio in modo che uno zero viene copiata come una stringa vuota di nuovo in sLeft e sRight.

Per il pulsante per cento, il codice è simile, con una sola eccezione: l'operazione per cento può essere eseguita solo se entrambi lati destro e sinistro vengono inseriti.

Private Sub btnPercent_Click ()

If Not bLeft Then
If sRight <> "" Then
iRight = sRight
Else
iRight = 0
End If

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

Se iRight & lt;> 0 Then
sRight = iRight
Altro
sRight = ""
Finisci se
Finisci se

End Sub

Infine, il 1 / x, o frazione, evento Click, che è molto simile al codice di cui sopra:

Private Sub btnFraction_Click ()

If sLeft <> "" Then
iLeft = sLeft
Else
iLeft = 0
End If

Se sRight & lt;> "" Allora
iRight = sRight
Altro
iRight = 0
Finisci se

Se bLeft Poi
iLeft = 1 / iLeft
tbResult.Text = iLeft
Altro
iRight = 1 / iRight
tbResult.Text = iRight
Finisci se

Se iLeft & lt;> 0 Then
sLeft = iLeft
Altro
sLeft = ""
Finisci se

Se iRight & lt;> 0 Then
sRight = iRight
Altro
sRight = ""
Finisci se

End Sub

11 Aggiungere il codice per gestire i pulsanti C e CE. C cancella tutti gli input al calcolatore, mentre CE cancella solo il numero attualmente in fase di entrata.

Private Sub btnC_Click ()

sLeft = ""
sRight = ""
sOperator = ""
tbResult.Text = "0"
bLeft = True

End Sub

Private Sub btnCE_Click ()

If bLeft Then
sLeft = ""
Else
sRight = ""
End If
tbResult.Text = "0"

End Sub

12 Come fare una calcolatrice con Visual Basic


Eseguire il programma di calcolatrice e fare qualsiasi calcolo che si desidera. Questa calcolatrice può essere facilmente ampliato per gestire più operazioni, calcoli più complessi o anche per essere una calcolatrice scientifica con un po 'di lavoro extra.

Consigli e avvertenze

  • Se si verificano errori, controllare il codice riga per riga, concentrandosi sulle linee che VB ha chiamato fuori come gli errori che contengono, e confrontarlo con il codice di cui sopra. Il codice contenuto in questo articolo è stato testato per essere privo di errori, in modo da copiare fedelmente si tradurrà in un program.If funzionale si utilizza una versione precedente di Visual Basic, è possibile riscontrare alcuni problemi in cui sono state apportate modifiche nella lingua tra versioni. Le versioni precedenti di VB, per esempio, utilizzati Math.Sqrt () al posto di Math.Sqr () per eseguire un'operazione di radice quadrata. Controllare i riferimenti per la versione specifica per vedere se sono necessarie eventuali modifiche.