Cum să faci un calculator cu Visual Basic

Deschideți Visual Basic 6 și selectați „Standard EXE” din noul meniu al proiectului. Veți vedea un formular gol care va apărea pe ecran.

Redenumiți proiectul și formularul dvs. făcând clic pe „Proiect1” din partea dreaptă a ecranului, în lista de proiecte, și introducerea unui nou nume în linia „Nume” a casetei Proprietăți, care ar trebui să apară sub lista de proiecte după Mod implicit. Apăsați „Enter” pentru a accepta noul nume. Faceți același lucru pentru formularul dvs. (un nume de formular sugerat este „CalculatorUI”), asigurându-vă că introduceți un nume similar și în proprietatea „Caption”, care va schimba textul din bara de sus a formularului. Salvați proiectul într-un folder nou pe computer.

Adăugați butoane și o casetă de text în formular. Mai întâi, adăugați o casetă de text, care va fi acolo unde vor apărea numerele introduse în calculator, precum și rezultatele calculelor. Faceți acest lucru selectând butonul TextBox din bara de instrumente din partea stângă a ecranului, apoi trăgând cu mouse-ul dimensiunea și locația dorită pentru TextBox. După ce ați plasat TextBox, puteți modifica dimensiunea și locația trăgând-o într-o altă locație a formularului sau trăgând mânerele (pătratele mici) de-a lungul marginii TextBox. Asigurați-vă că modificați următoarele linii în fereastra Proprietăți, cu TextBox selectat: "(Nume)" = tbResult, „Aliniere” = 1- Justificare la dreapta, „Format de date” = (faceți clic pe butonul „...” pentru a selecta) Număr, „Blocat” = Adevărat și „Text” = 0.

Selectați pictograma CommandButton din bara de instrumente și creați primul buton în același mod în care ați creat TextBox pentru a adăuga butoane. Pentru referință, utilizați calculatorul Windows în vizualizarea Standard (Programe > Accesorii > Calculator) ca bază pentru aspectul calculatorului dvs., lăsând deoparte butoanele „MC”, „MR”, „MS” și „M+”. Pe fiecare buton, modificați următoarele proprietăți (folosind butonul „+” ca exemplu): „(Nume)” = btnPlus, „Caption” = +. Faceți același lucru pentru restul butoanelor calculatorului și apoi salvați-vă munca. Formularul dvs. ar trebui să semene acum cu exemplul prezentat aici.

Adăugați codul. Rețineți că, dacă butoanele și caseta de text nu sunt denumite la fel cum se așteaptă codul enumerat aici, va trebui pentru a schimba numele pentru a se potrivi cu butoanele și caseta de text sau modificați butoanele și caseta de text pentru a se potrivi cu aceasta cod. Mai întâi trebuie să creăm câteva variabile pentru procesarea intrării calculatorului:

Dim sLeft ca șir, sRight ca șir, sOperator ca șir Dim iLeft ca dublu, iDreapta ca dublu, iResult ca dublu Dim bLeft ca boolean

Fiecare calcul este format din patru părți: un număr la stânga operatorului (sLeft, iLeft), un operator (sOperator), un număr la dreapta operatorului (sRight, iRight) și un rezultat (iResult). Pentru a urmări dacă utilizatorul introduce numărul din stânga sau din dreapta, trebuie să creăm o variabilă booleană, bLeft. Dacă bLeft este adevărat, partea stângă a calculului este introdusă; dacă bLeft este fals, partea dreaptă este introdusă.

Inițializați variabila bLeft. Facem asta creând o subrutină Form_Load, pe care o puteți fie să tastați așa cum este listat aici, fie să o creați automat făcând dublu clic pe orice parte a formularului care nu este acoperită de un buton sau casetă de text. În interiorul funcției, trebuie să setăm bLeft la True, deoarece primul număr introdus va fi partea din stânga:

Creați o subrutină care se va ocupa de clic pe oricare dintre butoanele numerice. O creăm ca subrutină deoarece folosim cod identic pentru fiecare buton, iar folosirea unei subrutine înseamnă că nu trebuie să repetam același cod de zece ori. Introduceți următoarele sub linia End Sub a subrutinei Form_Load:

După cum puteți vedea, această funcție ia un parametru șir, sNumber, care va conține numărul pe care a făcut clic utilizatorul. Dacă bLeft este adevărat, acest număr este adăugat la șirul care reprezintă numărul introdus, sLeft, iar caseta de text, tbResult, este actualizată pentru a afișa noul număr. Dacă bLeft este fals, aceeași operație este efectuată folosind în schimb sRight.

În cele din urmă, creați o funcție de eveniment Click pentru fiecare număr care apelează subrutina noastră AddNumber. Puteți face acest lucru cu ușurință făcând dublu clic pe fiecare buton numeric, ceea ce va crea structura subrutinei pentru dvs. Apoi adăugați apelul la AddNumber, înlocuind numărul între ghilimele cu numărul asociat butonului. Pentru butonul zero, codul tău va arăta astfel:

La fel, pentru un singur buton, codul tău va arăta astfel:

Gestionați operatorii: plus, minus, ori și împărțiți. Vom face acest lucru ca ultimul pas, creând o subrutină care este numită în evenimentele Click pentru butoanele operatorului. Subrutina va arăta astfel:

Dacă bLeft este adevărat, adică utilizatorul tocmai a intrat în partea din stânga a calculului, această subrutină setează sVariabila operator pe care am creat-o la pasul 5 pentru a egala operatorul introdus, care este transmisă AddOperator ca șir sNewOperator. Al doilea pas este să setați bLeft la False, deoarece introducerea unui operator înseamnă că utilizatorul a terminat de introdus în partea stângă a ecuației. Pentru a gestiona intrările care unesc mai mulți operatori împreună, cum ar fi 9 * 3 * 2 * 6, trebuie să de asemenea, verificați dacă bLeft este fals, adică utilizatorul a introdus un operator unde ne așteptam egală. Mai întâi numim evenimentul Click pentru butonul egal (descris în pasul următor), care face calculul și setează tbResult la rezultatul a ceea ce a fost deja introdus. Apoi ștergem sRight, astfel încât utilizatorul să poată introduce următorul număr și setăm bLeft la False, astfel încât programul să știe că apoi introducem partea dreaptă a calculului.

În cele din urmă, adăugați un apel AddOperator la evenimentul Click al fiecărui buton de operator, folosind aceeași metodă pe care am folosit-o la pasul 7 pentru a crea evenimentele Click pentru butoanele numerice. Codul tău pentru butonul plus va arăta astfel:

Creați evenimentul Click pentru butonul egal, care este cel mai complex cod din acest program. Creați structura subrutinei așa cum ați făcut-o pentru celelalte butoane, făcând dublu clic pe butonul egal de pe formular. Subrutina dvs. va arăta astfel când ați introdus codul:

Primele trei linii de cod verifică pentru a vedea dacă ambele părți ale calculului au fost introduse împreună cu un operator. Dacă sunt introduse doar partea stângă și un operator, valoarea părții stângi este copiată în dreapta, astfel încât să putem imita comportamentul standard al calculatorului pentru gestionarea unei intrări precum 9 * =, care înmulțește 9 singur pentru a obține un rezultat de 81. Restul codului va rula numai dacă sunt introduse stânga, dreapta și operator și începe prin copiere șirurile de numere din variabilele noastre iLeft și iRight tip dublu, care pot face efectiv calcule. Declarația Select Case ne permite să rulăm cod diferit în funcție de operatorul introdus și efectuează calculul real, plasând rezultatul în iResult. În cele din urmă, actualizăm caseta de text cu rezultatul, copiem rezultatul în sLeft, resetam sRight și setăm bLeft = True. Aceste ultime linii ne permit să luăm rezultatul calculului și să-l folosim pentru a efectua un alt calcul.

Gestionați ultimele trei butoane de operare: sqrt, % și 1/x. Pentru evenimentul Click al butonului rădăcină pătrată, codul dvs. va arăta astfel:

Primele 11 linii de cod ne asigurăm că, dacă nu avem o valoare introdusă pentru oricare parte a ecuației, înlocuim zero în loc să încercăm să copiem un șir gol în iLeft sau iRight, care va genera un eroare. Liniile din mijloc efectuează funcția rădăcină pătrată în partea curentă a calculului, fie la stânga, fie la dreapta. În cele din urmă, inversăm verificările pe care le-am făcut la început, astfel încât un zero să fie copiat ca șir gol înapoi în sLeft și sRight.

Pentru butonul de procente, codul este similar, cu o singură excepție: operația de procente poate fi efectuată numai dacă sunt introduse ambele părți din stânga și din dreapta.

În cele din urmă, evenimentul Click 1/x sau fracțiune, care este foarte asemănător cu codul de mai sus:

Adăugați cod pentru a gestiona butoanele C și CE. C șterge toate datele introduse în calculator, în timp ce CE șterge doar numărul introdus în prezent.

Rulați programul de calculator și faceți orice calcul doriți. Acest calculator poate fi extins cu ușurință pentru a gestiona mai multe operațiuni, calcule mai complexe sau chiar pentru a fi un calculator științific cu puțină muncă în plus.

Bacsis

Dacă întâmpinați erori, verificați codul linie cu linie, concentrându-vă pe liniile pe care VB le-a spus ca conținând erori și comparați-l cu codul de mai sus. Codul conținut în acest articol a fost testat complet pentru a fi lipsit de erori, astfel încât copierea lui fidelă va avea ca rezultat un program funcțional. Dacă utilizați o versiune anterioară de Visual Basic, este posibil să întâmpinați unele probleme în care s-au făcut modificări în limbă între versiuni. Versiunile anterioare de VB, de exemplu, foloseau Math. Sqrt() în loc de Math. Sqr() pentru a efectua o operație cu rădăcină pătrată. Verificați Referințele pentru versiunea dvs. specifică pentru a vedea dacă sunt necesare modificări.