View Full Version : چگونگی پرش از داده های نا معتبر در textbox
  
ali_habibi1384
دوشنبه 30 مهر 1386, 15:43 عصر
سلام دوستان؛من یک textbox دارم که می خوام بعضی چیزها توش وارد نشه مثلا وقتی می خوام نام توش وارد کنم دیگه کلیدهای عدد توش کار نکنه ویا وقتی میخوام یک سن رو توش وارد کنم دیگه حروف توش وارد نشه . من باید چه کار کنم؟:متفکر:
اوبالیت به بو
دوشنبه 30 مهر 1386, 17:13 عصر
باید تویه TextBox که قرار نام رو وارد کنی تویه رویداد Change وارد کنی:
If IsNumeric(TextName.Text)=True Then
MsgBox "شما باید از کاراکتر های حروف استفاده کنید.
TextName.Text=""
End If"
همچنین اگه می خوای که تویه TextBox که قرار سن (عدد) وارد بشه برای جلوگیری از ورود حرف باید بنویسی :
If IsNumeric(TextAge.Text)=False then
MsgBox "شما مجاز به استفاده از کاراکتر حروف نمی باشید.
TextAge.Text=""
End If"
اوبالیت به بو
دوشنبه 30 مهر 1386, 17:38 عصر
اینم برنامه اگه به دردت می خوره.:تشویق:
ali_habibi1384
دوشنبه 30 مهر 1386, 17:51 عصر
سلام  من خودم اینای رو که گفتی میدونستم ولی من نمی خوام textbox  خالی بشه میخوام وقتی مثلا داریم عدد وارد می کنیم اگه حروف زده بشه حروف رو ننویسه و بوغ بزنه نه اینکه پیغام خطا بده و textbox  خالی بشه چون اینجوری یکسری دادههای معتبری رو که کاربر به ما داده از دست خواهد رفت . من به دنبال یه راه حل بهتر می گردم . به هر حال ممنون
اوبالیت به بو
دوشنبه 30 مهر 1386, 18:28 عصر
فکر می کنم که بشه از متد Left یا Right استفاده کرد و به اندازه کاراکتر های خطا یا اشتباه به عقب برگشت.
aslan_ir
دوشنبه 30 مهر 1386, 22:02 عصر
سلام
مثال برای گرفتن فقط عدد
Private Sub Text1_Keypress(Index As Integer, KeyAscii As Integer)
    Dim strvalid As String
    strvalid = "-+1234567890."
    If KeyAscii = 13 Then
       SendKeys "{TAB}"
    End If
     If KeyAscii > 26 Then
        If InStr(strvalid, Chr(KeyAscii)) = 0 Then
           KeyAscii = 0
        End If
     End If
End Sub
اوبالیت به بو
دوشنبه 30 مهر 1386, 22:06 عصر
دوست من لطفا کدت رو تو کدشکن بزار.دستت به خاطر کد درد نکنه
Hossein Bazyan
دوشنبه 30 مهر 1386, 22:14 عصر
سلام دوستان؛من یک textbox دارم که می خوام بعضی چیزها توش وارد نشه مثلا وقتی می خوام نام توش وارد کنم دیگه کلیدهای عدد توش کار نکنه ویا وقتی میخوام یک سن رو توش وارد کنم دیگه حروف توش وارد نشه . من باید چه کار کنم؟:متفکر:
سلام
باور کن چندین بار خودم برنامه را آپلود کرده ام.
بگرد اگه پیداش نکردی برات بذارم
ebrahimhoze
دوشنبه 30 مهر 1386, 22:42 عصر
Public Function KeyControl(CodeControl As Integer, _
                            Stat As String) As Integer
    If Stat = "T" Then  'only Text
        Select Case CodeControl
            Case 65 To 90 ' Key from A to Z
                KeyControl = CodeControl
            Case 97 To 122 'Key from a to z
                KeyControl = CodeControl
            Case Else
                KeyControl = 0
                Beep
        End Select
    Else
        Select Case CodeControl
            Case 48 To 57 ' Key from 0 to 9
                KeyControl = CodeControl
            Case 47 And Stt = True      ' /
                KeyControl = CodeControl
            Case 8        ' Key BackSpace
                KeyControl = CodeControl
            Case 46       ' Period
                KeyControl = CodeControl
            Case 13       ' enter
                KeyControl = CodeControl
            Case Else
                KeyControl = 0
                Beep
        End Select
    End If
End Function
'
Private Sub Text1_KeyPress(KeyAscii As Integer)
    KeyAscii = KeyControl(KeyAscii, "T")
End Sub
Private Sub Text2_KeyPress(KeyAscii As Integer)
    KeyAscii = KeyControl(KeyAscii, "N")
End Sub
Hossein Bazyan
دوشنبه 30 مهر 1386, 23:02 عصر
Public Function KeyControl(CodeControl As Integer, _
                            Stat As String) As Integer
 
    If Stat = "T" Then  'only Text
        Select Case CodeControl
            Case 65 To 90 ' Key from A to Z
                KeyControl = CodeControl
            Case 97 To 122 'Key from a to z
                KeyControl = CodeControl
            Case Else
                KeyControl = 0
                Beep
        End Select
    Else
        Select Case CodeControl
            Case 48 To 57 ' Key from 0 to 9
                KeyControl = CodeControl
            Case 47 And Stt = True      ' /
                KeyControl = CodeControl
            Case 8        ' Key BackSpace
                KeyControl = CodeControl
            Case 46       ' Period
                KeyControl = CodeControl
            Case 13       ' enter
                KeyControl = CodeControl
            Case Else
                KeyControl = 0
                Beep
        End Select
    End If
 
End Function
'
 
Private Sub Text1_KeyPress(KeyAscii As Integer)
    KeyAscii = KeyControl(KeyAscii, "T")
End Sub
 
Private Sub Text2_KeyPress(KeyAscii As Integer)
    KeyAscii = KeyControl(KeyAscii, "N")
End Sub
 
سلام
دوست عزیز حداقل حق تالیف را محفوظ میداتشی و میگفتی این کد را من نوشته ام
__siavash__
سه شنبه 01 آبان 1386, 00:05 صبح
البته مثال تو این زمینه زیاد هست 
من هم دو سه نمونه مختلف آپ کرده بودم 
مثلا دو نومونش فکر کنم تو این تاپیک باشه 
تعیین نوع ورودی جعبه متن (http://barnamenevis.org/forum/showthread.php?t=70621&highlight=%D8%AA%DA%A9%D8%B3%D8%AA+%D8%A8%D8%A7%DA %A9%D8%B3)
که نمیدونم چرا این صفحه باز نمیشه شما هم یه تست بکن !
 
میره تو این سایت !
http://www.douran.com/HomePage.aspx?TabID=0&Site=DouranPortal&Lang=fa-IR
:متفکر:
ebrahimhoze
سه شنبه 01 آبان 1386, 07:45 صبح
سلام
دوست عزیز حداقل حق تالیف را محفوظ میداتشی و میگفتی این کد را من نوشته ام
هدف یاد دادن بود که انجام شد از شما هم ممنون
totfarangi
سه شنبه 01 آبان 1386, 13:50 عصر
میتونی یه شرط خیلی ساده توی keypress بذاری مثلا
If (e.KeyChar >= "a"And e.KeyChar <= "z"Or e.KeyChar >= "A"And e.KeyChar <= "Z") Then
e.Handled = True
EndIf
 
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.