PDA

View Full Version : اعداد اعشار در تكست باكس



sh2007
شنبه 23 خرداد 1388, 10:53 صبح
با سلام خدمت دوستان
من يه برنامه انبار داري دارم طراحي مي كنم و تكست باكسي كه بايد اعداد رو توي اون وارد كنم شامل سه رقم اعشار و يا بيشتر هست جهت وارد كردن نرخ ها
مي خوام بدونم از چه كدهائي استفاده كنم كه فقط اعداد و مميز جهت اعشار بگيره البته خودم كدي رو به شرح زير نوشتم اما به نظر خودم جالب نيست دوستان اگه تكنيك بهتري سراغ دارند ممنون مي شوم

Private Sub txtTedad_KeyPress(KeyAscii As Integer)
Dim strNumber As String
If txtTedad.Text = Empty Then ChkTedad = False
If ChkTedad = False Then
strNumber = "0123456789." اين خط اينجوريه 123456789. يعني مميز هم هست
ElseIf ChkTedad = True Then
strNumber = "0123456789"
End If
If KeyAscii > 26 Then If InStr(strNumber, Chr(KeyAscii)) = 0 Then KeyAscii = 0
If KeyAscii = 46 Then ChkTedad = True
end sub

majjjj
شنبه 23 خرداد 1388, 11:20 صبح
If (KeyAscii < 48 Or KeyAscii > 57) And (KeyAscii <> vbKeyReturn And KeyAscii <> 47) And (KeyAscii <> vbKeyBack) Then
Beep
KeyAscii = 0
End If
این رو ببینید

sh2007
شنبه 23 خرداد 1388, 12:22 عصر
با سلام
ممنون دوست عزير
من كي اسكي رو تغيير بدم / به .
اما يه مشكل كاربر اگه يه بار / اينو زد دوباره اينو برنه / تايپ مي كنه خب براي اين كه مميز يه بار زده بشه چكار كنم

ممنون

sh2007
شنبه 23 خرداد 1388, 13:09 عصر
دوست من سلام
اين كد رو من اينطوري اصلاح كردم كه بجاي / از . استفاده بشه چون توي محاسبات تاثير داره اما حالا اگه بخوايم كاري كنيم كه فقط به بار مميز زده بشه چكار كنيم

If (KeyAscii < 48 Or KeyAscii > 57) And (KeyAscii <> vbKeyReturn And KeyAscii <> 46) And (KeyAscii <> vbKeyBack) Then
Beep
KeyAscii = 0
End If

ممنون

majjjj
شنبه 23 خرداد 1388, 14:17 عصر
از تابع instrکمک بگیر

hmrbesharat
یک شنبه 24 خرداد 1388, 00:17 صبح
سلام دوست عزيز به نظر من ميتوني يه متغير به عنوان flag بگيري كه اگر true بود يعني مميز وارد شده در غير اين صورت ميتواند مميز را وارد كند

sh2007
یک شنبه 24 خرداد 1388, 13:19 عصر
با سلام خدمت دوستان و تشكريه سوال پيش اومده و اون اينه كه با وجود اعشار اگه بخوايم سه رقم سه رقم جدا كنيم چكار بايد انجام بدم ممنون همه اساتيد هستم

Tasiyan
یک شنبه 24 خرداد 1388, 15:52 عصر
اگه بخوايم سه رقم سه رقم جدا كنيم چكار بايد انجام بدم


Text1.Text = Format(Text1.Text, "##,##")

:لبخند:

sh2007
دوشنبه 25 خرداد 1388, 13:07 عصر
دوست من سلام
اين كد جواب نميده چون مميز هم هست
خودتون هم مي تونيد امتحان كنيد

دوستان عزير ممنون مي شم جواب بدن