27-05-13, 06:14 PM
27-05-13, 06:46 PM
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 Select27-05-13, 11:29 PM
جزاك الله كل خير وربنا يجعله في ميزان حسناتك
29-05-13, 10:49 PM
السلام عليكم
اقترح عليك هذا الكود
أو هذا الكود البسيط جدا المكون من سطر واحد
ملاحظة: إذا أردت أن تكتب الأرقام السالبة فأضف الإشارة (ـ) إلى الأرقام والفاصلة أو النقطة: -.0123456789 وغيرها مما تسمح باستعماله
اقترح عليك هذا الكود
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 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 وغيرها مما تسمح باستعماله
30-05-13, 10:03 AM
شكرا لاهتمامكم وجزاكم الله خيرا
22-07-13, 05:20 PM
جزيتم خيرا