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


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  هل من الممكن العمل على قاعدة بيانات اكسل على الفيجوال بيسك خالد كامل1 4 81 24-03-24, 02:00 AM
آخر رد: خالد كامل1
  انشاء قاعدة بيانات من ملف سكربت strongriseman 5 500 17-02-24, 02:57 PM
آخر رد: strongriseman
  سؤال عن عملية حذف سجل من قاعدة البيانات assuhimi 3 249 11-02-24, 08:43 PM
آخر رد: assuhimi
  فلترة datagridview بدون قاعدة بيانات صالح عبدالله 3 295 02-02-24, 04:07 PM
آخر رد: صالح عبدالله
Photo [كود] مطلوب كود يستخدم الأوامر فقط لتحديث قاعدة بيانات بـ vb.net AhmedEissa 4 638 18-01-24, 11:40 PM
آخر رد: العتيق
  [VB.NET] إعادة استدعاء البيانات من قاعدة بيانات اكسس والاهم الصورة مبرمج صغير 1 1 273 13-01-24, 01:17 PM
آخر رد: مبرمج صغير 1
  [VB.NET] إضافة أو حذف حقل فى قاعدة بيانات باستخدام كود VB.net AmeenRashed 21 1,198 30-12-23, 03:47 PM
آخر رد: Taha Okla
Heart [C#.NET] حول بطئ عملية نقل البينات الكثيرة من أكسس إلى داتا غريد فيو بلال بلال 11 710 15-12-23, 07:47 AM
آخر رد: foad8920
  كيفية جعل من كتاب فيه هوامش ونص (قاعدة بيانات وواجهة فيجوال مثل الشاملة) ابو امجد 1 1,606 10-12-23, 12:53 PM
آخر رد: محمد بن عطية
  كيف يتم تعبئة قريد فيو بدون قاعدة بيانات بشكل مباشر؟ nowiglah 1 375 01-12-23, 10:57 PM
آخر رد: Taha Okla

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


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