Başlangıç > Kodlar > Visual Basic 6’da Sayıları nokta ile ayırmak

Visual Basic 6’da Sayıları nokta ile ayırmak





Sayıları nokta ile ayırmak
Kodun yazıldığı sistem..: Pentium II 333Mhz, 64Mb ram
İşletim Sistemi.............: MS WindowsNT 4.0, Service Pack 5
Version.......................: MS Visual Basic 6.0 Enterprise + Service Pack 3

Sayıları nokta ile ayırmak



Bir arkadaşımız mail'inde sayıların arasına nokta koyarak göstermek istediğini yazmış. Böylece okunurluluğu arttırmış olacaktır. Text box'a girilen sayı onlar, yüzler, binler vs olarak ayrılmakta ve aralarına nokta koyulmaktadır. Ayrıca eğer ondalıklı bir sayı ise ondalıklı kısım korunarak görüntülenmektedir.  Şimdi aşağıdaki kodu bir modül içine kopyalayın ve bir form üzerine iki adet text box koyun.




Public Function VirgulEkle(ByVal Sayi As Double)

    Dim YeniSayi As String
    Dim VirgulluKisim As String
    Dim Yedek As String
    Dim TestSayisi As String

    TestSayisi = CStr(Sayi)

    For x = 1 To Len(TestSayisi)
        Yedek = Left(TestSayisi, x)

        If Right(Yedek, 1) = "," Then
            VirgulluKisim = Right(TestSayisi, Len(TestSayisi) - x)
            TestSayisi = Left(TestSayisi, (x - 1))
        End If

    Next x

    If (Len(TestSayisi) Mod 3) <> 0 Then
        YeniSayi = Left(TestSayisi, (Len(TestSayisi) Mod 3))
        YeniSayi = YeniSayi & "."
        TestSayisi = Right(TestSayisi, Len(TestSayisi) - (Len(TestSayisi) Mod 3))
    End If

    Do While (Len(TestSayisi) > 3)
        YeniSayi = YeniSayi & Left(TestSayisi, 3)
        YeniSayi = YeniSayi & "."
        TestSayisi = Right(TestSayisi, Len(TestSayisi) - 3)
    Loop

    YeniSayi = YeniSayi & TestSayisi

    If VirgulluKisim <> "" Then
        YeniSayi = YeniSayi & ","
        YeniSayi = YeniSayi & VirgulluKisim
    End If

    VirgulEkle = YeniSayi
    
End Function




Şimdi text boxlardan ilkinin LostFocus event'ine şu kodları yerleştirin.



Private Sub Text1_LostFocus()
    Dim Yazi As String
    
    Yazi = VirgulEkle(CDbl(Text1.Text))
    Text1.Text = CStr(Yazi)
End Sub



Text box'dan lostfocus durumu gerçekleştiğinde tb içindeki sayı formatlanarak noktalı hale getirilecektir. Bu mail'e bu kadar geç cevap verdiğim için kusura bakmayın. Çok meşgul günler geçiriyorum.

Her türlü sorularınız için mail adresim gyeniceri@hotmail.com.

Gurkan YENICERI

 

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