تطبيق خدمة جوجل لتدقيق كلمات البحث (تحويل الحروف العربية الى انجليزية والعكس)

الســـلام عليكم ورحمة الله وبركاته

إخـوانى الأعضـاء الكرام, كيف حال الجميع ؟

أسـأل الله العظيم أن تكونوا فى أفضل حال

سـأل الكثير عن كيفية تطبيق خدمة Google لتدقيق كلمات البحث بمعنى أخر إذا كنت تقوم بالبحث داخل محرك بحث Google عن منتدى فيجوال بيسيك للعرب وكانت محارف لوحة المفاتيح للغة لديك مفعلة للأنجليزية وضغط على زر البحث ستجده تلقائياً أضهر لك تحويل لكمات البحث الى الجملة التي تُريدها بالفعل مثل:

lkj]n td[,hg fdsd; gguvf

بعد التدقيق= هل تقصد: منتدى فيجوال بيسيك للعرب

فالفكرة كلها أنه يبحث داخل الكلمات الدليلية الخاصة به وحينما يجد معني بعيد جدا لا يأتي لديه بنتائج فيخمن ذلك الأمر ويعرض عليك فلترة كمات بحثك الى اللغة الثانية لديك وهذا ما قمت بعمله اليوم.

لقد قمت بعمل Function توفر لك تنفيذ الأمر التالي واليوم أضعها بين يديكم فأسـأل الله العظيم أن تستفيدو منها

الدالة:

'Author Programmation(OmarNegm)
Public Function Conversion(ByVal strSource As String) As String
Const English As String = "a|b|c|d|e|f|g|h|i|j|k|l|m|n|o|p|q|r|s|t|u|v|w|x|y|z|]|[|'|;|/|.|,|`"
Const Arabic As String = "ش|لا|ؤ|ي|ث|ب|ل|ا|ه|ت|ن|م|ة|ى|خ|ح|ض|ق|س|ف|ع|ر|ص|ء|غ|ئ|د|ج|ط|ك|ظ|ز|و|ذ"

Dim arrEnglish() As String = Split(English, "|")
Dim arrArabic() As String = Split(Arabic, "|")
Dim arrSource() As String = Split(strSource, " ")
Dim strFinal As String = ""
Dim currChar As Char

For J As Integer = 0 To arrSource.Count - 1 Step 1
For I As Integer = 1 To Len(arrSource(J)) Step 1
currChar = LCase(Mid$(arrSource(J), I, 1))
If isArabicChar(currChar) = False Then
For H As Integer = 0 To arrEnglish.Count - 1 Step 1
If currChar = arrEnglish(H) Then
If strFinal.Trim = "" Then
strFinal = arrArabic(H)
Else
strFinal &= arrArabic(H)
End If

End If
Next
Else
For H As Integer = 0 To arrArabic.Count - 1 Step 1
If currChar = arrArabic(H) Then
If strFinal.Trim = "" Then
strFinal = arrEnglish(H)
Else
strFinal &= arrEnglish(H)
End If
End If
Next
End If
Next
strFinal &= " "
Next
Return strFinal
arrEnglish = Nothing
arrArabic = Nothing
arrSource = Nothing
strFinal = Nothing
End Function
Private Function isArabicChar(ByVal ccChar As Char) As Boolean
Const AllChars As String = "ش|لا|ؤ|ي|ث|ب|ل|ا|ه|ت|ن|م|ة|ى|خ|ح|ض|ق|س|ف|ع|ر|ص|ء|غ|ئ|د|ج|ط|ك|ظ|ز|و|ذ"
Dim arrChars() As String = Split(AllChars, "|")
For I As Integer = 0 To arrChars.Count - 1 Step 1
If ccChar = arrChars(I) Then
Return True
Exit Function
End If
Next
Return False
arrChars = Nothing
End Function

كما ترى أمامك دالتين الأولى () وهي الأساسية والثانية () لا تشغل بالك لها فهي دالة مُكملة إستخدمتها فى التحقق من كون الحروف المُمره عربية ام انجليزية حتى يتم تحويلها للعكس فلقد قمت بجعلها مرنه بحث إذا وجدت الحروف عربية تحولها الى الانجليزية ةإذا وجدتها انجليزية تحولها الى العربية اي يُمكن أن تقول English To Arabic To English

كيفية إستخدام الدالة :

فقط ضع الدالتين او الكود أعلاه داخل وحدة Module وبعدها يُمكنك إستدعائها من أي مكان داخل المشروع بالطريقة التالي فالدالة تحتوي على معامل واحد من نوع String تُمرر إليه القيمة التي تُريد تحويلها وتترك البقية على الدالة

مثال لأستخدام الدالة:

TextBox1.Text = Conversion(TextBox2.Text)
أو

TextBox1.Text = Conversion("lkj]n td[,hg fdsd; gguvf")
أتمنى أن تستفيد من الدالة, وأنتظروا بإذن الله بعض التطوير فيها بحيث أضع فى الأعتبار أرفاق عليمات الترقيم الخاصة باللغة العربية داخلها وكذلك العودة بالحروف الـ Capital والـ Small كما هي بالنسبة للغة الأنجليزية

والســلام عليكم ورحمة الله وبركاته

Advertisements

اترك رد

إملأ الحقول أدناه بالمعلومات المناسبة أو إضغط على إحدى الأيقونات لتسجيل الدخول:

WordPress.com Logo

أنت تعلق بإستخدام حساب WordPress.com. تسجيل خروج   / تغيير )

صورة تويتر

أنت تعلق بإستخدام حساب Twitter. تسجيل خروج   / تغيير )

Facebook photo

أنت تعلق بإستخدام حساب Facebook. تسجيل خروج   / تغيير )

Google+ photo

أنت تعلق بإستخدام حساب Google+. تسجيل خروج   / تغيير )

Connecting to %s