Kaip sukurti skaičiuotuvą naudojant „Visual Basic“.

Atidarykite „Visual Basic 6“ ir naujame projekto meniu pasirinkite „Standartinis EXE“. Ekrane pamatysite tuščią formą.

Pervardykite savo projektą ir formą paspausdami "Project1" dešinėje ekrano pusėje, projektų sąraše, ir įvesdami naują pavadinimą laukelio Savybės eilutėje "Pavadinimas", kuri turėtų būti rodoma po projekto sąrašu numatytas. Paspauskite „Enter“, kad priimtumėte naują pavadinimą. Atlikite tą patį su savo forma (siūlomas formos pavadinimas yra „CalculatorUI“), taip pat būtinai įveskite panašų pavadinimą ypatybėje „Antraštė“, kuri pakeis tekstą viršutinėje formos juostoje. Išsaugokite projektą naujame kompiuterio aplanke.

Į formą pridėkite mygtukus ir teksto laukelį. Pirmiausia pridėkite teksto laukelį, kuriame bus rodomi į skaičiuotuvą įvesti skaičiai, taip pat skaičiavimų rezultatai. Atlikite tai pasirinkdami mygtuką TextBox iš įrankių juostos kairėje ekrano pusėje ir vilkite su pele norimą teksto laukelio dydį ir vietą. Įdėję teksto laukelį, galite pakeisti dydį ir vietą, nuvilkdami jį į kitą formos vietą arba vilkdami rankenėles (mažus kvadratėlius) palei TextBox kraštą. Būtinai pakeiskite šias eilutes ypatybių lange, pasirinkę teksto laukelį: "(Vardas)" = tbResult, „Išlygiavimas“ = 1 – dešinysis lygiavimas, „Duomenų formatas“ = (spustelėkite mygtuką „...“, kad pasirinktumėte) Skaičius, „Užrakinta“ = tiesa ir "Tekstas" = 0.

Įrankių juostoje pasirinkite piktogramą CommandButton ir sukurkite pirmąjį mygtuką taip pat, kaip sukūrėte teksto laukelį, kad pridėtumėte mygtukus. Norėdami gauti informacijos, naudokite „Windows“ skaičiuotuvą standartiniame rodinyje (Programos > Priedai > Skaičiuoklė) kaip pagrindą skaičiuotuvo išdėstymui, nepalikdami mygtukų „MC“, „MR“, „MS“ ir „M+“. Pakeiskite šias kiekvieno mygtuko ypatybes (pavyzdžiui naudodami mygtuką „+“): „(Pavadinimas)“ = btnPlus, „Antraštė“ = +. Atlikite tą patį su kitais skaičiuotuvo mygtukais ir išsaugokite savo darbą. Dabar jūsų forma turėtų būti panaši į čia pateiktą pavyzdį.

Pridėkite kodą. Atminkite, kad jei mygtukai ir teksto laukelis nėra pavadinti taip pat, kaip tikisi čia pateiktame kode, jums to reikės norėdami pakeisti pavadinimus, kad jie atitiktų mygtukus ir teksto laukelį, arba pakeisti mygtukus ir teksto laukelį, kad jie atitiktų kodas. Pirmiausia turime sukurti kelis kintamuosius, skirtus apdoroti skaičiuotuvo įvestį:

Dim sLeft As String, sRight As String, Soperator Kaip String Dim iLeft As Double, iRight As Double, iResult As Double Dim bLeft Kaip Būlio

Kiekvienas skaičiavimas susideda iš keturių dalių: skaičiaus, esančio operatoriaus kairėje (sLeft, iLeft), operatoriaus (sOperator), skaičiaus operatoriaus dešinėje (sRight, iRight) ir rezultato (iResult). Norėdami stebėti, ar vartotojas įveda kairįjį ar dešinįjį skaičių, turime sukurti loginį kintamąjį bLeft. Jei bLeft teisinga, įvedama kairioji skaičiavimo pusė; jei bLeft yra klaidinga, įvedama dešinė pusė.

Inicijuokite bLeft kintamąjį. Tai darome sukūrę Form_Load paprogramę, kurią galite įvesti taip, kaip nurodyta čia, arba automatiškai sukurti dukart spustelėdami bet kurią formos dalį, kurios neapima mygtukas arba teksto laukelis. Funkcijos viduje turime nustatyti bLeft į True, nes pirmasis įvestas skaičius bus kairioji dalis:

Sukurkite paprogramę, kuri tvarkys bet kurio skaičiaus mygtuko paspaudimą. Mes tai sukuriame kaip paprogramę, nes kiekvienam mygtukui naudojame identišką kodą, o naudojant paprogramę nereikia kartoti to paties kodo dešimt kartų. Įveskite toliau pateiktą informaciją po Form_Load paprogramės pabaigos poeile:

Kaip matote, ši funkcija paima eilutės parametrą sNumber, kuriame bus skaičius, kurį vartotojas spustelėjo. Jei bLeft teisinga, šis skaičius pridedamas prie eilutės, nurodančios įvedamą skaičių, sLeft, o teksto laukelis tbResult atnaujinamas, kad būtų rodomas naujas skaičius. Jei bLeft yra false, ta pati operacija atliekama naudojant sRight.

Galiausiai sukurkite „Click“ įvykio funkciją kiekvienam numeriui, kuris iškviečia mūsų „AddNumber“ paprogramę. Tai galite padaryti nesunkiai dukart spustelėdami kiekvieną skaičiaus mygtuką, kuris sukurs paprogramės struktūrą už jus. Tada pridėkite skambutį į AddNumber, pakeisdami skaičių kabutėse numeriu, susietu su mygtuku. Nulinio mygtuko kodas atrodys taip:

Taip pat vieno mygtuko kodas atrodys taip:

Tvarkykite operatorius: pliusą, minusą, laiką ir padalijimą. Atliksime tai kaip ir paskutinį žingsnį, sukurdami paprogramę, kuri vadinama operatoriaus mygtukų paspaudimų įvykiais. Paprogramė atrodys taip:

Jei bLeft yra tiesa, ty vartotojas ką tik įvedė kairę skaičiavimo dalį, ši paprogramė nustato sOperator kintamasis, kurį sukūrėme 5 veiksme, kad būtų lygus įvestam operatoriui, kuris perduodamas AddOperator kaip eilutė sNewOperator. Antrasis veiksmas yra nustatyti bLeft į False, nes operatoriaus įvedimas reiškia, kad vartotojas baigė įvesti kairę lygties pusę. Kad galėtume tvarkyti įrašus, kuriuose yra keletas operatorių, pvz., 9 * 3 * 2 * 6, turime taip pat patikrinkite, ar bLeft yra false, ty vartotojas įvedė operatorių ten, kur tikėjomės lygus. Pirmiausia iškviečiame mygtuką „Click“ įvykiui lygybėms (aprašytas kitame žingsnyje), kuris atlieka skaičiavimus ir nustato „tbResult“ kaip jau įvestą rezultatą. Tada išvalome sRight, kad vartotojas galėtų įvesti kitą skaičių, ir nustatome bLeft į False, kad programa žinotų, kad toliau įvedame dešinę skaičiavimo pusę.

Galiausiai pridėkite „AddOperator“ iškvietimą prie kiekvieno operatoriaus mygtuko paspaudimo įvykio, naudodami tą patį metodą, kurį naudojome 7 veiksme kurdami skaičių mygtukų paspaudimo įvykius. Pliuso mygtuko kodas atrodys taip:

Sukurkite mygtuką „Spustelėti“, skirtą lygiems, o tai yra sudėtingiausias kodas šioje programoje. Sukurkite paprogramės struktūrą, kaip darėte kitiems mygtukams, dukart spustelėdami formos mygtuką lygus. Jūsų paprogramė atrodys taip, kai įvesite kodą:

Pirmosiose trijose kodo eilutėse patikrinama, ar abi skaičiavimo pusės buvo įvestos kartu su operatoriumi. Jei įvedama tik kairioji pusė ir operatorius, kairiosios pusės reikšmė nukopijuojama į dešinę, kad galėtume imituoti standartinė skaičiuotuvo elgsena apdorojant įrašą, pvz., 9 * =, kuris padaugina iš 9 ir gaunamas rezultatas 81. Likusi kodo dalis bus paleista tik įvedus kairę, dešinę ir operatorių, o prasidės nuo kopijavimo skaičių eilutes į mūsų „iLeft“ ir „iRight“ dvigubo tipo kintamuosius, kurie gali atlikti tikrąjį skaičiavimai. „Select Case“ sakinys leidžia paleisti skirtingą kodą, atsižvelgiant į įvestą operatorių, ir atlieka faktinį skaičiavimą, įvesdamas rezultatą į „iResult“. Galiausiai atnaujiname teksto laukelį su rezultatu, nukopijuojame rezultatą į sLeft, iš naujo nustatome sRight ir nustatome bLeft = True. Šios paskutinės eilutės leidžia paimti skaičiavimo rezultatą ir panaudoti jį kitam skaičiavimui.

Valdykite paskutinius tris valdymo mygtukus: sqrt, % ir 1/x. Kvadratinės šaknies mygtuko paspaudimo įvykio kodas atrodys taip:

Pirmosios 11 kodo eilučių įsitikinkite, kad jei neturime įvestos reikšmės nė vienoje lygties pusėje, mes pakeičiame nulį, o ne bandome nukopijuoti tuščią eilutę į iLeft arba iRight, kuri sugeneruos klaida. Vidurinės linijos atlieka kvadratinės šaknies funkciją dabartinėje skaičiavimo dalyje – kairėje arba dešinėje. Galiausiai pakeičiame pradžioje atliktus patikrinimus, kad nulis būtų nukopijuotas kaip tuščia eilutė atgal į sLeft ir sRight.

Procento mygtuko kodas yra panašus, su viena išimtimi: procento operaciją galima atlikti tik įvedant ir kairę, ir dešinę puses.

Galiausiai, paspaudimo įvykis 1/x arba trupmena, labai panašus į aukščiau pateiktą kodą:

Pridėkite kodą, kad galėtumėte valdyti C ir CE mygtukus. C išvalo visą įvestį į skaičiuotuvą, o CE tik tuo metu įvedamą skaičių.

Paleiskite skaičiuotuvo programą ir atlikite bet kokius norimus skaičiavimus. Šį skaičiuotuvą galima lengvai išplėsti, kad būtų galima atlikti daugiau operacijų, atlikti sudėtingesnius skaičiavimus ar net tapti moksliniu skaičiuotuvu su šiek tiek papildomo darbo.

Patarimas

Jei susiduriate su klaidomis, patikrinkite kodą eilutę po eilutės, sutelkdami dėmesį į eilutes, kuriose VB iškvietė kaip klaidų, ir palyginkite jį su anksčiau pateiktu kodu. Šiame straipsnyje pateiktas kodas buvo visiškai patikrintas, kad jame nebūtų klaidų, todėl tiksliai nukopijavus jį bus sukurta funkcionali programa. Jei naudojate ankstesnę „Visual Basic“ versiją, galite susidurti su tam tikromis problemomis, kai kalbos pakeitimai buvo atlikti įvairiose versijose. Pavyzdžiui, ankstesnėse VB versijose buvo naudojama matematika. Sqrt() vietoj matematikos. Sqr() kvadratinės šaknies operacijai atlikti. Patikrinkite savo konkrečios versijos nuorodas, kad sužinotumėte, ar reikalingi pakeitimai.