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 .