Microsoft Visual Basic er et programmeringsspråk basert på BASIC språk , opprinnelig utviklet for å gjøre programmeringen lettere å lære . Visual Basic tar de kjente kommandoer av BASIC og legger objektorienterte verktøy og grensesnitt for å designe WYSIWYG -lignende Windows- applikasjoner og web- kontroller , blant mange andre forbedringer . En relativt enkel læring prosjekt for Visual Basic er etableringen av en Windows- kalkulator . Du trenger
Microsoft Visual Basic 6
Vis flere instruksjoner
en
Åpen Visual Basic 6 , og velg " Standard EXE " fra det nye prosjektet menyen . Du vil se et tomt skjema på skjermen .
2
Endre navn på prosjektet og skjemaet ved å klikke på " Project1 " på høyre side av skjermen , i prosjektet oppføringen, og går inn i en nytt navn i "Name "-linjen i Egenskaper -boksen , som skal vises under prosjektet notering som standard. Trykk på " Enter" for å godta det nye navnet. Gjør det samme for din form ( en foreslått skjema heter " CalculatorUI ") , og pass på å legge inn et lignende navn i " Bildetekst " eiendom også, som vil endre teksten i den øverste linjen på skjemaet. Lagre prosjektet i en ny mappe på datamaskinen.
3
Legg knapper og en tekstboks i skjemaet . Først legger en tekstboks , som vil være der tallene lagt inn i kalkulatoren 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 den TextBox du kan endre størrelsen og plasseringen ved å dra den til en annen plassering av skjemaet eller ved å dra i håndtakene ( de små firkantene ) langs grensen i tekstboksen. Sørg for å endre følgende linjer i Egenskaper-vinduet , med TextBox valgt : " (navn) " = tbResult , " Alignment " = 1 - Høyrejuster , "Data Format" = (klikk på " ... " -knappen for å velg ) Tall, " Låst " = sant , og "Tekst" = 0 .
4
Velg CommandButton ikonet på verktøylinjen og skape den første knappen på samme måte som du opprettet tekstboksen for å legge til knapper . For referanse , bruker du Windows kalkulator i Standard visning (Programmer > Tilbehør > Kalkulator ) som grunnlag for din kalkulator layout, la ut " MC ", " MR ", " MS " og " M + "-knappene . På hver knapp , endre følgende egenskaper ( ved hjelp av " + "-knappen som eksempel) : " (navn) " = btnPlus , " Bildetekst " = + . 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 heter det samme som den koden som er oppført her forventer , må du endre navnene for å matche dine knapper og lærebok, eller endre knapper og tekstboksen for å matche denne koden . Først må vi lage noen variabler for behandling kalkulator inngang :
Dim sLeft As String , sRight As String , sOperator Som StringDim iLeft As Double , iright As Double , iResult Som DoubleDim bLeft As Boolean
< p > Hver beregning består av fire deler: et nummer til venstre for føreren ( sLeft , iLeft ) , 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 venstre side av regnestykket blir angitt, og hvis bLeft er falsk, er høyre side som blir skrevet
6
Initialiser bLeft variabel. . Vi gjør det ved å skape en Form_Load subrutine , som du kan enten skrive som er oppført her eller automatisk lage ved å dobbeltklikke på noen del av skjemaet som ikke omfattes 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 : en
Private Sub Form_Load ( ) bLeft = TrueEnd Sub
7
Opprett en subrutine som vil håndtere klikke på noe av talltastene . Vi skaper dette som en subrutine fordi vi bruker samme kode for hver knapp , og bruke en subrutine betyr ikke å måtte gjenta den samme koden ti ganger . Oppgi følgende under Form_Load subrutinen End Sub linje:
Private Sub AddNumber ( sNumber As String ) Hvis bLeft ThensLeft = sLeft + sNumbertbResult.Text = sLeftElsesRight = sRight + sNumbertbResult.Text = sRightEnd IfEnd Sub
< p> som du kan se, tar denne funksjonen en streng parameter , sNumber , som vil inneholde nummeret brukeren har klikket på . Hvis bLeft er sant, er dette tallet legges til strengen som representerer antallet som blir skrevet , sLeft , og lærebok, tbResult , oppdateres for å vise det nye nummeret. Hvis bLeft er falsk, er den samme operasjonen utført ved hjelp sRight stedet .
Slutt oppretter en Klikk-hendelsen funksjon for hvert nummer som kaller vår AddNumber subrutine . Du kan gjøre dette enkelt ved å dobbeltklikke hvert nummer knappen, som vil skape subrutinen struktur for deg. Deretter legge kallet til AddNumber , erstatte nummeret i anførselstegn med antallet forbundet med knappen. For null -knappen , vil koden se slik ut : en
Private Sub btn0_Click ( ) AddNumber ( " 0 ") End Sub
Likeledes for en knapp , vil koden se slik ut : en
Private Sub btn1_Click ( ) AddNumber ( " 1 ") End Sub
8
Håndter operatører: pluss , minus , klokkeslett og dele . Vi vil gjøre dette som siste trinn , og skaper en subrutine som kalles i Click arrangementer for operatøren knappene. Subrutinen vil se ut som følgende : en
Private Sub AddOperator ( sNewOperator As String ) Hvis bLeft ThensOperator = sNewOperatorbLeft = FalseElsebtnEquals_ClicksOperator = sNewOperatorsRight = "" bLeft = FalseEnd IfEnd Sub
p Hvis bLeft er sant, noe som 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 sendes over til AddOperator som strengen sNewOperator . Det andre trinnet er å sette bLeft til False , fordi oppføring av en operatør betyr at brukeren er gjort på den venstre siden av ligningen . For å håndtere oppføringer som streng flere operatører sammen , for eksempel 9 * 3 * 2 * 6 , må vi også sjekke om bLeft er falsk , noe som betyr at brukeren har oppgitt en operatør der ventet vi en lik . Først vi kaller Klikk hendelsen for den tilsvarer knappen (beskrevet i neste trinn ), som gjør beregning og setter tbResult til resultatet av det som allerede er lagt inn. Da kan vi klare sRight slik at brukeren kan gå inn i neste nummer, og angi bLeft til False , slik at programmet vet at vi går inn i høyre side av beregningen neste .
Slutt legger en AddOperator samtale til Klikk-hendelsen av hver operatør knappen , med samme metode som vi brukte i trinn 7 for å skape Klikk hendelser for talltastene . Koden for pluss- knappen vil se slik ut : en
Private Sub btnPlus_Click ( ) AddOperator ( "+ ") End Sub
Likeledes vil koden for minus-knappen ser slik ut :
Private Sub btnMinus_Click ( ) AddOperator ( "-" ) End Sub
9
Opprett Klikk hendelsen for den tilsvarer knappen, som er den mest komplekse koden i dette programmet . Lag subrutinen struktur som du gjorde for de andre knappene , ved å dobbeltklikke på lik knappen på skjemaet . Din subrutine vil se slik ut når du har tastet inn koden : en
Private Sub btnEquals_Click ( ) Hvis sLeft < > " " Og sRight = "" Og sOperator < > " " ThensRight = sLeftEnd Hvis
p Hvis sLeft < > " " Og sRight < > " " Og sOperator < > " " TheniLeft = sLeftiRight = sRight
Select sak sOperatorCase " +" iResult = iLeft + iRightCase "-" iResult = iLeft - iRightCase "/" iResult = iLeft /iRightCase " *" iResult = iLeft * iRightEnd Select
tbResult.Text = iResult
sLeft = iResultsRight = "" bLeft = TrueEnd IfEnd Sub
de tre første linjene med kode sjekk for å se om begge sider av beregningen er inngått sammen med en operatør . Hvis bare den venstre side, og en operatør er lagt inn, blir verdien av venstre side kopiert til høyre , slik at vi kan etterligne standardkalkulatoren for håndtering av en post 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 ut ved å kopiere strenger av tall inn i vår iLeft og iright Double -skrev variabler, noe som kan gjøre den faktiske beregninger. Den Select sak uttalelse tillater oss å kjøre annen kode avhengig av hvilken operatør ble inngått , og utfører selve beregningen , plassere resultatet i iResult . Til slutt , oppdaterer vi tekstboksen med resultatet , kan du kopiere resultatet i sLeft , reset sRight , og sette bLeft = Sant . Disse siste linjene tillate oss å ta resultatet av beregning og bruke den til å utføre en annen beregning
10
Håndter de siste tre knappene : . Sqrt , % , og 1 /x . For Click-hendelsen til kvadratroten knappen , vil koden se slik ut : en
Private Sub btnSqrt_Click ( ) Hvis sLeft < > " " TheniLeft = sLeftElseiLeft = 0End Hvis
p Hvis sRight < > " " TheniRight = sRightElseiRight = 0End Hvis
p Hvis bLeft TheniLeft = Math.Sqr ( iLeft ) tbResult.Text = iLeftElseiRight = Math.Sqr ( iLeft ) tbResult.Text = iRightEnd Hvis
< p> Hvis iLeft < > 0 ThensLeft = iLeftElsesLeft = "" End If
p Hvis iright < > 0 ThensRight = iRightElsesRight = " " End IfEnd Sub
De første 11 linjene av kode sørge for at hvis vi ikke har en verdi angitt for hver side av ligningen, erstatte vi 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 mot 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 like, med ett unntak : . Prosenten drift kan bare utføres hvis både venstre og høyre side er lagt inn.
Private Sub btnPercent_Click ( ) If Not bLeft ThenIf sRight < > " " TheniRight = sRightElseiRight = 0End Hvis
iright = iright * ( iLeft /100 ) tbResult.Text = iright
p Hvis iright < > 0 ThensRight = iRightElsesRight = "" End IfEnd IfEnd Sub
slutt, 1 /x , eller brøk, Klikk arrangementet, som er svært lik den koden ovenfor : en
Private Sub btnFraction_Click ( ) Hvis sLeft < > " " TheniLeft = sLeftElseiLeft = 0End Hvis
p Hvis sRight < > " " TheniRight = sRightElseiRight = 0End Hvis
p Hvis bLeft TheniLeft = 1 /iLefttbResult.Text = iLeftElseiRight = 1 /iRighttbResult.Text = iRightEnd Hvis
p Hvis iLeft < > 0 ThensLeft = iLeftElsesLeft = " " End If
p Hvis iright < > 0 ThensRight = iRightElsesRight = "" End IfEnd Sub
11
Legg kode for å håndtere C og CE -knappene . C sletter alle innspill til kalkulatoren , mens CE bare tømmer det nummeret som nå blir skrevet .
Private Sub btnC_Click ( ) sLeft = "" sRight = "" sOperator = "" tbResult.Text = " 0 " bLeft = TrueEnd Sub
Private Sub btnCE_Click ( ) Hvis bLeft ThensLeft = "" ElsesRight = "" End IftbResult.Text = " 0 " End Sub
12
Run kalkulatoren programmet og gjøre noe beregningen du ønsker. Denne kalkulatoren kan enkelt utvides til å håndtere flere operasjoner , mer komplekse beregninger eller selv å bli en vitenskapelig kalkulator med litt ekstra arbeid .