تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[VB.NET] إهمال التشكيل عند إحضار الكلمات من قاعدة أكسس
#1
السلام عليكم ورحمة الله وبركاته
المشكلة ببساطة أننى أعمل على برنامج قاموس للكلمات
يترجم من الانجليزية للعربية والعكس
المشكلة فى الترجمة من العربية للإنجليزية هى استحضار البرنامج
للكلمات العربية التى كتبت فى قاعدة البيانات بالتشكيل من أجل القراءة الصحيحة
فمثلاً هذه إحدى خانات قاعدة البيانات الخاصة بالبرنامج:

تمت برمجة القاموس على مطابقة ولو كلمة واحدة من المعنى العربى ليستحضر الانجليزى
ولكن المشكلة كما بالصورة فى كلمة (تَرك) فلابد أن يتم البحث عنها (ترك) بلا تشكيل
وإلا لا يطابقها البرنامج
كل ما أريده أن يهمل البرنامج التشكيل أثناء مطابقة الكلمات العربية

كود ال function الخاص بالترجمة:
كود :
   Function argetword(ByVal content As String) As String()

       Dim targets As List(Of String) = New List(Of String)
       Dim connection As New OleDbConnection
       Try
           connection = New OleDbConnection(connectionString)
           Using cmd As OleDbCommand = New OleDbCommand("SELECT [English] FROM [Words] WHERE [Arabic] Like '%' + @arabic + '%'", connection)
               cmd.Parameters.AddWithValue("@arabic", content)
               connection.Open()
               Using reader As System.Data.OleDb.OleDbDataReader = cmd.ExecuteReader()
                   Do Until Not reader.Read()
                       targets.Add(reader("English").ToString())
                   Loop
               End Using
               connection.Close()
           End Using
       Catch ex As Exception
           Console.WriteLine(ex.Message)
       Finally
           If connection IsNot Nothing Then
               If connection.State = ConnectionState.Open Then
                   connection.Close()
               End If
               connection.Dispose()
           End If
       End Try
       Return targets.ToArray()
   End Function

كود الزر المتحكم فى الترجمة:
كود :
   Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

           TextBox1.Lines = argetword(TextBox2.Text)
   End Sub
الرد }}}}
تم الشكر بواسطة:
#2
سلام

مع اني غير مشجع على طريقت برنامجك في الترجمه لكن بمكنك استخدام الامر replace لكل لحذف علامات التشكيل
كود :
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    TextBox1.Lines = argetword(removeHarakat(TextBox2.Text))

End Sub

Private Function removeHarakat(ByVal txt As String) As String
    For c = &H64B To &H655
        txt = txt.Replace(ChrW(c), "")
    Next
    Return txt
End Function

موفقين
متغيب
الرد }}}}
تم الشكر بواسطة: Doctor GME
#3
لقد أسأت فهمى يا أخى
لا أريد طريقة لإهمال التشكيل الذى يكتب فى textbox2
فمن الطبيعى أن من يبحث عن كلمة سيكتبها بدون تشكيل
وإنها إهمال التشكيل عند الاستحضار من قاعدة البيانات
فكما أوضحت عندما يتم كتابة (ترك) فى البرنامج
أريده أن يطابقها مع (تَرك) المشكلة دون مراعاة التشكيل
وأرجو إيضاح سبب عدم تشجيعك لطريقة الترجمة
وشكراً لك
الرد }}}}
تم الشكر بواسطة:
#4
سلام

اذا لماذا لا تغير الكلمات التي في قاعدت البيانات وتجعلها بدوت تشكيل
او ان تكتب الكلمه مرتين احداهما بالتشكيل والاخرى بدون
او تظيف عمود اخر للكلمات بدون تشكيل

سبب عدم تشجيعي لطريقت الترجمه:
اعتقد ان البرنامج يستبدل الكلمه في نفس المكان بدون ما راعي قواعد اللغه

وعتذر ان تطفلت بابداء راي دون ان يطلب مني.

موفقين
متغيب
الرد }}}}
تم الشكر بواسطة: Doctor GME , مبرمج بلا حدود
#5
فكرة ممتازة أخى
إضافة عمود بدون تشكيل يجعلنى لا أحتاج لتغيير الكود

على العكس رأيك يسعدنى فهو يكشف لى نواحى بالبرنامج لم ألاحظها
ولكنى أحب أن أوضح أن البرنامج متعدد المستويات
وهذه ال function تستخدم لترجمة كلمة واحدة فقط
ولا يمكن كتابة الجمل أثناء تنفيذها
أما ترجمة الجمل فلها function أخرى
وشكراً جزيلاً لك
الرد }}}}
تم الشكر بواسطة: مبرمج بلا حدود


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  الحذف من قاعدة البيانات بدلات تشيك بوكس في داتا جريدفيو makky 2 83 أمس, 11:16 AM
آخر رد: superwoofer
Sad [VB.NET] كيفية تصميم قاعدة بيانات SQL Server وربطها مع الVS 2010 Ayman97 0 30 06-12-16, 04:34 PM
آخر رد: Ayman97
  ما هو كود حفظ البيانات من الداتا جريد فيو إلى قاعدة البيانات kofa 0 35 05-12-16, 07:53 PM
آخر رد: kofa
  انشاء قاعدة بيانات بإمتداد خاص بك thevirus 5 125 05-12-16, 03:09 PM
آخر رد: thevirus
  تغيير قاعدة البيانات الى .bak زيد زينوبي 3 55 03-12-16, 07:07 PM
آخر رد: ابراهيم النعيمي
  قاعدة البيانات لا تدعم اللغة العربية ؟؟؟؟؟؟ صبري زينوبي 13 211 03-12-16, 04:47 PM
آخر رد: صبري زينوبي
  حساب عدد الكلمات hano 2 111 29-11-16, 04:02 AM
آخر رد: silverlight
  تغيير قاعدة البيانات من اكسس الى sql hglogtd 2 108 26-11-16, 03:03 AM
آخر رد: hglogtd
  [كود] الحذف من قاعدة البيانات بواسطة كلمة سر المبرمج العبقري 5 126 23-11-16, 05:21 PM
آخر رد: hglogtd
  اضافه خليه في قاعدة البيانات بعد ربطها بVB2010 أحمد العرب 1 56 20-11-16, 10:56 PM
آخر رد: ابراهيم النعيمي

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


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