استخدم هذه الدالة مع النص قبل إدراجه في أي مكان سواء 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 = "~`!#$%^&*\/<>{}()[]|+-="
اخي العزيز
السلام عليكم ورحمة وبركاته
اخي كرم منك الرجاء التعديل على برنامجي المرفق ؟؟
والله العظيم حاولت التعديل على برنامجي المرفق ولم استطع
ملاحظة هامه
برنامجي المرفق يمكن الكتابة مباشره في 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
اخي العزيز vbnet
السلام عليكم ورحمة وبركاته
أود أن اعبر لكم عن خالص شكري وامتناني العميق للجهود المخلصة التي بذلتموها في تقم الدعم الفني واتضرع الى سبعانه أن يكفئكم على ما تقمون به من اعمال الخير
ولكم مني فائق الاحترام
تحياتي
إذا ضاقت بك الأحوال يوماً فَثِقْ بالواحِدِ الفَرْدِ العَلِيِّ