Datamaskin
  | Hjem | Hardware | Nettverk | Programmering | Software | Feilsøking | Systems | 
Programmering  
  • C /C + + Programming
  • Computer Programmeringsspråk
  • Delphi Programming
  • Java Programming
  • JavaScript Programmering
  • PHP /MySQL programmering
  • Perl Programming
  • Python Programming
  • Ruby Programming
  • Visual Basics Programming
  •  
    Datamaskin >> Programmering >> Visual Basics Programming >> Content
    Hvordan lage en kalkulator med Visual Basic
    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 .

    früher :

     Weiter:
      Relatert Artike
    ·Hvordan endre sorteringsrekkefølgen på en rapport om …
    ·Teknikker i VBA 
    ·Hvordan filtrere poster med dato Range i Visual Basic 6…
    ·Hvordan Merge Word-dokumenter i VBA 
    ·Hvordan bevare Variabler i VBA 
    ·Hvordan oppdage en Running App Ved hjelp av VB 
    ·Hvordan bruke boolske Flags i VB 
    ·Hvordan legge til data til en Array 
    ·Slik søker en Listeboks i Visual Basic 
    ·Slik formaterer et heltall Into Valuta i VB.NET 
      Anbefalte artikler
    ·Java 5 Vs . Java 6 
    ·Hvordan initialisert en Array i VBA 
    ·Hvordan få tilgang tupler i Python 
    ·Slik formaterer Flyter i Python 
    ·Hvordan finne String Lengde 
    ·Debugging funksjoner 
    ·Hva er hensikten med en boolsk Operator 
    ·Dato Forskjell i Java Script 
    ·Hvordan slå av Python avskrivninger Advarsler 
    ·Slik konverterer heltall til sifre i Python 
    Copyright ©  Datamaskin  http://www.datamaskin.biz/