Számológép készítése Visual Basic segítségével

Nyissa meg a Visual Basic 6-ot, és válassza ki a „Standard EXE” lehetőséget az új projekt menüjéből. Egy üres űrlap jelenik meg a képernyőn.

Nevezze át projektjét és űrlapját a képernyő jobb oldalán, a projektlistában található "Project1" gombra kattintva, és a Tulajdonságok mező "Név" sorába írjon be egy új nevet, amelynek meg kell jelennie a projektlista alatt alapértelmezett. Nyomja meg az "Enter" gombot az új név elfogadásához. Tegye ugyanezt az űrlapon (a javasolt űrlapnév a "CalculatorUI"), ügyeljen arra, hogy a "Caption" tulajdonságban is hasonló nevet írjon be, ami megváltoztatja az űrlap felső sávjában lévő szöveget. Mentse a projektet egy új mappába a számítógépén.

Adjon hozzá gombokat és szövegdobozt az űrlaphoz. Először adjunk hozzá egy szövegdobozt, ahol megjelennek a számológépbe beírt számok, valamint a számítások eredményei. Ehhez válassza ki a TextBox gombot a képernyő bal oldalán található eszköztáron, majd húzza az egérrel a kívánt méretet és helyet a TextBox számára. Miután elhelyezte a szövegdobozt, módosíthatja a méretét és helyét úgy, hogy áthúzza az űrlap másik helyére, vagy húzza a fogantyúkat (a kis négyzeteket) a TextBox szegélye mentén. Ügyeljen arra, hogy a következő sorokat módosítsa a Tulajdonságok ablakban a TextBox kiválasztásával: "(Név)" = tbResult, "Igazítás" = 1- Jobb sorkizárás, "Adatformátum" = (a kiválasztásához kattintson a "..." gombra) Szám, "Zárolt" = igaz, és "Szöveg" = 0.

Válassza ki a CommandButton ikont az eszköztáron, és hozza létre az első gombot ugyanúgy, ahogy a TextBoxot a gombok hozzáadásához. Referenciaként használja a Windows számológépet Standard nézetben (Programok > Tartozékok > Számológép) a számológép elrendezésének alapjaként, hagyja el az „MC”, „MR”, „MS” és „M+” gombokat. Mindegyik gombon módosítsa a következő tulajdonságokat (példaként a "+" gomb használatával): "(Név)" = btnPlus, "Felirat" = +. Tegye meg ugyanezt a számológép többi gombjával, majd mentse el munkáját. Az űrlapnak most az itt látható példához kell hasonlítania.

Adja hozzá a kódot. Vegye figyelembe, hogy ha a gombok és a szövegdoboz elnevezése nem ugyanaz, mint az itt felsorolt ​​kód elvárása, akkor szüksége lesz rá hogy módosítsa a neveket, hogy megfeleljenek a gomboknak és a szövegdoboznak, vagy módosítsa a gombokat és a szövegmezőt, hogy megfeleljenek ennek kód. Először létre kell hoznunk néhány változót a számológép bevitelének feldolgozásához:

Dim sLeft As String, sRight As String, sOperator As String Dim iLeft As Double, iRight As Double, iResult As Double Dim bLeft As Boolean

Minden számítás négy részből áll: egy szám az operátortól balra (sLeft, iLeft), egy operátor (sOperator), egy szám az operátortól jobbra (sRight, iRight) és egy eredmény (iResult). Annak nyomon követéséhez, hogy a felhasználó bal vagy jobb számot ír-e be, létre kell hoznunk egy logikai változót, a bLeftet. Ha a bLeft igaz, akkor a számítás bal oldala kerül bevitelre; ha a bLeft értéke false, akkor a jobb oldalt írja be.

Inicializálja a bLeft változót. Ezt úgy tehetjük meg, hogy létrehozunk egy Form_Load szubrutint, amelyet vagy begépelhet az itt felsoroltak szerint, vagy automatikusan létrehozhat duplán az űrlap bármely olyan részére, amelyet gomb vagy szövegdoboz nem fed le. A függvényen belül a bLeft-et igazra kell állítanunk, mert az első beírt szám a bal oldali rész lesz:

Hozzon létre egy szubrutint, amely kezeli a számgombok bármelyikének kattintását. Ezt szubrutinként hozzuk létre, mert minden gombhoz azonos kódot használunk, és egy szubrutin használata azt jelenti, hogy nem kell tízszer megismételni ugyanazt a kódot. Írja be a következőket a Form_Load szubrutin End alsora alá:

Mint látható, ez a függvény egy karakterlánc-paramétert, az sNumber-t vesz fel, amely tartalmazza azt a számot, amelyre a felhasználó rákattintott. Ha a bLeft igaz, akkor ez a szám hozzá lesz fűzve a beírandó számot jelző sztringhez (sLeft), és a tbResult szövegmező frissül az új szám megjelenítéséhez. Ha a bLeft értéke false, akkor ugyanez a művelet az sRight használatával történik.

Végül hozzon létre egy Click esemény függvényt minden olyan számhoz, amely az AddNumber szubrutinunkat hívja. Ezt egyszerűen megteheti, ha duplán kattint az egyes számgombokra, amelyek létrehozzák a szubrutin szerkezetét. Ezután adja hozzá a hívást az AddNumberhez, és cserélje ki az idézőjelben lévő számot a gombhoz tartozó számra. A nulla gombhoz a kód így fog kinézni:

Hasonlóképpen, az egy gombhoz a kód így fog kinézni:

Kezelje az operátorokat: plusz, mínusz, idő és osztás. Ezt ugyanúgy fogjuk megtenni, mint az utolsó lépésben, létrehozva egy szubrutint, amelyet a Click eseményekben hívunk meg a kezelőgombokhoz. Az alprogram a következőképpen fog kinézni:

Ha a bLeft igaz, vagyis a felhasználó éppen most lépett be a számítás bal oldali részébe, ez az alprogram beállítja a sOperator változót hoztunk létre az 5. lépésben, hogy megegyezzen a beírt operátorral, amelyet karakterláncként adunk át az AddOperatornak. sNewOperator. A második lépés, hogy a bLeft értéket False értékre állítsa, mivel az operátor bevitele azt jelenti, hogy a felhasználó beírta az egyenlet bal oldalát. Ahhoz, hogy kezelhessük azokat a bejegyzéseket, amelyek több operátort tartalmaznak, például 9 * 3 * 2 * 6, azt is ellenőrizze, hogy a bLeft hamis-e, ami azt jelenti, hogy a felhasználó olyan operátort írt be, ahol azt vártuk egyenlő. Először meghívjuk a Click eseményt az egyenlőséghez (a következő lépésben ismertetjük), amely elvégzi a számítást, és a tbResult-t a már beírt eredményre állítja. Ezután töröljük az sRight-ot, hogy a felhasználó beírhassa a következő számot, és a bLeft-et False-ra állítjuk, hogy a program tudja, hogy a számítás jobb oldalára lépünk be.

Végül adjon hozzá egy AddOperator hívást az egyes kezelőgombok Click eseményéhez, ugyanazzal a módszerrel, mint amit a 7. lépésben használtunk a Click események létrehozásához a számgombokhoz. A plusz gomb kódja így fog kinézni:

Hozza létre a Click eseményt az egyenlő gombhoz, amely a program legösszetettebb kódja. Hozza létre a szubrutin szerkezetét a többi gombhoz hasonlóan úgy, hogy duplán kattintson az egyenlőség gombra az űrlapon. A szubrutin így fog kinézni, ha megadta a kódot:

A kód első három sora ellenőrzi, hogy a számítás mindkét oldalát beírták-e operátorral együtt. Ha csak a bal oldalt és egy operátort írunk be, akkor a bal oldal értéke jobbra másolódik, így utánozni tudjuk a szokásos számológép viselkedése olyan bejegyzések kezelésére, mint a 9 * =, amely 9-et megszoroz önmagával, és 81-et kap. A kód többi része csak bal, jobb és operátor megadása esetén fut le, és másolással kezdődik a számsorokat az iLeft és az iRight duplán beírt változóinkba, amelyek a tényleges számításokat. A Select Case utasítás lehetővé teszi különböző kód futtatását attól függően, hogy melyik operátort adta meg, és elvégzi a tényleges számítást, és az eredményt az iResultba helyezi. Végül frissítjük a szövegdobozt az eredménnyel, átmásoljuk az eredményt az sLeftbe, visszaállítjuk az sRight-ot, és beállítjuk a bLeft = True értéket. Ezek az utolsó sorok lehetővé teszik, hogy a számítás eredményét vegyük, és egy másik számítás elvégzésére használjuk fel.

Kezelje az utolsó három kezelőgombot: sqrt, % és 1/x. A négyzetgyök gomb Click eseményénél a kód így fog kinézni:

A kód első 11 sora gondoskodik arról, hogy ha az egyenlet egyik oldalára sem adtunk meg értéket, nullával helyettesítjük ahelyett, hogy megpróbálnánk egy üres karakterláncot bemásolni az iLeft vagy iRight karakterláncba, ami egy hiba. A középső vonalak a négyzetgyök függvényt hajtják végre a számítás aktuális részén, akár balra, akár jobbra. Végül megfordítjuk az elején végzett ellenőrzéseket, így a nulla üres karakterláncként visszamásolódik az sLeft és sRight karakterláncokba.

A százalék gombnál a kód hasonló, egy kivétellel: a százalékos művelet csak akkor hajtható végre, ha a bal és a jobb oldalt is beírjuk.

Végül az 1/x vagy tört kattintás esemény, amely nagyon hasonlít a fenti kódhoz:

Adjon hozzá kódot a C és CE gombok kezeléséhez. C törli a számológép minden bevitelét, míg a CE csak az éppen beírt számot.

Futtassa a számológépet, és végezzen bármilyen számítást. Ez a számológép egyszerűen bővíthető több művelet elvégzésére, bonyolultabb számítások elvégzésére, vagy akár tudományos számológéppé is válhat egy kis plusz munkával.

Tipp

Ha hibákat tapasztal, ellenőrizze soronként a kódot, összpontosítva azokra a sorokra, amelyekben a VB hibát tartalmaz, és hasonlítsa össze a fenti kóddal. Az ebben a cikkben található kódot teljes körűen tesztelték, hogy hibamentes legyen, így hűséges másolása működőképes programot eredményez. Ha a Visual Basic korábbi verzióját használja, problémákba ütközhet, ha a nyelven változtatásokat hajtottak végre a különböző verziókban. A VB korábbi verziói például matematikát használtak. Sqrt() a Math helyett. Sqr() négyzetgyök művelet végrehajtásához. Tekintse meg az adott verzióhoz tartozó hivatkozásokat, hogy megtudja, szükséges-e bármilyen változtatás.