Hvordan lage en kalkulator med Visual Basic

Microsoft Visual Basic er et programmeringsspråk basert på grunnleggende språk, opprinnelig utviklet for å gjøre programmeringen enklere å lære. Visual Basic tar de kjente kommandoer av BASIC og legger til objektorienterte verktøy og grensesnitt for å designe WYSIWYG-lignende Windows-programmer og web kontroller, blant mange andre forbedringer. En relativt enkel læringsprosjekt for Visual Basic er etableringen av en Windows-kalkulator.

Bruksanvisning

1 Hvordan lage en kalkulator med Visual Basic

Åpne Visual Basic 6, og velg "Standard EXE" fra det nye prosjektet menyen. Du vil se et tomt skjema vises på skjermen.

2 Hvordan lage en kalkulator med Visual Basic


Endre navn på prosjektet og skjemaet ved å klikke på "Project1" på høyre side av skjermen, i prosjektet oppføringen, og skrive inn et nytt navn i "Name" linjen i egenskapsboksen som skal vises under prosjektet oppføring av misligholde. Trykk "Enter" for å godta det nye navnet. Gjør det samme for skjemaet (et forslag til skjema navn er "CalculatorUI"), og pass på å legge inn et lignende navn i "Caption" eiendom også, som vil endre teksten i den øverste linjen i skjemaet. Lagre prosjektet i en ny mappe på datamaskinen.

3 Hvordan lage en kalkulator med Visual Basic


Legg knapper og en tekstboks til skjemaet. Først legger en tekstboks, som vil være der lagt inn i kalkulatoren tallene vises, samt resultatene av beregningene. Gjør dette ved å velge TextBox knappen fra verktøylinjen på venstre side av skjermen, og deretter dra med musen størrelsen og plasseringen du ønsker for tekstboksen. Når du har plassert tekstboksen kan du endre størrelsen og plasseringen ved å dra det til et annet sted på skjemaet eller ved å dra i håndtakene (de små firkanter) langs grensen av tekstboksen. Sørg for å endre følgende linjer i Egenskaper-vinduet, med valgt TextBox: "(navn)" = tbResult, "Alignment" = 1- Høyre Begrunn, "Data Format" = (klikk på "..." -knappen for å velg) Number "Låst" = Sant, og "Text" = 0.

4 Hvordan lage en kalkulator med Visual Basic


Velg Command ikonet på verktøylinjen og lage den første knappen på samme måte som du opprettet TextBox å legge til knapper. For referanse, kan du bruke Windows kalkulatoren i Standard visning (Programmer> Tilbehør> Kalkulator) som grunnlag for kalkulatoren layout, la ut "MC", "MR", "MS" og "M +" knappene. På hver knapp, endre følgende egenskaper (ved hjelp av "+" knappen som et eksempel): "(navn)" = btnPlus, "Caption" = +. Gjør det samme for resten av kalkulator knapper, og deretter lagre arbeidet ditt. Skjemaet skal nå ligne eksempelet vist her.

5 Legg inn koden. Merk at hvis dine knapper og tekstboksen ikke er navngitt den samme som den koden som er oppført her forventer, må du endre navn for å matche dine knapper og tekstboks, eller endre knapper og tekstboksen for å matche denne koden. Først må vi lage noen variabler for behandling kalkulator innspill:

Dim sLeft As String, sRight As String, sOperator As String
Dim iLeft Som Double, iright As Double, iResult As Double
Dim bLeft Som boolsk

Hver beregning består av fire deler: et tall til venstre for rattet (sLeft, iLeft), en operatør (sOperator), et tall til høyre for føreren (sRight, iright), og et resultat (iResult). For å spore om brukeren går inn på venstre eller høyre tall, må vi opprette en boolsk variabel, bLeft. Hvis bLeft er sant, er den venstre siden av regnestykket blir skrevet; hvis bLeft er falsk, er høyre side som blir skrevet.

6 Initialiser bLeft variabel. Vi gjør det ved å opprette en Form_Load subrutine, som du kan enten type som er oppført her eller automatisk lage ved å dobbeltklikke på noen del av skjemaet ikke er dekket av en knapp eller tekstboks. Inne i funksjon, må vi sette bLeft til True, fordi det første nummeret kom inn vil være den venstre delen:

Private Sub Form_Load ()

bLeft = True

End Sub

7 Hvordan lage en kalkulator med Visual Basic

Lag en subrutine som vil håndtere klikke på noen av talltastene. Vi skaper dette som en subrutine fordi vi bruker samme kode for hver knapp, og ved hjelp av en subrutine betyr ikke å måtte gjenta den samme kode ti ganger. Skriv inn følgende under Form_Load subrutine End Sub linjen:

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

Som du kan se, tar denne funksjonen en strengparameter, sNumber, som vil inneholde antall brukeren har klikket på. Hvis bLeft er sant, er dette tallet legges til strengen som representerer tallet som blir skrevet, sLeft, og tekstboksen, tbResult, oppdateres for å vise det nye nummeret. Hvis bLeft er falsk, er den samme operasjonen utføres ved hjelp av sRight stedet.

Endelig skape et klikk begivenhet funksjon for hvert nummer som kaller vår AddNumber subrutine. Du kan gjøre dette enkelt ved å dobbeltklikke hver talltast, noe som vil skape subrutinen struktur for deg. Deretter legger kallet til AddNumber, erstatte nummeret i anførselstegn med antallet forbundet med knappen. For null-knappen, vil koden se slik ut:

Private Sub btn0_Click ()

AddNumber ("0")

End Sub

Likeledes, for en knapp, vil koden se slik ut:

Private Sub btn1_Click ()

AddNumber ("1")

End Sub

8 Håndtak operatørene: pluss, minus, ganger, og skillet. Vi vil gjøre dette som siste trinnet, og skaper en subrutine som kalles i Klikk arrangementer for operatør knappene. Subrutinen vil se slik ut:

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

Hvis bLeft er sant, betyr at brukeren har nettopp kommet inn i venstre del av beregningen, setter denne subrutine den sOperator variabel vi opprettet i trinn 5 til lik operatør angitt, som er sendt til AddOperator som strengen sNewOperator. Det andre trinnet er å sette bLeft til False, fordi oppføring av en operatør betyr at brukeren er ferdig med å skrive inn venstre side av ligningen. For å håndtere oppføringene strengen flere operatører sammen, for eksempel 9

3 2 * 6, må vi også sjekke om bLeft er falsk, noe som betyr at brukeren har inngått en operatør der vi ventet en likeverdige. Først kaller vi Click-hendelsen for lik knappen (beskrevet i neste trinn), som gjør beregning og setter tbResult til resultatet av det som allerede er inngått. Da vi klare sRight slik at brukeren kan gå inn i neste nummer, og satt bLeft til False slik at programmet vet vi går inn i høyre side av beregningen neste.

Til slutt legger en AddOperator kall til Click-hendelsen til hver operatør knapp, på samme måte som vi brukte i trinn 7 for å skape Klikk arrangementer for talltastene. Din koden for pluss-knappen vil se slik ut:

Private Sub btnPlus_Click ()

AddOperator ("+")

End Sub

Likeledes vil koden for minus-knappen ser slik ut:

Private Sub btnMinus_Click ()

AddOperator ("-")

End Sub

9 Lag Click-hendelsen for knappen likemenn, som er den mest komplekse kode i dette programmet. Lag subrutinen struktur som du gjorde for de andre knappene, ved å dobbeltklikke på knappen likhets på skjemaet. Din subrutine vil se slik ut når du har tastet inn koden:

Private Sub btnEquals_Click ()

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

Hvis sLeft & lt;> "" Og sRight & lt;> "" Og sOperator & lt;> "" Then
iLeft = sLeft
iright = sRight

Velg Sak 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
Slutt om

End Sub

De tre første linjene med kode for å se om begge sider av beregningen er inngått sammen med en operatør. Hvis bare venstre side og en operatør er lagt inn, blir verdien av venstre side kopiert til høyre, slik at vi kan etterligne standard kalkulator måte å håndtere en oppføring som 9 * =, som multipliserer 9 av seg selv for å få et resultat av 81. resten av koden kjører bare hvis venstre, høyre, og operatør er lagt inn, og starter ved å kopiere strenger av tallene i våre iLeft og iright Dobbelt skrevet variabler, som kan gjøre selve beregningene. Den Select sak uttalelse tillater oss å kjøre forskjellig kode avhengig av hvilken operatør ble inngått, og utfører den faktiske beregningen, plassere resultatet i iResult. Til slutt, vi oppdaterer tekstboksen med resultatet, kopiere resultatet til sLeft, reset sRight, og satt bLeft = True. Disse siste linjene tillate oss å ta resultatet av beregningen, og bruke den til å utføre en annen beregning.

10 Handle de siste tre knappene: sqrt,%, og 1 / x. For Click-hendelsen til kvadratroten knappen, vil koden se slik ut:

Private Sub btnSqrt_Click ()

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

Hvis sRight & lt;> "" Then
iright = sRight
Ellers
iright = 0
Slutt om

Hvis bLeft Deretter
iLeft = Math.Sqr (iLeft)
tbResult.Text = iLeft
Ellers
iright = Math.Sqr (iLeft)
tbResult.Text = iright
Slutt om

Hvis iLeft & lt;> 0 Then
sLeft = iLeft
Ellers
sLeft = ""
Slutt om

Hvis iright & lt;> 0 Then
sRight = iright
Ellers
sRight = ""
Slutt om

End Sub

De første 11 linjer med kode være sikker på at hvis vi ikke har en verdi oppgitt for hver side av ligningen, vi erstatte null i stedet for å prøve å kopiere en tom streng i iLeft eller iright, som vil generere en feil. Den midterste linjene utføre kvadratroten funksjonen på den aktuelle del av beregningen, enten venstre eller høyre. Til slutt reversere vi sjekker vi gjorde i begynnelsen, slik at en null kopieres som en tom streng tilbake i sLeft og sRight.

For prosent knappen, er koden lik, med ett unntak: prosent operasjonen kan bare utføres hvis både venstre og høyre side er inngått.

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

Hvis iright & lt;> 0 Then
sRight = iright
Ellers
sRight = ""
Slutt om
Slutt om

End Sub

Til slutt, 1 / x, eller brøkdel, Klikk arrangementet, som er svært lik koden ovenfor:

Private Sub btnFraction_Click ()

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

Hvis sRight & lt;> "" Then
iright = sRight
Ellers
iright = 0
Slutt om

Hvis bLeft Deretter
iLeft = 1 / iLeft
tbResult.Text = iLeft
Ellers
iright = 1 / iright
tbResult.Text = iright
Slutt om

Hvis iLeft & lt;> 0 Then
sLeft = iLeft
Ellers
sLeft = ""
Slutt om

Hvis iright & lt;> 0 Then
sRight = iright
Ellers
sRight = ""
Slutt om

End Sub

11 Legg kode for å håndtere C og CE-knappene. C sletter alle innspill til kalkulatoren, mens CE bare klarner Nummeret som angitt.

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 Hvordan lage en kalkulator med Visual Basic


Kjør kalkulatoren programmet og gjøre noen beregning du ønsker. Denne kalkulatoren kan enkelt utvides til å håndtere flere operasjoner, mer komplekse beregninger eller selv å være en vitenskapelig kalkulator med litt ekstra arbeid.

Hint

  • Hvis det oppstår feil, sjekk koden linje for linje, med fokus på de linjene som VB har kalt ut som inneholder feil, og sammenligne den med koden ovenfor. Koden i denne artikkelen har blitt testet for å være feilfri, så kopierer den trofast vil resultere i en funksjonell program.If du bruker en tidligere versjon av Visual Basic, kan du støte på noen problemer der endringer er gjort i språket tvers versjoner. Tidligere versjoner av VB, for eksempel, som brukes Math.sqrt () i stedet for Math.Sqr () for å utføre en kvadratrot operasjon. Sjekk referanser for din versjon for å se om noen endringer er nødvendig.