تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
تحويل الحروف العريية الى الأنجليزية والعكس (تطبيق خدمة جوجل لتدقيق كلمات البحث)
#1
كاتب الموضوع : Programmation

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

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

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

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

lkj]n td[,hg fdsd; gguvf

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

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

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

الدالة:


كود :
[color=#000000][COLOR=#0000bb][/color][COLOR=#dd0000]'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|]|[|'[/COLOR][color=#007700]|;|/|.|,|`[/color][COLOR=#0000bb]"
        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  
[/COLOR][/COLOR]

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

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

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

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



كود :
[color=#000000][COLOR=#0000bb]TextBox1[/color][color=#007700].[/color][color=#0000bb]Text [/color][color=#007700]= [/color][color=#0000bb]Conversion[/color][color=#007700]([/color][color=#0000bb]TextBox2[/color][color=#007700].[/color][color=#0000bb]Text[/color][COLOR=#007700])  
[/COLOR][color=#0000bb][/color][/COLOR]

أو

كود :
[color=#000000][COLOR=#0000bb]TextBox1[/color][color=#007700].[/color][color=#0000bb]Text [/color][color=#007700]= [/color][color=#0000bb]Conversion[/color][color=#007700]([/color][color=#dd0000]"lkj]n td[,hg fdsd; gguvf"[/color][COLOR=#007700])  
[/COLOR][color=#0000bb][/color][/COLOR]

أتمنى أن تستفيد من الدالة, وأنتظروا بإذن الله بعض التطوير فيها بحيث أضع فى الأعتبار أرفاق عليمات الترقيم الخاصة باللغة العربية داخلها وكذلك العودة بالحروف الـ Capital والـ Small كما هي بالنسبة للغة الأنجليزية

والســلام عليكم ورحمة الله وبركاته
}}}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [VB.NET] ( يبدو انني مزعج ) ممن عندهم خبره في vb.net هل يمكنك تحويل النص التالي إلى كود برمجي thevirus 2 148 21-11-16, 06:35 AM
آخر رد: أبو عمر
Star [مقال] كيفية تحويل اسعار العملات بإستخدام Yahoo Exchange Rates Web Service Programmation 8 2,493 26-08-16, 10:21 AM
آخر رد: tryold
  شرح انشاء برنامج تحويل صيغ الملفات الصوتيه CLARO 9 330 02-06-16, 11:13 AM
آخر رد: CLARO
  التحويل من C# to VB والعكس بأداتين من مايكروسوفت أبو عمر 11 1,489 03-11-15, 12:52 AM
آخر رد: أبو عمر
Brick [مثال] انشاء ترميز باركود من نوع QR عن طريق موقع جوجل الطالب 1 422 02-09-15, 10:42 PM
آخر رد: مبرمج بلا حدود
  [VB.NET] عمل برنامج تحويل الفيديو video convert alking-0999 0 516 09-07-15, 12:50 PM
آخر رد: alking-0999
  تحويل الفيديو في برامجك-الجزء الثاني( إصلاح للمشاكل + تعديل للروابط + توضيح للأمر ) RaggiTech 1 718 10-12-14, 06:37 PM
آخر رد: abulayth
  فتح رابط بالمتصفحان - جوجل كروم - فايرفوكس - RaggiTech 0 314 05-10-12, 03:29 AM
آخر رد: RaggiTech
  كيفية الاستفادة من خدمة جوجل للترجمة RaggiTech 0 432 05-10-12, 02:46 AM
آخر رد: RaggiTech
  للتحويل من Image إلى ByteArray والعكس - مع ملاحظة الطريقتين (ToArray - .GetBuffer.) RaggiTech 0 603 05-10-12, 02:07 AM
آخر رد: RaggiTech

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم