تقييم الموضوع :
  • 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 أخرى
وشكراً جزيلاً لك
الرد }}}}
تم الشكر بواسطة: مبرمج بلا حدود


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [سؤال] أريد قاعدة بيانات بها تفسير القرآن الكريم tarek 0 54 09-09-17, 02:44 PM
آخر رد: tarek
  [VB.NET] أريد رفع قاعدة البيانات على النت والتعامل معها من أي جهاز tarek 4 154 05-09-17, 05:53 PM
آخر رد: سعود
  [SQL] رفع قاعدة البيانات والتعامل معها محمد محمود الغرياني 1 74 05-09-17, 02:51 PM
آخر رد: محمود بكرى
Lightbulb [مثال] تحويل التاريخ الميلادي الى هجري داخل الداتا جريد من قاعدة بيانات اكسس محمود بكرى 20 486 30-08-17, 02:37 PM
آخر رد: محمود بكرى
  كيفية ربط برنامج بين قاعدة بيانات محلية و اخرى موجودة على سيرفر nowaytorun 3 148 16-08-17, 12:14 AM
آخر رد: حريف برمجة
  [VB.NET] مشكلة التاريخ والوقت بين قاعدة البيانات والفيجول بيسك مبرمج مبتدا 13 317 12-08-17, 03:50 AM
آخر رد: سعود
Photo [سؤال] حل مشكلة في كود قاعدة البيانات المبرمج منتظر احمد 7 204 10-08-17, 08:18 PM
آخر رد: Amir_alzubidy
  قاعدة البيانات تضيف سجلات فارغه !! mo93 5 234 09-08-17, 04:34 AM
آخر رد: mo93
  [سؤال] كود تفريع الكومبوس بكس المحمل من قاعدة البيانات Marwan9990 0 71 27-07-17, 06:49 PM
آخر رد: Marwan9990
  استفسار بما يخص مشاركة قاعدة البيانات من نوع SQLServer hitman48 4 148 24-07-17, 10:56 PM
آخر رد: Adrees

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


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