Başlangıç > Kodlar > Visual Basic 6 ile Vergi iadesi hesaplamak

Visual Basic 6 ile Vergi iadesi hesaplamak


Ne kadar vergi iadesi alınacağını hesaplayan program


Yıl sonu geldi  ve biriktirdiğimiz  fişleri teslim etme zamanı yaklaşıyor.  Ücretliler bir yıl boyunca biriktirdikleri harcama belgelerini 22 Ocak Pazartesi akşamına kadar çalıştıkları yerlerin personel bölümlerine teslim etmeleri gerekiyor.

2006 yılında topladığımız fişlerin  vergi iadesi;  ilk 3.600 YTL lik kısmı için  %8, ikinci 3.600 YTL lik kısmı  için %6 ve geriye kalan kısmı içinde  %4 üzerinden  hesaplanacak.

Bilindiği gibi 2007 yılından itibaren de  vergi iadesi kaldırılarak yerine asgari geçim indirimi getirilmesi yönünde çalışmalar var.

Aşağıda topladığınız fiş miktarını text kutusuna girdiğinizde alacağınız vergi iadesi tutarını otomatik hesaplayan programın kodlarını veriyorum.

Visual Basic'te boş bir form açın ve  6 adet text kutusu, 1 adet label, 3 adet komut butonu ekleyin.

Text kutularının adını Txtfişmiktarı, Txtilkdilim, Txtikincidilim, Txtilkyüzde, Txtikinciyüzde, Txtsonyüzde olarak değiştirin.

Label kutusunun adını lbliademiktari olarak değiştirin.

Komut butonlarının adını cmdhesapla, cmdtemizle, cmdcikis olarak değiştirin. Ve aşağıdaki komutları formunuza ekleyip programı çalıştırın.

Program çalıştığında text kutularına gerekli rakamlar yüklenecektir. Siz txtfişmiktarı kutusuna hesaplanmasını istediğiniz fiş miktarını girip cmdhesapla tuşuna  bastığınızda alacağınız vergi iadesi tutarı otomatik olarak hesaplanacak ve sonuç  lbliademiktarı (label) kutusunda görülecektir.  Program Text kutularına sadece rakam  karakterlerini girmenize izin vermektedir.

Burada program açıkken vergi iadesi hesabında baz alınacak  txtilkdilim, txtikincidilim kutularını ve txtilkyüzde, txtikinciyüzde, txtsonyüzde oranlarını değiştirerek  farklı sonuçların hesaplanmasını sağlayabilirsiniz. Yani kontrol bizde. İstediğimiz dilim için istediğimiz oranı girerek hesaplama yaptırabiliriz.

Tüm arkadaşlara çalışmalarında başarılar diliyorum..

Dim a1, a2, a3, a4, a5, a6, b, c As Integer
Private Sub cmdhesapla_Click()
Dim gir, çik  As Currency
Dim d1, d2, o1, o2, o3 As Single

gir = Val(txtfişmiktari.Text)

d1 = Val(txtilkdilim.Text)
d2 = Val(txtikincidilim.Text)
o1 = Val(txtilkyüzde.Text)
o2 = Val(txtikinciyüzde.Text)
o3 = Val(txtsonyüzde.Text)
If gir = "" Then
çik = ""
Exit Sub
End If
Select Case gir
Case Is <= d1
çik = gir * (o1 / 100)
Case Is <= d1 + d2
çik = (d1 * (o1 / 100)) + ((gir - d1) * (o2 / 100))
Case Is > d1 + d2
çik = (d1 * (o1 / 100)) + (d2 * (o2 / 100)) + ((gir - (d1 + d2)) * (o3 / 100))
End Select
b = InStr(1, çik, ",")

If b > 0 Then
çik = (Int(çik * 100)) / 100
End If
lbliademiktari.Caption = çik
txtfişmiktari.SetFocus
lbliademiktari.BackColor = &HC0E0FF
End Sub

Private Sub cmdtemizle_Click()
txtfişmiktari.Text = ""
lbliademiktari.Caption = ""
lbliademiktari.BackColor = &HC0FFFF
txtfişmiktari.SetFocus
End Sub

Private Sub cmdcikis_Click()
End
End Sub

Private Sub Form_Load()
txtilkdilim = 3600
txtikincidilim = 3600
txtilkyüzde = 8
txtikinciyüzde = 6
txtsonyüzde = 4
End Sub

Private Sub txtfişmiktari_Change()
'lbliademiktari.ForeColor = &H80000012

lbliademiktari.BackColor = &HC0FFFF
lbliademiktari.Caption = ""
End Sub

Private Sub txtfişmiktari_KeyPress(KeyAscii As Integer)
If KeyAscii = Asc(",") Or KeyAscii = Asc(".") Then
a1 = InStr(1, txtfişmiktari.Text, ".")
If a1 > 0 Then
KeyAscii = 0
Else
KeyAscii = Asc(".")
End If
ElseIf KeyAscii < Asc("0") Or KeyAscii > Asc("9") Or KeyAscii = 32 Then
KeyAscii = 0
End If
End Sub

Private Sub txtilkdilim_KeyPress(KeyAscii As Integer)
If KeyAscii = Asc(",") Or KeyAscii = Asc(".") Then
a2 = InStr(1, txtilkdilim.Text, ".")
If a2 > 0 Then
KeyAscii = 0
Else
KeyAscii = Asc(".")
End If
ElseIf KeyAscii < Asc("0") Or KeyAscii > Asc("9") Or KeyAscii = 32 Then
KeyAscii = 0
End If
End Sub

Private Sub txtilkyüzde_KeyPress(KeyAscii As Integer)
If KeyAscii = Asc(",") Or KeyAscii = Asc(".") Then
a3 = InStr(1, txtilkyüzde.Text, ".")
If a3 > 0 Then
KeyAscii = 0
Else
KeyAscii = Asc(".")
End If
ElseIf KeyAscii < Asc("0") Or KeyAscii > Asc("9") Or KeyAscii = 32 Then
KeyAscii = 0
End If
End Sub

Private Sub txtikincidilim_KeyPress(KeyAscii As Integer)
If KeyAscii = Asc(",") Or KeyAscii = Asc(".") Then
a4 = InStr(1, txtikincidilim.Text, ".")
If a4 > 0 Then
KeyAscii = 0
Else
KeyAscii = Asc(".")
End If
ElseIf KeyAscii < Asc("0") Or KeyAscii > Asc("9") Or KeyAscii = 32 Then
KeyAscii = 0
End If
End Sub

Private Sub txtikinciyüzde_KeyPress(KeyAscii As Integer)
If KeyAscii = Asc(",") Or KeyAscii = Asc(".") Then
a5 = InStr(1, txtikinciyüzde.Text, ".")
If a5 > 0 Then
KeyAscii = 0
Else
KeyAscii = Asc(".")
End If
ElseIf KeyAscii < Asc("0") Or KeyAscii > Asc("9") Or KeyAscii = 32 Then
KeyAscii = 0
End If
End Sub

Private Sub txtsonyüzde_KeyPress(KeyAscii As Integer)
If KeyAscii = Asc(",") Or KeyAscii = Asc(".") Then
a6 = InStr(1, txtsonyüzde.Text, ".")
If a6 > 0 Then
KeyAscii = 0
Else
KeyAscii = Asc(".")
End If
ElseIf KeyAscii < Asc("0") Or KeyAscii > Asc("9") Or KeyAscii = 32 Then
KeyAscii = 0
End If
End Sub


TD Software


Reklamlar
  1. Henüz yorum yapılmamış.
  1. No trackbacks yet.

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Google+ fotoğrafı

Google+ hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Connecting to %s

%d blogcu bunu beğendi: