منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : عد السماح بكتابة الفاصل العشرى مرتين
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
السلام عليكم ورحمة الله وبركاتة

استعمل الكود التالى للتاكد بان المكتوب فى التكست رقم وليس حروف

وماشة الحال تمام

ولكن

ماهو الحال عند اضافى 2 دوت (مثل 10.15.1) او (15..1)

تكون هنا المشكلة

Private Sub Text17_KeyPress(KeyAscii As Integer)
Dim ss As String
If KeyAscii = 8 Then Exit Sub
ss = "0123456789."
i = InStr(ss, Chr(KeyAscii))
If i = 0 Then KeyAscii = 0
End Sub

ارجوا التوضيح بعدم كتابة فاصل عشرى مرتين15..1

تحياتى
السلام عليكم

- تم تعديل الكود :

كود :
Private Sub Text17_KeyPress(KeyAscii As Integer)
Dim ss As String
If KeyAscii = 8 Then Exit Sub
ss = "0123456789."
i = InStr(1,ss, Chr(KeyAscii))
If i = 0 Then KeyAscii = 0 : Exit Sub
i = InStr(1,Trim(Text17.Text), ".")
If Chr(KeyAscii) = "." And i <> 0 The Exit Sub
End Sub

- تحياتي .
السلام عليكم...

شكراً لأخي VB_Coder الذي سبق بالإجابة.

الكود التالي يأخذ بعين الاعتبار ما إذا كان هناك نص مظلل أو محدد في مربع النص:

كود :
Private Sub Text1_KeyPress(KeyAscii As Integer)
    If KeyAscii > 31 Then
        If Chr$(KeyAscii) = "." Then
            If InStr(Text1.Text, ".") <> 0 Then
                If Text1.SelLength > 0 Then
                    If InStr(Text1.SelText, ".") = 0 Then
                        KeyAscii = 0
                    End If
                Else
                    KeyAscii = 0
                End If
            End If
        ElseIf InStr("0123456789", Chr$(KeyAscii)) = 0 Then
            KeyAscii = 0
        End If
    End If
End Sub

نرجو الاستفادة و السلام.
السلام عليكم

استاذ / VB_Coder

عملت مثال مرفق

ولكن ايضا يمكن كتابة الفاصل العشرى اكثر من مرة فى التكست

تحياتى

[attachment=1603]
استاذ / ناجى

الكود تمام تسلم ايدك

تحياتى