PDA

View Full Version : سوال در مورد محدود کردن Text box ...!



sam_fisher_440
شنبه 23 مرداد 1389, 13:07 عصر
سلام
من میخوام یه text رو محدود کنم یعنی وقتی عدد یا علائم وارد میشه همون لحظه خطا بده و فقط بتونه حروف قبول کنه. تو Properties هم گشتم اما مشخصه ای واسه این کار نبود.

اگه کسی میتونه یه راهنمایی کنه ... ممنون ...!:افسرده:

ayub_coder
شنبه 23 مرداد 1389, 13:34 عصر
برای اولی باید مقدار keycode رو چک کنی که اگه مخالف حرفای بین a-z A-Z بود خطا بده
توی keyup یا keydown
برای دومی از چه دیتا بیسی استفاده میکنی ؟
از دستورات SQL استفاده می کنی؟

SilverLearn
شنبه 23 مرداد 1389, 14:30 عصر
با سلام شما مي توني توي keypress تكست خود كد زير رو وارد كني


Dim StrValid As String
StrValid = "0123456789"
KeyAscii = Asc(UCase(Chr(KeyAscii)))
If KeyAscii > 26 Then
If InStr(StrValid, Chr(KeyAscii)) = 0 Then
KeyAscii = 0
End If
End If


البته در كد بالا كاربر فقط قادر به تايپ عدد هست كه با كمي تغيير مي توني كاراكتر از ورودي بگيري
اگه سوالي در مورد كد بالا داشتي مي توني بپرسي!!!

Saman_12
شنبه 23 مرداد 1389, 15:13 عصر
با سلام شما مي توني توي keypress تكست خود كد زير رو وارد كني


Dim StrValid As String
StrValid = "0123456789"
KeyAscii = Asc(UCase(Chr(KeyAscii)))
If KeyAscii > 26 Then
If InStr(StrValid, Chr(KeyAscii)) = 0 Then
KeyAscii = 0
End If
End If


البته در كد بالا كاربر فقط قادر به تايپ عدد هست كه با كمي تغيير مي توني كاراكتر از ورودي بگيري
اگه سوالي در مورد كد بالا داشتي مي توني بپرسي!!!
دوست عزیز شما چرا لقمه رو چپه می زاری توی دهنتون.(منظورم اینکه چرا 8 خط کد نویسی.):قهقهه:
8 خط کد نویسی با لا توی این خط خلاصه می شه:لبخند: :

If IsNumeric(Chr(KeyAscii)) = False Then KeyAscii = 8
و برای اینکه تکست شما فقط حروف بگیره میتونید از کد زیر توی همون رویداد KeyPerss استفاده کنید:لبخند: :


Select Case Chr(KeyAscii)
Case "a" To "z"
Case Else
KeyAscii = 8
End Select

sohrab o
شنبه 23 مرداد 1389, 17:34 عصر
If InStr("0123456789", Chr(KeyAscii)) Or KeyAscii = vbKeyBack Then
Exit Sub
Else
KeyAscii = 0
End If

من از این روش استفاده می کنم
در ضمن اگر کاربر یک متنی رو کپی کنه و اینجا paste کنه مشکل پیش میاد که باید دوباره کنترل کنی

sohrab o
شنبه 23 مرداد 1389, 17:37 عصر
If InStr("0123456789", Chr(KeyAscii)) Or KeyAscii = vbKeyBack Then
Exit Sub
Else
KeyAscii = 0
End If

من از این روش استفاده میکنم که در صورتی طرف اینجا paste کنه مشکل پیش میاد

sohrab o
شنبه 23 مرداد 1389, 17:38 عصر
If InStr("0123456789", Chr(KeyAscii)) Or KeyAscii = vbKeyBack Then
Exit Sub
Else
KeyAscii = 0
End If

من از این روش استفاده میکنم که در صورتی طرف اینجا paste کنه مشکل پیش میاد