Favorilerine Ekle | Giriş Sayfan Yap | Tavsiye Et

 

Kurs Tanıtım Sayfası | Süper Üye Kimdir? | Menü Tasarımı Konulu Örnek Ders
Kod İndir| Hazır Kodlar | Makaleler| İpuçları | VB .NET Kursu | Dersler | Forum | Alt Bölümler | Servisler
    Merhaba Misafir
    anasayfa » visual basic ipuçları » Formlarda Ondalık Sayılar Girerken...
Üye Girişi
Kullanıcı Adı:  
Şifre : 
Kaydet ?
Siteden tam olarak faydalanabilmek için üye olmalısınız.
Unuttuğunuz şifrenizi öğrenebilmek için kayıt sırasında verdiğiniz Hatırlatma Cevabı'nı bilmeniz gereklidir.
Şifre hatırlatma işlevini sadece 3 defa kullanma hakkınız vardır.
Kullanıcı adını ve şifresini unutan üyelere email ile yardım verilmez.

Aktivasyon Gelmedi mi?Aktivasyon mesajınız email adresinize gelmedi mi?
Buraya tıklayarak bir kez daha aktivasyon mesajı gönderilmesini sağlayabilirsiniz.
Lütfen email hesabınızın BULK ve SPAM klasörlerini de kontrol ediniz.
Rastgele Makale

klavyeden girilen rastgele sayıların büyükten küçüğe sıralanması

Yazar: realdolphin

Webmasterlar
Sitenize Ekleyin!
Sitenizde "Son Eklenen 10 Visual Basic Yazısı"'nı göstermek ve içeriğini zenginleştirmek için buraya tıklayınız.

Vbasicmaster.com'a link verin!
Aşağıdaki minik banneri sitenize eklemek için tıklayın!

Üye Sayısı:
Ziyaretçiler nerede?
Yayın № : 2835
Yayın Tar:22.04.2005
Yazar : kaktus1111
Hit :3373

Bu Yazarın Yazıları Sadece bu yazarın ipucu göster
Bu Yazıyı Tavsiye Et

Formlarınızda, örneğin textboxların içindeki sayılar üzerinde matematiksel işlem yapmak istiyorsunuz.Ama sayılarınızdan bazıları ondalıklı sayılar. Bu sayıları girdikten sonra doğru işlem sonucuna ulaşabilmek için ondalıklı sayılarınızı ",(virgül)" ile değil ".(nokta)" ile girmeniz gerekir. Aksi takdirde girdiğiniz sayının sadece tam kısmını alıp işlem yapar. Ama bu kullanıcı hatasını program içinde çözmek isterseniz, kullanıcı virgül girdiği anda bunu noktaya çevirmelisiniz:

Private Sub txtTasarim_KeyUp(KeyCode As Integer, Shift As Integer)
If KeyCode = 188 Then
Me.txtTasarim.Text = Replace(Me.txtTasarim.Text, Chr(44), Chr(46))
txtTasarim.SetFocus
SendKeys "{End}"
End If
End Sub

not:
188 virgülün tuşkodu, 44 virgülün ascii kodu, 46 ise noktanın ascii kodu.
replace ile virgülü nokta yapıyoruz.
senkeys "{end}" demezseniz, değiştirmeyi yaptıktan sonra imlec metnin başına konumlanır.

Kolay gelsin...




Yorumlar, eklemeler ve düşünceler
        Merhaba...

Kullanıcı Textbox'ın sonundaki karakterden itibaren değilde arasında bir yerde yazıyorsa senkeys "{end}" metodu, imleci yine Textbox'ın sonuna götürecektir. Yani kullanıcıyı her zaman Textbox'ın sonundan bilgi girişi yapmak için zorunlu bırakıyorsunuz.

Bu işlemi şöyle yaparsanız bu zorunluluk ortadan kalkar.


Dim imlec as Byte

'Textboxtaki imlecin konumunu imlec adlı değişkene aktarıyoruz
imlec = Text1.SelStart

<Textbox üzerinde yapacağınız işlemler>

Textboxta imleci tekrar eski yerine bırakıoruz.
Text1.Selstart = imlec

Saygılar ve başarılar...


   Bay-X, 22.04.2005 14:34
   Ben o kodda, kullanıcı girişini yaparken virgül yazdığı anda noktayladeğiştirmesi için {end} yazmıştım. Bu durumda imlecin metin sonuna konumlanması gerekir. Ama tabi, kullanıcı sayıyı yazıp virgülü daha sonra araya eklemek isterse dediğiniz olay gerçekleşir. Haklısınız.. Ayrıca selstart komutunun kullanım amacını ve şeklini çözememiştim, bunun için de teşekkürler...


   kaktus1111, 22.04.2005 15:04
   text1_keypress

if keycode=44 then keycode=46

end sub

   memorphin, 14.03.2006 21:09
   arkadaşlar
bu konu için noktayı memorphin koymuş
programcılık bu işte

   finderx, 06.04.2006 19:44
© Hakan Ersöz 2000-2013| Üyelik Sözleşmesi | | Ödeme Bildirimi
Sitemizden yenilikleri hemen öğrenin, pop upları engelleyin, chat yapın... ToolBarımızı indirin:
Vasicmaster Toolbar'ı indirin