Excel Forum
ALTIN ÜYELİK Hakkında Bilgi


Geri Git   Excel Forum > Diğer Yazılımlar > Access Örnekleri ve Bilgileri > Access Dersanesi
Atatürk
Şifremi Unuttum

DUYURU SİSTEMİ / REKLAM PANOSU

Access Dersanesi Bu başlıkta eğitim ve öğretim amaçlı her türlü access dokümanını paylaşabilirsiniz.

Özel Arama


Yanıtla
 
Paylaş Konu Araçları Görünüm Modları
Eski 12-04-2009, 17:16   #1
modalı
Uzman
 
modalı kullanıcısının avatarı
 
Giriş: 25/12/2005
Şehir: İstanbul
Mesaj: 4,162
Excel Vers. ve Dili:
MS Office 2010 Pro Türkçe
Varsayılan Basit bir hesap makinası oluşturma.

Foruma eklediğim bir uygulamayla ilgili soru soran arkadaşlar var. Onlar için basit bir hesap makinasının yapım aşamalarını ekliyorum. Uygulama ekte.

Önce yeni bir access uygulaması oluşyuruyoruz. Sonra tasarım görünümğnde bir form ekleyip frmHesapmakinasi olarak kydediyoruz.

Form üstüne bir metin kutusu (adı:sayi) ekliyoruz. Daha sonra ise 0-9 arası 10 adet düğme ekliyoruz (adları. b0,b1,...b9). İşlemleri yapacak 6 adet düğme daha ekliyoruz (adları: topla, cikar, carp, bol, esit, clear)

Form üstünde iitediğimiz değişiklikleri ve özellikleri ayarlıyoruz. (Form özelliklerinden biçim sekmesi ayarları.

Formun kod yazma penceresini açarak en üstte iki genel değişken ekliyoruz. (giris ve islem). Eğer sonuçlar diğer formlarda kullanılacak ise yeni bir modülde belirtmemiz gerekiyor.

Numara düğümelerinin klik olaylarının kodlarını şöyle oluşturuyoruz.

Kod: (Rahat kopyalayabilmeniz için tüm kodu seçmenizi sağlar)
Private Sub b0_Click()
Me.sayi.Value = Val(Me.sayi.Value) * 10 + 0
End Sub
Private Sub b1_Click()
Me.sayi.Value = Val(Me.sayi.Value) * 10 + 1
End Sub
Private Sub b2_Click()
Me.sayi.Value = Val(Me.sayi.Value) * 10 + 2
End Sub
Private Sub b3_Click()
Me.sayi.Value = Val(Me.sayi.Value) * 10 + 3
End Sub
Private Sub b4_Click()
Me.sayi.Value = Val(Me.sayi.Value) * 10 + 4
End Sub
Private Sub b5_Click()
Me.sayi.Value = Val(Me.sayi.Value) * 10 + 5
End Sub
Private Sub b6_Click()
Me.sayi.Value = Val(Me.sayi.Value) * 10 + 6
End Sub
Private Sub b7_Click()
Me.sayi.Value = Val(Me.sayi.Value) * 10 + 7
End Sub
Private Sub b8_Click()
Me.sayi.Value = Val(Me.sayi.Value) * 10 + 8
End Sub
Private Sub b9_Click()
Me.sayi.Value = Val(Me.sayi.Value) * 10 + 9
End Sub
1 e tıklanınca yani yazılan sayıyı 10 ile çarp 1 ekle
örneğin 123 yazıyosa, 1230 + 1 = 1231
bunu, tıklanınca sayıyı yanına eklemesi için kullanıyoruz.


Böl butonunun klik olayı:

Kod: (Rahat kopyalayabilmeniz için tüm kodu seçmenizi sağlar)
Private Sub bol_Click()
If giris > 0 Then
    If islem = "+" Then Me.sayi.Value = Val(giris) + Val(Me.sayi.Value)
    If islem = "-" Then Me.sayi.Value = Val(giris) - Val(Me.sayi.Value)
    If islem = "*" Then Me.sayi.Value = Val(giris) * Val(Me.sayi.Value)
    If islem = "/" Then Me.sayi.Value = Val(giris) / Val(Me.sayi.Value)
End If
giris = Me.sayi.Value
Me.sayi.Value = ""
Me.sayi.SetFocus
islem = "/"
End Sub
Açıklama :
ilk satırda alt kod için giriş yaptık. onu geçiyorum

2-7 satırlar arasında sunu kastediyoruz.
eğer giris değişkenine değer atandıysa, yani daha önceden işlem yapıldıysa sonucu yazdır ve işlem yapmaya devam et. yani programın üstüste işlemler yapabilmesi için gerekli olan kısım.

8. Satır >> giris değişkenine girilen sayıyı aktarıyoruz.
9. Satır >> sayi nesnesini (yazı girilen alan) boşaltıyoruz.
10. Satır >> ve imleci yazı alanına konumlandırıyoruz.
11. Satır >> islem değişkenine / karakterini atıyoruz. (hangi işlemi yapacağını belirlemek için)
12. Alt kod kısmını kapatıyoruz.


diğerleri de aynı şekilde. sadece 11. satırda değişiklik yapıyoruz.


Çarp butonu klik olayı:


Kod: (Rahat kopyalayabilmeniz için tüm kodu seçmenizi sağlar)
Private Sub carp_Click()
If giris > 0 Then
If islem = "+" Then Me.sayi.Value = Val(giris) + Val(Me.sayi.Value)
If islem = "-" Then Me.sayi.Value = Val(giris) - Val(Me.sayi.Value)
If islem = "*" Then Me.sayi.Value = Val(giris) * Val(Me.sayi.Value)
If islem = "/" Then Me.sayi.Value = Val(giris) / Val(Me.sayi.Value)
End If
giris = Me.sayi.Value
Me.sayi.Value = ""
Me.sayi.SetFocus
islem = "*"
End Sub


çıkar butonu klik olayı:

Kod: (Rahat kopyalayabilmeniz için tüm kodu seçmenizi sağlar)
Private Sub cıikar_Click()
If giris > 0 Then
If islem = "+" Then Me.sayi.Value = Val(giris) + Val(Me.sayi.Value)
If islem = "-" Then Me.sayi.Value = Val(giris) - Val(Me.sayi.Value)
If islem = "*" Then Me.sayi.Value = Val(giris) * Val(Me.sayi.Value)
If islem = "/" Then Me.sayi.Value = Val(giris) / Val(Me.sayi.Value)
End If
giris = Me.sayi.Value
Me.sayi.Value = ""
Me.sayi.SetFocus
islem = "-"
End Sub
Topla butonu klik olayı.

Kod: (Rahat kopyalayabilmeniz için tüm kodu seçmenizi sağlar)
Private Sub topla_Click()
If giris > 0 Then
If islem = "+" Then Me.sayi.Value = Val(giris) + Val(Me.sayi.Value)
If islem = "-" Then Me.sayi.Value = Val(giris) - Val(Me.sayi.Value)
If islem = "*" Then Me.sayi.Value = Val(giris) * Val(Me.sayi.Value)
If islem = "/" Then Me.sayi.Value = Val(giris) / Val(Me.sayi.Value)
End If
giris = Me.sayi.Value
Me.sayi.Value = ""
Me.sayi.SetFocus
islem = "+"
End Sub
eşit butonu klik olayı:

Kod: (Rahat kopyalayabilmeniz için tüm kodu seçmenizi sağlar)
Private Sub esit_Click()
If islem = "+" Then Me.sayi.Value = Val(giris) + Val(Me.sayi.Value)
If islem = "-" Then Me.sayi.Value = Val(giris) - Val(Me.sayi.Value)
If islem = "*" Then Me.sayi.Value = Val(giris) * Val(Me.sayi.Value)
If islem = "/" Then Me.sayi.Value = Val(giris) / Val(Me.sayi.Value)
End Sub
Açıklama >> burda yapılanı diğer butonlarda birden fazla işlem yapılabilmesi için kullandık.
peki ne yazıyor burda ?? güzel soru
kullanıcı,
+ butonuna tıklayınca islem değişkeni "+" değerini almıştı.
- butonuna tıklayınca islem değişkeni "-" değerini almıştı.
* butonuna tıklayınca islem değişkeni "*" değerini almıştı.
/ butonuna tıklayınca islem değişkeni "/" değerini almıştı.

bu satırlarda da diyorki.
eğer islem değişkeni + ise (yani kullanıcı +ya basmışsa) ilk sayıyla 2. sayıyı topla

eğer işlem değişkeni - ise (yani kullanıcı - ye basmışsa) ilk sayıdan 2. sayıyı çıkar.

bölme ve çarpma da aynı şekilde....


Clear butonu kodları:

Kod: (Rahat kopyalayabilmeniz için tüm kodu seçmenizi sağlar)
Private Sub clear_Click()
Me.sayi.Value = 0
islem = ""
giris = 0
End Sub
2.satır >> sayı girdiğimiz alanı temizler.
3. satır >> işlem değişkenini temizler.
4. satır >> giris değişkenini temizler.


Bir de form ilk açılışında sayı metin kutusuna 0 değerini atamamız veya özelliklerden default ayarını 0 yapmamız gerekir.

Kod: (Rahat kopyalayabilmeniz için tüm kodu seçmenizi sağlar)
Private Sub Form_Load()
Me.sayi.Value = 0
End Sub
İyi çalışmalar
Eklenmiş Dosyalar
Dosya Türü: rar hesap_makinası.rar (13.4 KB, 289 Görüntülenme)
modalı Çevrimdışı   Alıntı Yaparak Cevapla
Eski 12-04-2009, 19:29   #2
semih11
 
Giriş: 11/04/2009
Mesaj: 3
Excel Vers. ve Dili:
SQL
Varsayılan

Çok tesekkür ederim özel mesajdan istemiştim sagolun beni kırmadınız ve yardım ettiniz sizin sayenizde ödevimi yetiştirdim size minnetarım
semih11 Çevrimdışı   Alıntı Yaparak Cevapla
Eski 14-04-2010, 20:33   #3
burrek
 
Giriş: 18/02/2010
Şehir: sasane
Mesaj: 1
Excel Vers. ve Dili:
kuiaü
Varsayılan

Bu hesap makınesınde nok ta nıe yok onu nasıl yapıcam...?
burrek Çevrimdışı   Alıntı Yaparak Cevapla
Eski 15-04-2010, 07:59   #4
İsmail Küçükşengün
 
İsmail Küçükşengün kullanıcısının avatarı
 
Giriş: 31/08/2005
Şehir: İstanbul
Mesaj: 1,531
Excel Vers. ve Dili:
Excel 2003 - Türkçe
Varsayılan

Sayın Modalı. Paylaşımınıza çok teşekkürler.

Kuruş hanesi için nokta kısmı da ilave edilebilir mi?
__________________
İyi Çalışmalar....

Excel XP - Türkçe
İsmail Küçükşengün Çevrimdışı   Alıntı Yaparak Cevapla
Yanıtla


Konu Araçları
Görünüm Modları

Gönderme Kuralları
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Açık
SimgelerAçık
[IMG] kodu Açık
HTML kodu Kapalı


Saat 10:40


Bu forum Elit NET - www.elitnet.com.tr tarafından sunulmaktadır.

Excel Eğitimi - Mobil Uygulama - Çorlu - Çorlu Web Tasarım - Tarot Falı - invest in turkey - Lingerie - Dyeing Machine - Karton Bardak- Çorlu Özel Eğitim- Site Yönetimi- Led Aydınlatma- Pronet Tekirdağ- Çorlu Kamera- Pronet Edirne- Pronet Kırklareli- Pronet Çerkezköy- Pronet Çorlu- Pronet Lüleburgaz- Pronet Keşan- Çorlu Araç Takip- Çorlu Su Arıtma- Boru Profil- Gebze Emlak- Beylikdüzü Temizlik- İstanbul Burun Estetiği- Bakır Sülfat- Rampa- Rotary- Çorlu İnternet Sitesi- youngblood- Çorlu Palet- Çerkezköy Palet- Çorlu Prefabrik- Çorlu Sürücü Kursu- Çorlu Sandviç Panel- Şişli Avukat- Korona Test Kalemi- Çorlu Vinç- Çorlu Pimapen Tamiri-
Powered by vBulletin Version 3.7.2
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Advertisement System V2.6 By   Branden