1. kamere
  2. Car Audio & Electronics
  3. Domači glasbeni sistem
  4. Osebni avdio
  5. televizorji
  6. Pametni dom
  >> Elektronske tehnologije Online >  >> Pametni dom >> Pametno življenje

Kako narediti kalkulator z Visual Basicom

Microsoft Visual Basic je programski jezik, ki temelji na jeziku BASIC, prvotno razvit za lažje učenje programiranja. Visual Basic prevzame znane ukaze BASIC-a in med številnimi drugimi izboljšavami doda objektno orientirana orodja in vmesnike za oblikovanje WYSIWYG podobnih Windows aplikacij in spletnih kontrolnikov. En relativno preprost učni projekt za Visual Basic je izdelava kalkulatorja Windows.

1. korak

Odprite Visual Basic 6 in v meniju novega projekta izberite "Standardni EXE". Na zaslonu se bo pojavil prazen obrazec.

2. korak

Preimenujte svoj projekt in obrazec tako, da kliknete »Projekt1« na desni strani zaslona na seznamu projektov in vnesete novo ime v vrstico »Ime« v polju Lastnosti, ki se mora prikazati pod seznamom projektov do privzeto. Pritisnite "Enter", da sprejmete novo ime. Naredite enako za svoj obrazec (predlagano ime obrazca je »CalculatorUI«), pri čemer pazite, da vnesete podobno ime tudi v lastnost »Caption«, kar bo spremenilo besedilo v zgornji vrstici obrazca. Shranite projekt v novo mapo v računalniku.

3. korak

V obrazec dodajte gumbe in besedilno polje. Najprej dodajte polje z besedilom, v katerem bodo prikazane številke, vnesene v kalkulator, in rezultati izračunov. To storite tako, da v orodni vrstici na levi strani zaslona izberete gumb TextBox in nato z miško povlečete želeno velikost in mesto za TextBox. Ko postavite TextBox, lahko spremenite velikost in lokacijo tako, da ga povlečete na drugo mesto v obrazcu ali tako, da povlečete ročice (majhne kvadratke) vzdolž roba TextBoxa. Ne pozabite spremeniti naslednjih vrstic v oknu Properties z izbranim poljem TextBox:"(Ime)" =tbResult, "Alignment" =1- Right Justify, "Data Format" =(kliknite gumb "..." za izberite) Število, "Zaklenjeno" =True in "Besedilo" =0.

4. korak

V orodni vrstici izberite ikono CommandButton in ustvarite prvi gumb na enak način, kot ste ustvarili TextBox za dodajanje gumbov. Za referenco uporabite kalkulator Windows v standardnem pogledu (Programi> Pripomočki> Kalkulator) kot osnovo za postavitev kalkulatorja, pri čemer izpustite gumbe »MC«, »MR«, »MS« in »M+«. Na vsakem gumbu spremenite naslednje lastnosti (z uporabo gumba "+" kot primer):"(Name)" =btnPlus, "Caption" =+. Naredite enako za preostale gumbe kalkulatorja in nato shranite svoje delo. Vaš obrazec bi moral zdaj spominjati na prikazani primer.

5. korak

Dodajte kodo. Upoštevajte, da če vaši gumbi in besedilno polje niso poimenovani tako, kot pričakuje tukaj navedena koda, boste morali spremeniti imena, da se bodo ujemala z vašimi gumbi in besedilnim poljem, ali spremeniti svoje gumbe in besedilno polje, da se bodo ujemala s to kodo. Najprej moramo ustvariti nekaj spremenljivk za obdelavo vnosa kalkulatorja:

Dim sLeft kot niz, sRight kot niz, sOperator kot niz Dim iLeft kot dvojno, iRight kot dvojno, iResult kot dvojno Dim bLeft kot logično

Vsak izračun je sestavljen iz štirih delov:številke na levi strani operatorja (sLeft, iLeft), operatorja (sOperator), številke na desni strani operatorja (sRight, iRight) in rezultata (iResult). Da bi sledili, ali uporabnik vnaša levo ali desno številko, moramo ustvariti logično spremenljivko bLeft. Če je bLeft true, se vnese leva stran izračuna; če je bLeft false, se vnese desna stran.

6. korak

Inicializirajte spremenljivko bLeft. To naredimo tako, da ustvarimo podprogram Form_Load, ki ga lahko vtipkate, kot je navedeno tukaj, ali pa ga samodejno ustvarite z dvojnim klikom na kateri koli del obrazca, ki ni zajet z gumbom ali besedilnim poljem. Znotraj funkcije moramo bLeft nastaviti na True, ker bo prva vnesena številka levi del:

Private Sub Form_Load() bLeft =True End Sub

7. korak

Ustvarite podprogram, ki bo obravnaval klikanje katerega koli številskega gumba. To ustvarimo kot podprogram, ker uporabljamo enako kodo za vsak gumb, uporaba podprograma pa pomeni, da vam ni treba desetkrat ponoviti iste kode. Pod vrstico End Sub podprograma Form_Load vnesite naslednje:

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

Kot lahko vidite, ta funkcija sprejme parameter niza, sNumber, ki bo vseboval številko, na katero je uporabnik kliknil. Če je bLeft true, je ta številka dodana nizu, ki predstavlja številko, ki jo vnašate, sLeft, in besedilno polje tbResult se posodobi za prikaz nove številke. Če je bLeft false, se ista operacija izvede z uporabo sRight namesto tega.

Končno ustvarite funkcijo dogodka Click za vsako številko, ki pokliče naš podprogram AddNumber. To lahko enostavno storite tako, da dvokliknete posamezen številski gumb, kar vam bo ustvarilo strukturo podprograma. Nato dodajte klic v AddNumber in zamenjajte številko v narekovajih s številko, povezano z gumbom. Za gumb nič bo vaša koda videti takole:

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

Podobno bo koda za en gumb videti takole:

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

8. korak

Upravljajte z operatorji:plus, minus, časi in deljenje. To bomo naredili kot zadnji korak in ustvarili podprogram, ki se kliče v dogodkih Click za gumbe operaterja. Podprogram bo videti takole:

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

Če je bLeft resničen, kar pomeni, da je uporabnik pravkar vnesel levi del izračuna, ta podprogram nastavi spremenljivko sOperator, ki smo jo ustvarili v koraku 5, tako, da je enaka vnesenemu operaterju, ki je posredovan AddOperatorju kot niz sNewOperator. Drugi korak je, da bLeft nastavite na False, ker vnos operatorja pomeni, da je uporabnik končal z vnosom leve strani enačbe. Za obdelavo vnosov, ki nizajo več operatorjev skupaj, kot je 9 * 3 * 2 * 6, moramo preveriti tudi, ali je bLeft napačen, kar pomeni, da je uporabnik vnesel operator, kjer smo pričakovali enako. Najprej pokličemo dogodek Click za gumb enako (opisano v naslednjem koraku), ki izvede izračun in nastavi tbResult na rezultat že vnesenega. Nato počistimo sRight, da lahko uporabnik vnese naslednjo številko, bLeft pa nastavimo na False, tako da program ve, da naslednjič vnašamo desno stran izračuna.

Nazadnje dodajte klic AddOperator dogodku Click vsakega operaterskega gumba z uporabo iste metode, kot smo jo uporabili v 7. koraku za ustvarjanje dogodkov Click za številske gumbe. Vaša koda za gumb plus bo videti takole:

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

Podobno bo koda za gumb minus videti takole:

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

9. korak

Ustvarite dogodek Click za gumb enako, ki je najbolj zapletena koda v tem programu. Ustvarite strukturo podprograma, kot ste to storili za druge gumbe, tako da dvokliknete gumb enako na obrazcu. Ko vnesete kodo, bo vaš podprogram videti takole:

Private Sub btnEquals_Click() If sLeft <> "" And sRight ="" And sOperator <> "" Then sRight =sLeft End If

If sLeft &amp;lt;&amp;gt; "" And sRight &amp;lt;&amp;gt; "" And sOperator &amp;lt;&amp;gt; "" Then
 iLeft = sLeft
 iRight = sRight

 Select Case 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
End If

Končaj pod

Prve tri vrstice kode preverijo, ali sta bili obe strani izračuna vneseni skupaj z operatorjem. Če sta vnesena samo leva stran in operator, se vrednost leve strani prekopira na desno, tako da lahko posnemamo standardno vedenje kalkulatorja za obdelavo vnosa, kot je 9 * =, ki pomnoži 9 samega s seboj, da dobi rezultat 81. Preostala koda se bo izvajala le, če so vneseni levi, desni in operator, in se začne s kopiranjem nizov številk v naši spremenljivki z dvojnim tipom iLeft in iRight, ki lahko izvedeta dejanske izračune. Izjava Select Case nam omogoča zagon različne kode, odvisno od tega, kateri operator je bil vnesen, in izvede dejanski izračun, pri čemer rezultat postavi v iResult. Končno posodobimo besedilno polje z rezultatom, kopiramo rezultat v sLeft, ponastavimo sRight in nastavimo bLeft =True. Te zadnje vrstice nam omogočajo, da vzamemo rezultat izračuna in ga uporabimo za izvedbo drugega izračuna.

10. korak

Upravljajte z zadnjimi tremi operacijskimi gumbi:sqrt, % in 1/x. Za dogodek Click gumba kvadratnega korena bo vaša koda videti takole:

Private Sub btnSqrt_Click() If sLeft <> "" Then iLeft =sLeft Else iLeft =0 End If

If sRight &amp;lt;&amp;gt; "" Then
 iRight = sRight
Else
 iRight = 0
End If

If bLeft Then
 iLeft = Math.Sqr(iLeft)
 tbResult.Text = iLeft
Else
 iRight = Math.Sqr(iLeft)
 tbResult.Text = iRight
End If

If iLeft &amp;lt;&amp;gt; 0 Then
 sLeft = iLeft
Else
 sLeft = ""
End If

If iRight &amp;lt;&amp;gt; 0 Then
 sRight = iRight
Else
 sRight = ""
End If

Končaj pod

Prvih 11 vrstic kode zagotavlja, da če nimamo vnesene vrednosti za nobeno stran enačbe, zamenjamo ničlo, namesto da poskušamo kopirati prazen niz v iLeft ali iRight, kar bo povzročilo napako. Srednje črte izvajajo funkcijo kvadratnega korena na trenutnem delu izračuna, levo ali desno. Na koncu obrnemo preverjanja, ki smo jih opravili na začetku, tako da se ničla kot prazen niz kopira nazaj v sLeft in sRight.

Za gumb za odstotek je koda podobna, z eno izjemo:operacijo za odstotek je mogoče izvesti le, če sta vneseni tako leva kot desna stran.

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

 If iRight &amp;lt;&amp;gt; 0 Then
 sRight = iRight
 Else
 sRight = ""
 End If
End If

Končaj pod

Nazadnje, dogodek klika 1/x ali frakcija, ki je zelo podoben zgornji kodi:

Private Sub btnFraction_Click() If sLeft <> "" Then iLeft =sLeft Else iLeft =0 End If

If sRight &amp;lt;&amp;gt; "" Then
 iRight = sRight
Else
 iRight = 0
End If

If bLeft Then
 iLeft = 1 / iLeft
 tbResult.Text = iLeft
Else
 iRight = 1 / iRight
 tbResult.Text = iRight
End If

If iLeft &amp;lt;&amp;gt; 0 Then
 sLeft = iLeft
Else
 sLeft = ""
End If

If iRight &amp;lt;&amp;gt; 0 Then
 sRight = iRight
Else
 sRight = ""
End If

Končaj pod

11. korak

Dodajte kodo za upravljanje gumbov C in CE. C počisti vse vnose v kalkulator, medtem ko CE izbriše samo trenutno vneseno število.

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. korak

Zaženite svoj kalkulator in naredite poljuben izračun. Ta kalkulator je mogoče enostavno razširiti, da bo z malo dodatnega dela opravil več operacij, bolj zapletene izračune ali celo postal znanstveni kalkulator.

Nasvet

Če naletite na napake, preverite svojo kodo vrstico za vrstico, pri čemer se osredotočite na vrstice, za katere je VB priklical, da vsebujejo napake, in jo primerjajte z zgornjo kodo. Koda, ki jo vsebuje ta članek, je bila v celoti preizkušena, da ne vsebuje napak, zato bo z njenim zvestim kopiranjem nastal funkcionalen program. Če uporabljate prejšnjo različico Visual Basica, lahko naletite na nekatere težave, ko so bile v različnih različicah jezik spremenjene. Prejšnje različice VB so na primer uporabljale Math.Sqrt() namesto Math.Sqr() za izvedbo operacije kvadratnega korena. Preverite Reference za vašo specifično različico, da vidite, ali so potrebne kakršne koli spremembe.


  1. Kako narediti Broom Z Broom Corn
  2. Lahko naredim Android Apps Visual Basic
  3. Lahko naredim Android Apps Visual Basic
  4. Kako narediti spletni obrazec za registracijo
  5. Kako narediti letak z Gimpom