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

نسخة كاملة : كيف اجعل MSFlexGrid لا يقبل كتابة الرموز داخله ويقبل فقط رمز @ ؟؟
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
الاخوه الكرام
السلام عليكم ورحمة وبركاته
ملاحظة قبل السوال
في برنامجي المرفق يمكن الكتابة مباشرة داخل MSFlexGrid بدون إضافة Text !

السوال هنا
كيف اجعل MSFlexGrid لا يقبل كتابة الرموز داخله ويقبل فقط رمز @ ؟؟

ارجو من الله المساعده والله يحفظكم ويرعاكم ويجعل الجنه داركنم الاخير
.....

استخدم هذه الدالة مع النص قبل إدراجه في أي مكان سواء MSFlexGrid أو TextBox
المعامل الثالث mTrim اختياري لحذف المسافات من على جانبي النص

منقول


كود :
Public Function StringFilter(mString As String, mSymbols As String, Optional mTrim = False) As String
    Dim i As Integer: For i = 1 To Len(mString)
        If InStr(mSymbols, Mid$(mString, i, 1)) = 0 Then StringFilter = StringFilter & Mid$(mString, i, 1)
    Next i
    If mTrim Then StringFilter = Trim$(StringFilter)
End Function

طريقة الاستخدام
كود :
Private Sub Command1_Click()
    Dim filter As String
    filter = "~`!#$%^&*\/<>{}()[]|+-="
    
    Text2.Text = StringFilter(Text1.Text, filter, True)
    
End Sub

.....
اخي العزيز
السلام عليكم ورحمة وبركاته
اخي كرم منك الرجاء التعديل على برنامجي المرفق ؟؟
والله العظيم حاولت التعديل على برنامجي المرفق ولم استطع
ملاحظة هامه
برنامجي المرفق يمكن الكتابة مباشره في MSFlexGrid بدون حاجة الى Text

والله يحفظكم ويرعاكم ويجعل الجنه داركم الاخير
تحياتي
.....

للتنبيه: قد تكون الرموز في المتغير filter ناقصة، وكما تلاحظ لا تحتوي الرمز @ لأنه مطلوب قبوله كما ذكرت في طلبك.

كود :
Private Sub fox_KeyPress(KeyAscii As Integer)
     With fox
    
        Dim filter As String
        filter = "~`!#$%^&*\/<>{}()[]|+-="
        If InStr(filter, Chr(KeyAscii)) > 0 Then
            KeyAscii = 0
            Exit Sub
        End If
          
        Select Case .Col
            Case 0, 1:
             .Text = .Text + Chr$(KeyAscii)
             Case 0, 2:
             .Text = .Text + Chr$(KeyAscii)
              Case 0, 3:
             .Text = .Text + Chr$(KeyAscii)
             Case 0, 4:
             .Text = .Text + Chr$(KeyAscii)
            Case Else:
        End Select
    End With

End Sub

.....
هذا التعديل تفضل
اخي العزيز vbnet
السلام عليكم ورحمة وبركاته
أود أن اعبر لكم عن خالص شكري وامتناني العميق للجهود المخلصة التي بذلتموها في تقم الدعم الفني واتضرع الى سبعانه أن يكفئكم على ما تقمون به من اعمال الخير
ولكم مني فائق الاحترام
تحياتي
اقرأ هذا الموضوع للأستاذ الكبير/ناجى ابراهيم
يساعدك كثيييييرآ فى مثل هذه الأمور باذن الله

http://vb4arb.com/vb/Thread-%D9%82%D8%A8...8%A7%D8%AA