Kā izveidot kalkulatoru ar Visual Basic

Atveriet Visual Basic 6 un jaunā projekta izvēlnē atlasiet "Standarta EXE". Jūs redzēsiet, ka ekrānā parādīsies tukša veidlapa.

Pārdēvējiet savu projektu un veidlapu, noklikšķinot uz "Projekts1" ekrāna labajā pusē, projektu sarakstā, un ievadot jaunu nosaukumu lodziņa Rekvizīti rindā "Nosaukums", kam vajadzētu parādīties zem projekta saraksta līdz plkst. noklusējuma. Nospiediet "Enter", lai apstiprinātu jauno nosaukumu. Dariet to pašu ar savu veidlapu (ieteiktais veidlapas nosaukums ir “CalculatorUI”), noteikti ievadot līdzīgu nosaukumu arī rekvizītā “Sapts”, kas mainīs tekstu veidlapas augšējā joslā. Saglabājiet projektu jaunā datora mapē.

Pievienojiet veidlapai pogas un tekstlodziņu. Vispirms pievienojiet teksta lodziņu, kurā būs redzami kalkulatorā ievadītie skaitļi, kā arī aprēķinu rezultāti. Lai to izdarītu, rīkjoslā ekrāna kreisajā pusē atlasiet pogu TextBox un pēc tam velciet ar peli vajadzīgo teksta lodziņa izmēru un vietu. Kad esat ievietojis tekstlodziņu, varat mainīt izmēru un atrašanās vietu, velkot to uz citu veidlapas vietu vai velkot rokturus (mazos kvadrātus) gar tekstlodziņa apmali. Noteikti mainiet šādas rindiņas logā Rekvizīti, atlasot teksta lodziņu: "(Name)" = tbResult, "Līdzinājums" = 1 — pa labi taisnots, "datu formāts" = (noklikšķiniet uz pogas "...", lai atlasītu) Skaitlis, "Bloķēts" = patiess un "Teksts" = 0.

Rīkjoslā atlasiet ikonu CommandButton un izveidojiet pirmo pogu tāpat, kā izveidojāt TextBox pogu pievienošanai. Uzziņai izmantojiet Windows kalkulatoru standarta skatā (Programmas > Piederumi > Kalkulators) kā kalkulatora izkārtojuma pamatu, neatstājot pogas "MC", "MR", "MS" un "M+". Katrai pogai mainiet šādus rekvizītus (kā piemēru izmantojot pogu "+"): "(Nosaukums)" = btnPlus, "Uzraksts" = +. Dariet to pašu ar pārējām kalkulatora pogām un pēc tam saglabājiet savu darbu. Jūsu veidlapai tagad vajadzētu atgādināt šeit parādīto piemēru.

Pievienojiet kodu. Ņemiet vērā: ja jūsu pogām un tekstlodziņam nav tāds pats nosaukums kā šeit norādītajam kodam, jums tas būs nepieciešams lai mainītu nosaukumus, lai tie atbilstu jūsu pogām un tekstlodziņam, vai mainītu pogas un tekstlodziņu, lai tie atbilstu šim kodu. Vispirms mums ir jāizveido daži mainīgie, lai apstrādātu kalkulatora ievadi:

Dim sLeft kā virkne, sright kā virkne, soperators kā virkne Dim iLeft kā dubultā, iRight kā dubultā, iResult kā dubultā Dim bLeft kā Būla

Katrs aprēķins sastāv no četrām daļām: skaitļa pa kreisi no operatora (sLeft, iLeft), operatora (sOperator), skaitļa pa labi no operatora (sRight, iRight) un rezultāta (iResult). Lai izsekotu, vai lietotājs ievada kreiso vai labo numuru, mums ir jāizveido Būla mainīgais bLeft. Ja bLeft ir patiess, tiek ievadīta aprēķina kreisā puse; ja bLeft ir nepatiess, tiek ievadīta labā puse.

Inicializējiet mainīgo bLeft. Mēs to darām, izveidojot Form_Load apakšprogrammu, kuru varat vai nu ierakstīt, kā norādīts šeit, vai arī izveidot automātiski, veicot dubultklikšķi uz jebkuras veidlapas daļas, uz kuru neattiecas poga vai tekstlodziņš. Funkcijā bLeft jāiestata uz True, jo pirmais ievadītais cipars būs kreisā daļa:

Izveidojiet apakšprogrammu, kas apstrādās jebkuras ciparu pogas noklikšķināšanu. Mēs to izveidojam kā apakšprogrammu, jo katrai pogai izmantojam identisku kodu, un apakšprogrammas izmantošana nozīmē, ka tas pats kods nav jāatkārto desmit reizes. Zem Form_Load apakšprogrammas beigu apakšrindas ievadiet:

Kā redzat, šī funkcija aizņem virknes parametru sNumber, kurā būs numurs, uz kura lietotājs ir noklikšķinājis. Ja bLeft ir patiess, šis skaitlis tiek pievienots virknei, kas apzīmē ievadīto numuru, sLeft, un tekstlodziņš tbResult tiek atjaunināts, lai parādītu jauno numuru. Ja bLeft vērtība ir nepatiesa, tā pati darbība tiek veikta, izmantojot sRight.

Visbeidzot izveidojiet Click notikuma funkciju katram numuram, kas izsauc mūsu AddNumber apakšprogrammu. To var izdarīt vienkārši, veicot dubultklikšķi uz katras cipara pogas, kas jums izveidos apakšprogrammas struktūru. Pēc tam pievienojiet zvanu AddNumber, aizstājot numuru pēdiņās ar numuru, kas saistīts ar pogu. Nulles pogai jūsu kods izskatīsies šādi:

Tāpat vienas pogas kods izskatīsies šādi:

Rīkojieties ar operatoriem: plus, mīnus, laiki un dalīšana. Mēs to darīsim tāpat kā pēdējo darbību, izveidojot apakšprogrammu, kas tiek izsaukta operatora pogu Click notikumos. Apakšprogramma izskatīsies šādi:

Ja bLeft ir patiess, kas nozīmē, ka lietotājs tikko ir ievadījis aprēķina kreiso daļu, šī apakšprogramma iestata sOperator mainīgais, ko izveidojām 5. darbībā, lai būtu vienāds ar ievadīto operatoru, kas tiek nodots AddOperator kā virkne sJaunsOperators. Otrais solis ir iestatīt bLeft uz False, jo operatora ievadīšana nozīmē, ka lietotājs ir pabeidzis ievadīšanu vienādojuma kreisajā pusē. Lai apstrādātu ierakstus, kuros ir virkne vairāki operatori, piemēram, 9 * 3 * 2 * 6, mums ir arī pārbaudiet, vai bLeft ir nepatiess, kas nozīmē, ka lietotājs ir ievadījis operatoru vietā, kur mēs gaidījām vienāds. Vispirms mēs izsaucam Click notikumu vienlīdzības pogai (aprakstīts nākamajā darbībā), kas veic aprēķinu un iestata tbResult uz jau ievadītā rezultāta rezultātu. Pēc tam mēs notīrām sRight, lai lietotājs varētu ievadīt nākamo skaitli, un iestatām bLeft uz False, lai programma zinātu, ka mēs nākamreiz ievadām aprēķina labo pusi.

Visbeidzot pievienojiet AddOperator zvanu katras operatora pogas Click notikumam, izmantojot to pašu metodi, ko izmantojām 7. darbībā, lai izveidotu Click notikumus ciparu pogām. Jūsu plus pogas kods izskatīsies šādi:

Izveidojiet Click notikumu pogai vienāds, kas ir vissarežģītākais kods šajā programmā. Izveidojiet apakšprogrammas struktūru tāpat kā citām pogām, veidlapā veicot dubultklikšķi uz pogas Vienāds. Pēc koda ievadīšanas jūsu apakšprogramma izskatīsies šādi:

Pirmās trīs koda rindiņas pārbauda, ​​vai abas aprēķina puses ir ievadītas kopā ar operatoru. Ja tiek ievadīta tikai kreisā puse un operators, kreisās puses vērtība tiek kopēta pa labi, lai mēs varētu atdarināt standarta kalkulatora darbība, apstrādājot tādu ierakstu kā 9 * =, kas reizina ar 9, lai iegūtu rezultātu 81. Pārējais kods tiks palaists tikai tad, ja tiks ievadīts kreisais, labais un operators, un tā sāksies ar kopēšanu skaitļu virknes mūsu iLeft un iRight dubultā ievadītajos mainīgajos, kas var veikt faktisko aprēķinus. Paziņojums Select Case ļauj mums palaist dažādu kodu atkarībā no ievadītā operatora un veic faktisko aprēķinu, ievietojot rezultātu iResult. Visbeidzot, mēs atjauninām tekstlodziņu ar rezultātu, nokopējam rezultātu mapē sLeft, atiestatām sRight un iestatām bLeft = True. Šīs pēdējās rindas ļauj mums ņemt aprēķina rezultātu un izmantot to cita aprēķina veikšanai.

Izmantojiet pēdējās trīs darbības pogas: sqrt, % un 1/x. Kvadrātsaknes pogas Click notikumam jūsu kods izskatīsies šādi:

Pirmajās 11 koda rindiņās ir jāpārliecinās, ka, ja mums nav ievadītas vērtības nevienai vienādojuma pusei, mēs aizstājam nulli tā vietā, lai mēģinātu kopēt tukšu virkni iLeft vai iRight, kas ģenerēs kļūda. Vidējās līnijas veic kvadrātsaknes funkciju pašreizējā aprēķina daļā, pa kreisi vai pa labi. Visbeidzot, mēs apvēršam sākumā veiktās pārbaudes, lai nulle tiktu kopēta kā tukša virkne atpakaļ sLeft un sRight.

Procentu pogai kods ir līdzīgs, ar vienu izņēmumu: procentu operāciju var veikt tikai tad, ja ir ievadīta gan kreisā, gan labā puse.

Visbeidzot, klikšķa notikums 1/x jeb frakcija, kas ir ļoti līdzīgs iepriekš norādītajam kodam:

Pievienojiet kodu, lai apstrādātu pogas C un CE. C dzēš visus kalkulatora ievades datus, savukārt CE tikai pašlaik ievadīto numuru.

Palaidiet savu kalkulatora programmu un veiciet visus vajadzīgos aprēķinus. Šo kalkulatoru var viegli paplašināt, lai veiktu vairāk darbību, sarežģītākus aprēķinus vai pat būtu zinātnisks kalkulators ar nelielu papildu darbu.

Padoms

Ja rodas kļūdas, pārbaudiet kodu rindiņu pa rindiņai, koncentrējoties uz rindām, kurās VB ir izsaukusi kļūdas, un salīdziniet to ar iepriekš minēto kodu. Šajā rakstā ietvertais kods ir pilnībā pārbaudīts, lai tajā nebūtu kļūdu, tāpēc, pareizi kopējot to, tiks izveidota funkcionāla programma. Ja izmantojat iepriekšējo Visual Basic versiju, var rasties problēmas, ja dažādās versijās ir veiktas izmaiņas valodā. Piemēram, iepriekšējās VB versijās tika izmantota matemātika. Sqrt() Math vietā. Sqr(), lai veiktu kvadrātsaknes darbību. Pārbaudiet savas konkrētās versijas atsauces, lai redzētu, vai ir nepieciešamas izmaiņas.