>> Elettronica Tecnologia >  >> Casa intelligente >> Vita intelligente

Come creare una calcolatrice con Visual Basic

Microsoft Visual Basic è un linguaggio di programmazione basato sul linguaggio BASIC, originariamente sviluppato per facilitare l'apprendimento della programmazione. Visual Basic prende i comandi familiari di BASIC e aggiunge strumenti e interfacce orientati agli oggetti per la progettazione di applicazioni Windows e controlli Web simili a WYSIWYG, tra molti altri miglioramenti. Un progetto di apprendimento relativamente semplice per Visual Basic è la creazione di una calcolatrice Windows.

Passaggio 1

Apri Visual Basic 6 e seleziona "Standard EXE" dal nuovo menu del progetto. Vedrai apparire sullo schermo un modulo vuoto.

Passaggio 2

Rinomina il tuo progetto e il tuo modulo facendo clic su "Progetto1" nella parte destra dello schermo, nell'elenco dei progetti, e inserendo un nuovo nome nella riga "Nome" della finestra delle Proprietà, che dovrebbe apparire sotto l'elenco dei progetti per predefinito. Premi "Invio" per accettare il nuovo nome. Fai lo stesso per il tuo modulo (un nome modulo suggerito è "CalculatorUI"), assicurandoti di inserire un nome simile anche nella proprietà "Didascalia", che cambierà il testo nella barra in alto del modulo. Salva il progetto in una nuova cartella sul tuo computer.

Passaggio 3

Aggiungi pulsanti e una casella di testo al modulo. Innanzitutto, aggiungi una casella di testo, che sarà il punto in cui verranno visualizzati i numeri inseriti nella calcolatrice, nonché i risultati dei calcoli. Per farlo, seleziona il pulsante TextBox dalla barra degli strumenti sul lato sinistro dello schermo, quindi trascina con il mouse la dimensione e la posizione che desideri per il TextBox. Dopo aver posizionato il TextBox, puoi modificare le dimensioni e la posizione trascinandolo in un'altra posizione del modulo o trascinando le maniglie (i quadratini) lungo il bordo del TextBox. Assicurati di modificare le seguenti righe nella finestra Proprietà, con la casella di testo selezionata:"(Nome)" =tbResult, "Allineamento" =1- Giustifica a destra, "Formato dati" =(fai clic sul pulsante "..." per seleziona) Numero, "Bloccato" =Vero e "Testo" =0.

Passaggio 4

Seleziona l'icona CommandButton sulla barra degli strumenti e crea il primo pulsante nello stesso modo in cui hai creato il TextBox per aggiungere pulsanti. Per riferimento, utilizzare la calcolatrice di Windows nella vista Standard (Programmi> Accessori> Calcolatrice) come base per il layout della calcolatrice, tralasciando i pulsanti "MC", "MR", "MS" e "M+". Su ciascun pulsante, modifica le seguenti proprietà (usando il pulsante "+" come esempio):"(Nome)" =btnPlus, "Didascalia" =+. Fai lo stesso per il resto dei pulsanti della calcolatrice, quindi salva il lavoro. Il tuo modulo ora dovrebbe assomigliare all'esempio mostrato qui.

Passaggio 5

Aggiungi il codice. Tieni presente che se i pulsanti e la casella di testo non hanno lo stesso nome previsto dal codice elencato qui, dovrai modificare i nomi in modo che corrispondano ai pulsanti e alla casella di testo, oppure modificare i pulsanti e la casella di testo in modo che corrispondano a questo codice. Per prima cosa dobbiamo creare alcune variabili per elaborare l'input della calcolatrice:

Dim sLeft As String, sRight As String, sOperator As String Dim iLeft As Double, iRight Come Double, iResult As Double Dim bLeft As Boolean

Ogni calcolo è composto da quattro parti:un numero a sinistra dell'operatore (sLeft, iLeft), un operatore (sOperator), un numero a destra dell'operatore (sRight, iRight) e un risultato (iResult). Per tenere traccia se l'utente sta inserendo il numero sinistro o destro, dobbiamo creare una variabile booleana, bLeft. Se bLeft è vero, viene inserito il lato sinistro del calcolo; se bLeft è false, viene inserito il lato destro.

Passaggio 6

Inizializza la variabile bLeft. Lo facciamo creando una subroutine Form_Load, che puoi digitare come elencato qui o creare automaticamente facendo doppio clic su qualsiasi parte del modulo non coperta da un pulsante o da una casella di testo. All'interno della funzione, dobbiamo impostare bLeft su True, perché il primo numero inserito sarà la parte sinistra:

Private Sub Form_Load() bLeft =True End Sub

Passaggio 7

Crea una subroutine che gestirà il clic di uno qualsiasi dei pulsanti numerici. Lo creiamo come una subroutine perché usiamo un codice identico per ogni pulsante, e usare una subroutine significa non dover ripetere lo stesso codice dieci volte. Immettere quanto segue sotto la riga End Sub della subroutine Form_Load:

Private Sub AddNumber(sNumber As String) If bLeft Then sLeft =sLeft + sNumber tbResult.Text =sLeft Altrimenti sRight =sRight + sNumber tbResult.Text =sRight End If End Sub

Come puoi vedere, questa funzione accetta un parametro stringa, sNumber, che conterrà il numero su cui l'utente ha cliccato. Se bLeft è true, questo numero viene aggiunto alla stringa che rappresenta il numero immesso, sLeft, e la casella di testo, tbResult, viene aggiornata per visualizzare il nuovo numero. Se bLeft è false, la stessa operazione viene eseguita utilizzando invece sRight.

Infine, crea una funzione evento Click per ogni numero che chiama la nostra subroutine AddNumber. Puoi farlo facilmente facendo doppio clic su ciascun pulsante numerico, che creerà la struttura della subroutine per te. Quindi aggiungi la chiamata a AddNumber, sostituendo il numero tra virgolette con il numero associato al pulsante. Per il pulsante zero, il tuo codice sarà simile a questo:

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

Allo stesso modo, per un pulsante, il tuo codice sarà simile a questo:

Sub privato btn1_Click() AddNumber ("1") End Sub

Passaggio 8

Gestire gli operatori:più, meno, tempi e divide. Lo faremo come l'ultimo passaggio, creando una subroutine che viene chiamata negli eventi Click per i pulsanti dell'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 è true, ovvero l'utente ha appena inserito la parte sinistra del calcolo, questa subroutine imposta la variabile sOperator creata nel passaggio 5 in modo che sia uguale all'operatore immesso, che viene passato a AddOperator come stringa sNewOperator. Il secondo passaggio consiste nell'impostare bLeft su False, poiché l'immissione di un operatore significa che l'utente ha finito di inserire il lato sinistro dell'equazione. Per gestire le voci che mettono insieme più operatori, come 9 * 3 * 2 * 6, dobbiamo anche verificare se bLeft è false, il che significa che l'utente ha inserito un operatore in cui ci aspettavamo un uguale. Per prima cosa chiamiamo l'evento Click per il pulsante equals (descritto nel passaggio successivo), che esegue il calcolo e imposta tbResult sul risultato di ciò che è già stato inserito. Quindi deselezionamo sRight in modo che l'utente possa inserire il numero successivo e impostiamo bLeft su False in modo che il programma sappia che stiamo entrando nel lato destro del calcolo successivo.

Infine, aggiungi una chiamata AddOperator all'evento Click di ciascun pulsante operatore, utilizzando lo stesso metodo utilizzato nel passaggio 7 per creare gli eventi Click per i pulsanti numerici. Il tuo codice per il pulsante più sarà simile a questo:

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

Allo stesso modo, il codice per il pulsante meno sarà simile a questo:

Sub privato btnMinus_Click() AddOperator ("-") End Sub

Passaggio 9

Crea l'evento Click per il pulsante uguale, che è il codice più complesso in questo programma. Crea la struttura della subroutine come hai fatto per gli altri pulsanti, facendo doppio clic sul pulsante uguale sul tuo modulo. La tua subroutine apparirà così dopo aver inserito il codice:

Private Sub btnEquals_Click() If sLeft <> "" And sRight ="" And sOperator <> "" Then sRight =sLeft End If

If sLeft &amp;lt;&amp;gt; "" And sRight &amp;lt;&amp;gt; "" And sOperator &amp;lt;&amp;gt; "" Then
 iLeft = sLeft
 iRight = sRight

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

 tbResult.Text = iResult

 sLeft = iResult
 sRight = ""
 bLeft = True
End If

Fine Sub

Le prime tre righe del codice controllano se sono stati inseriti entrambi i lati del calcolo insieme a un operatore. Se vengono inseriti solo il lato sinistro e un operatore, il valore del lato sinistro viene copiato a destra, quindi possiamo imitare il comportamento della calcolatrice standard per la gestione di una voce come 9 * =, che moltiplica 9 per se stesso per ottenere un risultato di 81. Il resto del codice verrà eseguito solo se vengono immessi sinistra, destra e operatore e inizia copiando le stringhe di numeri nelle nostre variabili iLeft e iRight a doppia digitazione, che possono eseguire i calcoli effettivi. L'istruzione Select Case ci consente di eseguire codice diverso a seconda dell'operatore inserito ed esegue il calcolo effettivo, inserendo il risultato in iResult. Infine, aggiorniamo la casella di testo con il risultato, copiamo il risultato in sLeft, resettiamo sRight e impostiamo bLeft =True. Queste ultime righe ci consentono di prendere il risultato del calcolo e utilizzarlo per eseguire un altro calcolo.

Passaggio 10

Gestire gli ultimi tre pulsanti operativi:sqrt, % e 1/x. Per l'evento Click del pulsante radice quadrata, il tuo codice sarà simile al seguente:

Private Sub btnSqrt_Click() If sLeft <> "" Then iLeft =sLeft Else iLeft =0 End If

If sRight &amp;lt;&amp;gt; "" Then
 iRight = sRight
Else
 iRight = 0
End If

If bLeft Then
 iLeft = Math.Sqr(iLeft)
 tbResult.Text = iLeft
Else
 iRight = Math.Sqr(iLeft)
 tbResult.Text = iRight
End If

If iLeft &amp;lt;&amp;gt; 0 Then
 sLeft = iLeft
Else
 sLeft = ""
End If

If iRight &amp;lt;&amp;gt; 0 Then
 sRight = iRight
Else
 sRight = ""
End If

Fine Sub

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

Per il pulsante percentuale, il codice è simile, con un'eccezione:l'operazione percentuale può essere eseguita solo se vengono inseriti entrambi i lati sinistro e destro.

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

 If iRight &amp;lt;&amp;gt; 0 Then
 sRight = iRight
 Else
 sRight = ""
 End If
End If

Fine Sub

Infine, l'evento 1/x, o frazione, Click, che è molto simile al codice sopra:

Private Sub btnFraction_Click() If sLeft <> "" Then iLeft =sLeft Else iLeft =0 End If

If sRight &amp;lt;&amp;gt; "" Then
 iRight = sRight
Else
 iRight = 0
End If

If bLeft Then
 iLeft = 1 / iLeft
 tbResult.Text = iLeft
Else
 iRight = 1 / iRight
 tbResult.Text = iRight
End If

If iLeft &amp;lt;&amp;gt; 0 Then
 sLeft = iLeft
Else
 sLeft = ""
End If

If iRight &amp;lt;&amp;gt; 0 Then
 sRight = iRight
Else
 sRight = ""
End If

Fine Sub

Passaggio 11

Aggiungi il codice per gestire i pulsanti C e CE. C cancella tutti gli input nella calcolatrice, mentre CE cancella solo il numero attualmente inserito.

Sub privato btnC_Click() sLeft ="" sRight ="" sOperator ="" tbResult.Text ="0" bLeft =True End Sub

Private Sub btnCE_Click() If bLeft Then sLeft ="" Altrimenti sRight ="" End If tbResult.Text ="0" End Sub

Passaggio 12

Esegui il tuo programma di calcolatrice ed esegui tutti i calcoli che desideri. Questa calcolatrice può essere facilmente ampliata per gestire più operazioni, calcoli più complessi o anche per essere una calcolatrice scientifica con un po' di lavoro in più.

Suggerimento

Se riscontri errori, controlla il tuo codice riga per riga, concentrandoti sulle righe che VB ha indicato come contenenti errori e confrontalo con il codice sopra. Il codice contenuto in questo articolo è stato completamente testato per essere privo di errori, quindi copiandolo fedelmente risulterà un programma funzionale. Se stai usando una versione precedente di Visual Basic, potresti riscontrare alcuni problemi in cui sono state apportate modifiche alla lingua tra le versioni. Le versioni precedenti di VB, ad esempio, utilizzavano Math.Sqrt() invece di Math.Sqr() per eseguire un'operazione di radice quadrata. Controlla i riferimenti per la tua versione specifica per vedere se sono necessarie modifiche.


  1. Come fare una scopa con Broom Corn
  2. Posso fare applicazioni Android Con Visual Basic
  3. Posso fare applicazioni Android Con Visual Basic
  4. Come creare un modulo di registrazione online
  5. Come creare un volantino con Gimp
  6. Come creare un Kirby con la tastiera