Visual Basic ile Hesap Makinesi Nasıl Yapılır?

Visual Basic 6'yı açın ve yeni proje menüsünden "Standart EXE"yi seçin. Ekranda boş bir form göreceksiniz.

Proje listesinde ekranın sağ tarafında bulunan "Proje1" butonuna tıklayarak projenizi ve formunuzu yeniden adlandırın, ve Proje listesinin altında görünmesi gereken Özellikler kutusunun "Ad" satırına yeni bir ad girerek varsayılan. Yeni adı kabul etmek için "Enter" tuşuna basın. Aynısını formunuz için yapın (önerilen bir form adı "CalculatorUI" dır), "Caption" özelliğine de benzer bir ad girdiğinizden emin olun; bu, formun üst çubuğundaki metni değiştirir. Projeyi bilgisayarınızda yeni bir klasöre kaydedin.

Forma düğmeler ve bir metin kutusu ekleyin. İlk olarak, hesap makinesine girilen sayıların yanı sıra hesaplama sonuçlarının görüneceği bir metin kutusu ekleyin. Bunu, ekranın sol tarafındaki araç çubuğundan TextBox düğmesini seçerek ve ardından farenizle TextBox için istediğiniz boyut ve konumu sürükleyerek yapın. TextBox'ı yerleştirdikten sonra, formun başka bir yerine sürükleyerek veya tutamaçları (küçük kareler) TextBox'ın kenarı boyunca sürükleyerek boyutu ve konumu değiştirebilirsiniz. Özellikler penceresinde aşağıdaki satırları TextBox seçiliyken değiştirdiğinizden emin olun: "(Ad)" = tbResult, "Hizalama" = 1- Sağa Yasla, "Veri Formatı" = (seçmek için "..." düğmesine tıklayın) Sayı, "Kilitli" = Doğru ve "Metin" = 0.

Araç çubuğunda KomutDüğmesi simgesini seçin ve düğme eklemek için Metin Kutusunu oluşturduğunuz gibi ilk düğmeyi oluşturun. Referans olarak, "MC", "MR", "MS" ve "M+" düğmelerini dışarıda bırakarak, standart görünümde (Programlar > Aksesuarlar > Hesap Makinesi) hesap makinesi düzeniniz için temel olarak Windows hesap makinesini kullanın. Her düğmede aşağıdaki özellikleri değiştirin (örnek olarak "+" düğmesini kullanarak): "(Ad)" = btnPlus, "Altyazı" = +. Hesap makinesi düğmelerinin geri kalanı için de aynısını yapın ve ardından çalışmanızı kaydedin. Formunuz şimdi burada gösterilen örneğe benzemelidir.

Kodu ekleyin. Düğmeleriniz ve metin kutunuz burada listelenen kodun beklediği gibi adlandırılmamışsa, ihtiyacınız olacağını unutmayın. adları düğmelerinize ve metin kutunuza uyacak şekilde değiştirmek veya düğmelerinizi ve metin kutunuzu buna uyacak şekilde değiştirmek için kod. Öncelikle hesap makinesi girdisini işlemek için birkaç değişken oluşturmamız gerekiyor:

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

Her hesaplama dört bölümden oluşur: operatörün solundaki bir sayı (sLeft, iLeft), bir operatör (sOperator), operatörün sağındaki bir sayı (sRight, iRight) ve bir sonuç (iResult). Kullanıcının sol veya sağ sayıyı girip girmediğini takip etmek için bir boolean değişkeni bLeft oluşturmamız gerekiyor. bLeft true ise, hesaplamanın sol tarafına giriliyor; bLeft false ise, sağ tarafa giriliyor.

bLeft değişkenini başlatın. Bunu, burada listelendiği gibi yazabileceğiniz veya formun bir düğme veya metin kutusu tarafından kapsanmayan herhangi bir bölümüne çift tıklayarak otomatik olarak oluşturabileceğiniz bir Form_Load alt yordamı oluşturarak yapıyoruz. Fonksiyonun içinde bLeft'i True olarak ayarlamamız gerekiyor, çünkü girilen ilk sayı sol kısım olacak:

Sayı düğmelerinden herhangi birinin tıklanmasını işleyecek bir alt program oluşturun. Bunu bir alt program olarak oluşturuyoruz çünkü her düğme için aynı kodu kullanıyoruz ve bir alt program kullanmak aynı kodu on kez tekrarlamak zorunda kalmamak anlamına geliyor. Aşağıdakileri Form_Load alt rutininin End Sub satırının altına girin:

Gördüğünüz gibi, bu işlev, kullanıcının tıkladığı sayıyı içerecek olan sNumber adlı bir dize parametresi alır. bLeft true ise, bu sayı girilen sayıyı temsil eden dizgeye eklenir, sLeft ve metin kutusu, tbResult, yeni sayıyı gösterecek şekilde güncellenir. bLeft false ise, aynı işlem bunun yerine sRight kullanılarak gerçekleştirilir.

Son olarak, AddNumber alt programımızı çağıran her numara için bir Click olayı işlevi oluşturun. Bunu, sizin için alt program yapısını oluşturacak olan her bir sayı düğmesine çift tıklayarak kolayca yapabilirsiniz. Ardından, aramayı AddNumber'a ekleyin, tırnak içindeki numarayı düğmeyle ilişkili numarayla değiştirin. Sıfır düğmesi için kodunuz şöyle görünecektir:

Aynı şekilde, bir düğme için kodunuz şöyle görünecektir:

Operatörleri kullanın: artı, eksi, zamanlar ve bölme. Bunu son adımdaki gibi yapacağız, operatör düğmeleri için Click olaylarında çağrılan bir alt program oluşturacağız. Alt program aşağıdaki gibi görünecektir:

bLeft true ise, yani kullanıcı hesaplamanın sol kısmına yeni girmişse, bu alt program aşağıdakileri ayarlar. Girilen operatöre eşit olması için 5. adımda oluşturduğumuz sOperator değişkeni, AddOperator'a dize olarak aktarılır sYeniOperatör. İkinci adım, bLeft'i False olarak ayarlamaktır, çünkü bir operatörün girişi, kullanıcının denklemin sol tarafına girmeyi tamamladığı anlamına gelir. 9 * 3 * 2 * 6 gibi birden çok operatörü bir araya getiren girdileri işlemek için, ayrıca bLeft'in yanlış olup olmadığını kontrol edin, yani kullanıcı bizim beklediğimiz bir operatöre girdi. eşittir. Önce eşittir düğmesi için Click olayını çağırırız (bir sonraki adımda anlatılır), bu hesaplamayı yapar ve tbResult değerini önceden girilmiş olanın sonucuna ayarlar. Ardından, kullanıcının bir sonraki sayıyı girebilmesi için sRight'ı temizleriz ve programın bir sonraki hesaplamanın sağ tarafına girdiğimizi bilmesi için bLeft'i False olarak ayarlarız.

Son olarak, sayı düğmeleri için Click olaylarını oluşturmak üzere 7. adımda kullandığımız yöntemi kullanarak her operatör düğmesinin Click olayına bir AddOperator çağrısı ekleyin. Artı düğmesi için kodunuz şöyle görünecektir:

Bu programdaki en karmaşık kod olan eşittir düğmesi için Click olayını oluşturun. Formunuzdaki eşittir butonuna çift tıklayarak diğer butonlarda yaptığınız gibi alt program yapısını oluşturunuz. Kodu girdiğinizde alt programınız şöyle görünecektir:

İlk üç kod satırı, bir operatörle birlikte hesaplamanın her iki tarafının da girilip girilmediğini kontrol eder. Sadece sol taraf ve bir operatör girilirse, sol tarafın değeri sağa kopyalanır, böylece taklit edebiliriz 9 * = gibi bir girişi işlemek için standart hesap makinesi davranışı; bu, 81 sonucunu elde etmek için 9'u kendisiyle çarpar. Kodun geri kalanı yalnızca sol, sağ ve operatör girildiğinde çalışır ve kopyalayarak başlar sayı dizilerini, gerçek işlemi yapabilen iLeft ve iRight Double-typed değişkenlerimize hesaplamalar. Select Case ifadesi, hangi operatörün girildiğine bağlı olarak farklı kod çalıştırmamıza izin verir ve sonucu iResult'a yerleştirerek gerçek hesaplamayı gerçekleştirir. Son olarak, metin kutusunu sonuçla güncelliyoruz, sonucu sLeft'e kopyalıyoruz, sRight'ı sıfırlıyoruz ve bLeft = True olarak ayarlıyoruz. Bu son satırlar, hesaplamanın sonucunu almamızı ve başka bir hesaplama yapmak için kullanmamızı sağlar.

Son üç işlem düğmesini kullanın: sqrt, % ve 1/x. Karekök düğmesinin Click olayı için kodunuz şöyle görünecektir:

Kodun ilk 11 satırı, denklemin her iki tarafı için girilen bir değere sahip değilsek, boş bir dizeyi iLeft veya iRight'a kopyalamaya çalışmak yerine sıfırı değiştiririz; hata. Ortadaki çizgiler, hesaplamanın sol veya sağ kısmındaki karekök işlevini gerçekleştirir. Son olarak, başlangıçta yaptığımız kontrolleri tersine çeviririz, böylece bir sıfır boş bir dize olarak tekrar sLeft ve sRight'a kopyalanır.

Yüzde düğmesi için kod, bir istisna dışında benzerdir: yüzde işlemi yalnızca hem sol hem de sağ taraf girildiğinde gerçekleştirilebilir.

Son olarak, yukarıdaki koda çok benzeyen 1/x veya kesir Click olayı:

C ve CE düğmelerini işlemek için kod ekleyin. C, hesap makinesine yapılan tüm girdileri siler, CE ise yalnızca girilen sayıyı siler.

Hesap makinesi programınızı çalıştırın ve dilediğiniz hesaplamayı yapın. Bu hesap makinesi, daha fazla işlemi, daha karmaşık hesaplamaları yapmak ve hatta biraz ekstra çalışmayla bilimsel bir hesap makinesi olmak için kolayca genişletilebilir.

Hatalarla karşılaşırsanız, VB'nin hata içerdiğini söylediği satırlara odaklanarak kodunuzu satır satır kontrol edin ve yukarıdaki kodla karşılaştırın. Bu makalede yer alan kodun hatasız olduğu tamamen test edilmiştir, bu nedenle aslına uygun olarak kopyalamak işlevsel bir programla sonuçlanacaktır. Visual Basic'in önceki bir sürümünü kullanıyorsanız, sürümler arasında dilde değişiklik yapıldığında bazı sorunlarla karşılaşabilirsiniz. Örneğin, VB'nin önceki sürümleri Math'ı kullanıyordu. Math yerine Sqrt(). Karekök işlemi gerçekleştirmek için Sqr(). Herhangi bir değişikliğin gerekli olup olmadığını görmek için kendi sürümünüz için Referansları kontrol edin.