Dator
 |  Startsida |  Hårdvara |  Nätverk |  Programmering |  Programvara |  Felsökning |  System |   
Programmering
  • C /C + + -programmering
  • Computer Programspråk
  • Delphi Programmering
  • Java Programming
  • JavaScript programmering
  • PHP /MySQL Programmering
  • perl Programmering
  • python Programming
  • Ruby programmering
  • Visual Basics Programmering
  • * Dator Kunskap >> Programmering >> Visual Basics Programmering >> Content

    Hur man gör en miniräknare med Visual Basic

    Microsoft Visual Basic är ett programmeringsspråk baserat på BASIC språket , som ursprungligen utvecklades för att göra programmeringen enklare att lära sig . Visual Basic tar det bekanta befallningar BASIC och tillägger objektorienterade verktyg och gränssnitt för att utforma WYSIWYG - liknande Windows-program och kontroller webben , bland många andra förbättringar . En relativt enkel lärande projekt för Visual Basic är att skapa en Windows kalkylator . Saker du behöver
    Microsoft Visual Basic 6
    Visa fler instruktioner
    1

    Open Visual Basic 6 , och välj " Standard EXE " från det nya projektet menyn . Du kommer att se ett tomt formulär visas på skärmen .
    2

    Döp ditt projekt och ditt formulär genom att klicka på " Projekt1 " på höger sida av skärmen , i projektet notering , och ange ett nytt namn i " Name " raden i dialogrutan Egenskaper , som ska visas under projektets notering som standard . Tryck " Enter " för att acceptera det nya namnet . Gör samma sak för din blankett ( ett förslag formulär namn är " CalculatorUI " ) , och se till att skriva ett liknande namn i " Caption " egendom samt , vilket kommer att ändra texten i det översta fältet i formuläret . Spara projektet i en ny mapp på din dator .
    3

    lägga till knappar och en textruta i formuläret . Lägg först till en textruta , vilket kommer att vara där siffrorna tas i räknaren visas , liksom resultaten av beräkningarna . Gör detta genom att markera textrutan knappen i verktygsfältet till vänster sida av skärmen , och sedan dra med musen på storlek och läge du önskar för textrutan . När du har placerat textrutan kan du ändra storlek och placering genom att dra den till en annan plats i formuläret eller genom att dra i handtagen ( små fyrkanter ) längs gränsen i textrutan . Var noga med att ändra följande rader i fönstret Egenskaper , med textrutan valt : " ( Namn ) " = tbResult , " Alignment " = 1 - Högerjustera , " Data Format " = ( klicka på " ... " -knappen för att välj ) Number , " Låst " = Sant , och " Text " = 0 .
    4

    Välj CommandButton ikonen i verktygsfältet och skapa den första knappen på samma sätt som du skapade textrutan för att lägga till knappar . För referens , använd Windows kalkylator Standard view ( Program > Tillbehör > Kalkylator ) som grund för din miniräknare layout , lämnar ut " MC " , " MR " , " MS " och " M + " -knapparna . På varje knapp , ändra följande egenskaper ( med " + " -knappen som exempel ) : " ( Namn ) " = btnPlus , " Caption " = + . Gör samma sak för resten av miniräknare knapparna , och sedan spara ditt arbete . Formuläret ska nu likna exemplet .
    5

    Lägg koden . Observera att om dina knappar och textrutan inte har samma namn som den kod som anges här förväntar sig , måste du ändra namnen för att matcha dina knappar och textrutan eller ändra dina knappar och textrutan för att matcha denna kod . Först måste vi skapa några variabler för bearbetning kalkylator input :

    Dim sLeft As String , sRight As String , sOperator Som StringDim iLeft Som Double , iRight Som Double , iResult Som DoubleDim bLeft As Boolean

    Varje beräkning består av fyra delar : ett tal till vänster om föraren ( sLeft , iLeft ) , en operatör ( sOperator ) , ett nummer till höger om föraren ( sRight , iRight ) , och ett resultat ( iResult ) . För att spåra om användaren går in på vänster eller höger numret , måste vi skapa en boolesk variabel , bLeft . Om bLeft är sant , är den vänstra sidan av beräkningen som skrivs , om bLeft är falskt , är den högra sidan som trädde
    6

    Initiera bLeft variabeln . . Vi gör det genom att skapa en Form_Load subrutin , som du kan antingen skriva som listas här eller automatiskt skapa genom att dubbelklicka på någon del av formuläret som inte omfattas av en knapp eller textruta . Inuti funktionen , måste vi ställa bLeft till True , eftersom det första numret matas in blir den vänstra delen :

    Private Sub Form_Load ( ) bLeft = TrueEnd Sub
    7

    Skapa ett subrutin som kommer att hantera det klickande på någon av sifferknapparna . Vi skapar detta som en subrutin , eftersom vi använder samma kod för varje knapp , och med hjälp av en subrutin betyder inte att behöva upprepa samma kod tio gånger . Ange följande under Form_Load subrutinen End Sub raden :

    Private Sub AddNumber ( sNumber As String ) Om bLeft ThensLeft = sLeft + sNumbertbResult.Text = sLeftElsesRight = sRight + sNumbertbResult.Text = sRightEnd IfEnd Sub

    som du kan se , tar denna funktion en sträng parameter , sNumber , som kommer att innehålla antalet användaren har klickat på . Om bLeft är sant , är detta antal läggs till den sträng som representerar numret matas in , sLeft , och textrutan , tbResult , uppdateras för att visa det nya numret . Om bLeft är falsk , är samma operation utförs med sRight istället . Slutligen

    , skapa en funktion Klicka händelse för varje nummer som anropar vår AddNumber subrutin . Du kan göra detta enkelt genom att dubbelklicka på varje sifferknapp , vilket kommer att skapa subrutinen struktur för dig . Tillsätt sedan samtalet till AddNumber , byta ut talet i citat med numret associerat med knappen . För zero knappen , kommer din kod ser ut så här :

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

    Likaså för en knapp , kommer din kod ser ut så här :

    Private Sub btn1_Click ( ) AddNumber ( " 1 " ) End Sub
    8

    Handtag operatörerna : plus , minus , gånger , och dela . Vi kommer att göra detta som sista steget , att skapa en subrutin som anropas i klickhändelser för operatör knapparna . Subrutinen kommer att se ut på följande :

    Private Sub AddOperator ( sNewOperator As String ) Om bLeft ThensOperator = sNewOperatorbLeft = FalseElsebtnEquals_ClicksOperator = sNewOperatorsRight = " " bLeft = FalseEnd IfEnd Sub
    p Om bLeft är sant , vilket innebär att användaren bara har gått in i vänstra delen av beräkningen , anger denna subrutin den sOperator variabeln som vi skapade i steg 5 till jämbördig aktör som är inskriven , som skickas till AddOperator som strängen sNewOperator . Det andra steget är att ställa bLeft till False , eftersom införandet av en operatör innebär att användaren är klar med den vänstra sidan av ekvationen . För att hantera poster som sträng flera aktörer tillsammans, till exempel 9 * 3 * 2 * 6 , vi måste också kontrollera om bLeft är falsk , vilket innebär att användaren har angett en operatör där vi väntade ett likhetstecken . Först vi kallar Click-händelsen för lika knappen ( beskrivs i nästa steg ) , vilket gör beräkningen och fastställer tbResult till följd av vad som redan skrivits in . Då kan vi rensa sRight så att användaren kan ange nästa nummer , och ange bLeft till False så att programmet vet att vi går in i den högra sidan av beräkningen nästa .

    Slutligen , lägg till AddOperator samtal till Click-händelsen för varje aktör knapp , med samma metod som vi använt i steg 7 för att skapa Klicka händelser för sifferknapparna . Din kod för plus -knappen ser ut så här :

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

    Likaså kommer koden för minusknappen se ut så här :

    Private Sub btnMinus_Click ( ) AddOperator ( " - " ) End Sub
    9

    Skapa Click-händelsen för lika knappen , vilket är den mest komplexa koden i det här programmet . Skapa subrutinen struktur som du gjorde för de andra knapparna , genom att dubbelklicka på lika knappen på formuläret . Din subrutinen kommer se ut så här när du har angett koden :

    Private Sub btnEquals_Click ( ) Om sLeft < > " " Och sRight = " " Och sOperator < > " " ThensRight = sLeftEnd Om

    Om sLeft < > " " Och sRight < > " " Och sOperator < > " " TheniLeft = sLeftiRight = sRight

    Select Case sOperatorCase " + " iResult = iLeft + iRightCase "-" iResult = iLeft - iRightCase "/" iResult = iLeft /iRightCase " * " iResult = iLeft * iRightEnd Select

    tbResult.Text = iResult

    sLeft = iResultsRight = "" bLeft = TrueEnd IfEnd Sub

    de första tre rader kod kontrollera om båda sidor av beräkningen har matats in tillsammans med en operatör . Om bara den vänstra sidan och en operatör är införda , är värdet på den vänstra sidan kopieras till höger , så att vi kan efterlikna den vanliga kalkylatorn beteende för att hantera en post som 9 * = , som multiplicerar 9 av sig själv för att få ett resultat av 81 . Resten av koden körs endast om vänster , höger , och operatören är införda , och börjar med att kopiera strängar av siffror i vår iLeft och iRight Dubbel - typade variabler , vilket kan göra själva beräkningarna . Den Select Case uttalande tillåter oss att köra annan kod beroende på vilken operatör ingicks , och utför själva beräkningen , placera resultatet i iResult . Slutligen , vi uppdaterar textrutan med resultatet , kopierar resultatet till sLeft , återställa sRight och ställa bLeft = Sant . Dessa sista raderna ger oss möjlighet att ta resultatet av beräkningen och använda den för att utföra en annan beräkning
    10

    Handtag de senaste tre funktionsknapparna : . Sqrt , % , och 1 /x . För Click-händelsen för kvadratroten knappen , kommer din kod ser ut så här :

    Private Sub btnSqrt_Click ( ) Om sLeft < > " " TheniLeft = sLeftElseiLeft = 0End Om
    p Om sRight < > " " TheniRight = sRightElseiRight = 0End Om
    p Om bLeft TheniLeft = Math.Sqr ( iLeft ) tbResult.Text = iLeftElseiRight = Math.Sqr ( iLeft ) tbResult.Text = iRightEnd Om

    Om iLeft < > 0 ThensLeft = iLeftElsesLeft = " " End If
    p Om iRight < > 0 ThensRight = iRightElsesRight = " " End IfEnd Sub

    De första 11 raderna av kod till att om vi inte har ett värde som anges för endera sidan av ekvationen , vi ersätter noll istället för att försöka kopiera en tom sträng i iLeft eller iRight , vilket kommer att generera ett fel . De mittersta raderna utför kvadratroten funktion på den aktuella delen av beräkningen , antingen vänster eller höger . Slutligen , vända vi de kontroller som vi gjorde i början så att en nolla kopieras som en tom sträng tillbaka till sLeft och sRight

    För procent knappen , är den kod liknande , med ett undantag : . Den procentuella operation kan endast utföras om både vänster och höger sida är införda . Om inte bLeft ThenIf sRight < > " " TheniRight = sRightElseiRight = 0End Om

    iRight = iRight

    Private Sub btnPercent_Click ( ) * ( iLeft /100 ) tbResult.Text = iRight
    p Om iRight < > 0 ThensRight = iRightElsesRight = " " End IfEnd IfEnd Sub

    slutligen 1 /x , eller fraktion , Klicka på händelsen , som är mycket lik den koden ovan :

    Private Sub btnFraction_Click ( ) Om sLeft < > " " TheniLeft = sLeftElseiLeft = 0End Om
    p Om sRight < > " " TheniRight = sRightElseiRight = 0End Om
    p Om bLeft TheniLeft = 1 /iLefttbResult.Text = iLeftElseiRight = 1 /iRighttbResult.Text = iRightEnd Om
    p Om iLeft < > 0 ThensLeft = iLeftElsesLeft = " " End If
    p Om iRight < > 0 ThensRight = iRightElsesRight = " " End IfEnd Sub
    11

    Lägg koden för att hantera C och CE -knapparna . C raderar alla till räknaren , medan CE endast rensar antalet närvarande deltagare .

    Private Sub btnC_Click ( ) sLeft = " " sRight = " " sOperator = " " tbResult.Text = " 0 " bLeft = TrueEnd Sub

    Private Sub btnCE_Click ( ) Om bLeft ThensLeft = " " ElsesRight = " " End IftbResult.Text = " 0 " End Sub
    12

    Kör din miniräknare program och göra något beräkning du vill . Denna räknare kan enkelt byggas ut för att hantera fler funktioner , mer komplexa beräkningar eller ens vara en vetenskaplig kalkylator med lite extra arbete .

    Tidigare:

    nästa:
    relaterade artiklar
    ·Hur köra parametrar i en DAO Query i Access VBA
    ·Hur får man en API Stream i XML-format
    ·Hur man skapar ett kommando som rensar Text i Visual Ba…
    ·Hur man kan begränsa en textruta till endast siffror i…
    ·Hur du formaterar ett heltal i kontanter i VB.NET
    ·Vad betyder NET CLR Mean
    ·Hur man lär VB.NET Utan Klasser
    ·Konvertera Windows.Forms.TextBox till Integer
    ·Hur man skapar en Access Connection Använda Visual Bas…
    ·Lägga till en referens till ett projekt i Visual Basic…
    Utvalda artiklarna
    ·Hur man använder Windows Media Player Control i VB.NET…
    ·Så ringer Webbformulär Med Case Statement
    ·Hur man gör en String tecken gemener
    ·Hur vill kolla filstorlek Medan Browsing en dator i PHP…
    ·Hur att skapa en metod med ett variabelt antal ingånga…
    ·Hur du korrigerar en Syntax Error
    ·Hur spara bilder från PictureBox kontroll i Visual Bas…
    ·Rekursiv Merge Sortera i Python
    ·Hur du gör din egen VB.NET Add- Ins
    ·Hur man kan räkna ut värdet av Java Expressions
    Copyright © Dator Kunskap http://www.dator.xyz