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

نسخة كاملة : البحث في مربع النص
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
السلام عليكم ورحمة الله و بركاته
إخواني أنا أقوم بعمل برنامج بالفيجوال بيسك 6 ولدي كود يبحث في مربع النص ويستبدل أحرف معينة بنجوم ، وهذا هو الكود
كود :
Private Sub Timer1_Timer()
Dim StartPos, Counter As Integer
Dim FindString, ReplaceText As String
FindString = "أَ"
ReplaceText = "\"
For Counter = 1 To Len(Text1.Text)
StartPos = InStr(Text1.Text, FindString)
If StartPos > 0 Then
Text1.SelStart = StartPos - 1
Text1.SelLength = Len(FindString)
Text1.SelText = "" + ReplaceText
End If
Next
Timer1.Interval = 0
End Sub

الآن أنا أريد أن أغير كل الحروف الساكنة بنجوم ، فهل يلزم أن أكرر الكود 28 مرة ، أم أن هناك طريقة أسهل ؟؟
بمعني أقرب ، هل يمكن أن يعدل الكود بحيث أكتب في خانة find string كل الأحرف التي أبحث عنها أم أن هذا غير ممكن وجزاكم الله خيرا .

وهل يمكن وضع ما أريد في قاعدة بيانات وأخذ المتغير منها ؟؟؟
وعليك السلام ورحمة الله وبركاته , أهلا أخي الكريم , هذا تعديل الكود :

PHP كود :
Dim StartPosCounter1 As IntegerCounter2 As Integer
Dim FindString
(5), ReplaceText As String

FindString
(0) = "أَ"
FindString(1) = "ب"
FindString(2) = "ج"
FindString(3) = "ك"
FindString(4) = "ة"
FindString(5) = "م"

ReplaceText "*"

For Counter1 1 To Len(Text1.Text)
    
    For 
Counter2 0 To 5
    
        StartPos 
InStr(Text1.TextFindString(Counter2))
    
        If 
StartPos 0 Then
           Text1
.SelStart StartPos 1
           Text1
.SelLength Len(FindString(Counter2))
           
Text1.SelText "" ReplaceText
        End 
If
    
    
Next
    
Next 
الله يكرمك دنيا وآخرة ، ويزيدك من العلم كله إن شاء الله
ربنا يوفقك في حياتك
الكود شغال مية في المية وحللي مشكلة كبيرة
وادعيلي بالله عليك بالهداية والتوفيق
أهلا أخي الكريم ، جزاك الله كل خير ، شكرا جزيلا لك على كلماتك الطيبه ، الله يهدينا واياك ويوفقك دنيا وآخره ، بالنسبه بصراحه يبدو أنني كنت مستعجلا عندما عدلته الكود سيقوم بالمهمه ولكن سيكون أدائه أطول ، لذلك عدلته الان بالتعديل الذي يجب أن يكون الاول :

PHP كود :
Dim Counter As Integer
Dim FindString
(5), ReplaceText As String

FindString
(0) = "أَ"
FindString(1) = "ب"
FindString(2) = "ج"
FindString(3) = "ك"
FindString(4) = "ة"
FindString(5) = "م"

ReplaceText "*"

For Counter 0 To 5
        Text1
.Text Replace$(Text1.TextFindString(Counter),ReplaceText)
Next 
جزاكم الله خيرا كثيرا ، شجعتني أن اطلب منك طلبا آخر ، وهو هل يمكن الإضافة للكود ، بحيث يستبدل هذه الأحرف بنجوم ، و يستبدل أي حرف غيرها برمز آخر ، لأنني كتبت الكود الخاص بك ثم كتبت باقي الحروف كلها مع تغيير حرف الاستبدال بما أريد ..
أهلا أخي الكريم , هذا تعديل الكود ليلبي الطلب الجديد :

PHP كود :
Dim Counter As Integer
Dim FindString1
(5), FindString2(3), ReplaceText1ReplaceText2 As String

FindString1
(0) = "أَ"
FindString1(1) = "ب"
FindString1(2) = "ج"
FindString1(3) = "ك"
FindString1(4) = "ة"
FindString1(5) = "م"

ReplaceText1 "*"

FindString2(0) = "ه"
FindString2(1) = "ن"
FindString2(2) = "س"
FindString2(3) = "ي"

ReplaceText2 "#"

For Counter 0 To 5
    Text1
.Text Replace$(Text1.TextFindString1(Counter), ReplaceText1)
Next

For Counter 0 To 3
    Text1
.Text Replace$(Text1.TextFindString2(Counter), ReplaceText2)
Next 
السلام عليكم و رحمة الله و بركاته
أخي العزيز ، جزاك الله خيرا علي تعليمك لي ، ولكن ..
قصدت أن يعدل الكود بحيث يستبدل ما تمت كتابته في ال string بنجوم ، وأي حرف آخر خارج ما تم كتابته يستبدل ب #
يعني لدينا 28 حرف في الأبجدية أنا سأقول له بدل ( أ ) و ( ب ) بنجمة و أي حرف أخر يقابلك في مستند النص أبدله ب  #
هل هذا ممكن ؟؟؟