منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
جعل مربع النص يقبل أرقام فقط - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم أسئلة واستفسارات الأعضاء - المنتدى القديم (http://vb4arb.com/vb/forumdisplay.php?fid=94)
+--- قسم : قسم Visual Basic 6 وما قبله (http://vb4arb.com/vb/forumdisplay.php?fid=167)
+--- الموضوع : جعل مربع النص يقبل أرقام فقط (/showthread.php?tid=9047)



جعل مربع النص يقبل أرقام فقط - Ahmed Abdulla - 27-05-13

السلام عليكم

أريد كود لجعل مربع النص لا يقبل الا أرقام فقط ولكم جزيل الشكر


جعل مربع النص يقبل أرقام فقط - wolf1120 - 27-05-13

Ahmed Abdulla كتب :السلام عليكم

أريد كود لجعل مربع النص لا يقبل الا أرقام فقط ولكم جزيل الشكر


تفضل اخي الكريم

يوضع في حدث KeyPress



كود :
Select Case KeyAscii
        'negotive numbers
        'KeyAscii; 45 is "-"
        Case 45
            If Len(TXT.Text) >= 1 Then
                KeyAscii = 0
            End If
        'KeyAscii; 8 is "Backspace", 46 is "." decimal,
        ' 48-57 is "0-9"
        Case 8, 46, 48 To 57
            KeyAscii = KeyAscii
        Case Else
            KeyAscii = 0
    End Select



جعل مربع النص يقبل أرقام فقط - Ahmed Abdulla - 27-05-13

جزاك الله كل خير وربنا يجعله في ميزان حسناتك


جعل مربع النص يقبل أرقام فقط - عبد الله190 - 29-05-13

السلام عليكم
اقترح عليك هذا الكود
Option Explicit

Private Declare Function GetWindowLong Lib "user32.dll" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long
Private Declare Function SetWindowLong Lib "user32.dll" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Private Const ES_NUMBER As Long = &H2000&
Private Const GWL_STYLE As Long = -16
Private Sub MakeNumericOnly(Obj As Object)

Dim Style As Long
Style = GetWindowLong(Obj.hwnd, GWL_STYLE)
Style = Style Or ES_NUMBER
SetWindowLong Obj.hwnd, GWL_STYLE, Style
End Sub
() Private Sub Form_Load
MakeNumericOnly Text1
End Sub



أو هذا الكود البسيط جدا المكون من سطر واحد
كود :
Private Sub Text1_KeyPress(KeyAscii As Integer)
    If Not Chr(KeyAscii) Like "[0123456789.]" Then KeyAscii = 0
    End Sub

ملاحظة: إذا أردت أن تكتب الأرقام السالبة فأضف الإشارة (ـ) إلى الأرقام والفاصلة أو النقطة: -.0123456789 وغيرها مما تسمح باستعماله


جعل مربع النص يقبل أرقام فقط - Ahmed Abdulla - 30-05-13

شكرا لاهتمامكم وجزاكم الله خيرا


جعل مربع النص يقبل أرقام فقط - الهجري - 22-07-13

جزيتم خيرا